基本概念
Laplacian運算元是n維歐幾里德空間的一個二階微分運算元,定義為梯度grad的散度div,因此如果f是二階可微的函式,則其定義為
計算拉普拉斯變換:Laplacian()
void Laplacian( InputArray src,// 輸入影象,及源影象,Mat類即可,且須為單通道8點陣圖像
OutputArray dst, // 輸入的邊緣影象,需要和源圖片有一樣的尺寸和通道數
int ddepth,// 目標影象的深度
int ksize = 1,
double scale = 1,
double delta = 0,
int borderType = BORDER_DEFAULT
);
函式引數的詳解
程式碼示例:
Mat im;
UIImageToMat(image1, im);
if (im.empty()) {
return;
}
Mat grayLap,abs_dst;
// 使用高斯濾波消除噪聲
GaussianBlur(im, im, cv::Size(3,3), 0);
// 轉換為灰度圖
cvtColor(im, grayLap, COLOR_RGBA2GRAY);
// 使用Lapiacian函式
Laplacian(grayLap, dst, 5);
// 計算絕對值,並將結果轉換為8位
convertScaleAbs(dst, abs_dst);
self.secondImageView.image = MatToUIImage(abs_dst);
效果