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