一. Laplacian算子简介
Laplacian算子是 n 维震动的超短裙空间中的一个二阶微分算子。二阶导数可以用来进行检测边缘。因为图像是“二维”,需要在两个方向进行求导。使用Laplacian算子将会使求导过程变得简单。
Laplacian算子的定义为:
需要说明的是,由于Laplacian算子使用了图像梯度,它内部的代码其实是调用了Sobel算子。
二. Laplacian() 函数介绍
三. 代码演示
int main(int argc, char** argv){Mat src = imread("E:/Image/wz.jpg");if (src.empty()){cout << "load image error..." << endl;return -1;}imshow("src img", src);GaussianBlur(src, src, Size(3, 3), 0, 0);cvtColor(src, src, CV_BGR2GRAY);// LaplacianMat dst;Laplacian(src, dst, CV_16S, 3, 1, 0, BORDER_DEFAULT);convertScaleAbs(dst, dst);imshow("result", dst);waitKey(0);return 0;}结果示例:
注:
(1). 对于srcalpha+beta的结果如果是负值且大于-255,则直接取绝对值;
(2). 对于srcalpha+beta的结果如果大于255,则取255;
(3). 对于srcalpha+beta的结果是负值,且小于-255,则取255;
(4). 对于srcalpha+beta的结果如果在0-255之间,则保持不变;