Laplace算子
1812年,拉普拉斯(Laplace, 1749 – 1827)发表了重要的《概率分析理论》一书,在该书中总结了当时整个概率论的研究,论述了概率在选举审判调查、气象等方面的应用,导入「拉普拉斯变换」等。
拉普拉斯(Laplacian) 算子是 维欧几里德空间中的一个二阶微分算子,常用于图像增强领域和边缘提取。它通过灰度差分计算邻域内的像素。
算法基本流程
1)判断图像中心像素灰度值与它周围其他像素的灰度值,如果中心像素的灰度更高,则提升中心像素的灰度;反之降低中心像素的灰度,从而实现图像锐化操作;
2)在算法实现过程中,Laplacian算子通过对邻域中心像素的四方向或八方向求梯度,再将梯度相加起来判断中心像素灰度与邻域内其他像素灰度的关系;
3)最后通过梯度运算的结果对像素灰度进行调整。
Laplacian算子分为四邻域和八邻域,四邻域是对邻域中心像素的四个方向求梯度,八邻域是对八个方向求梯度。
其中,Laplacian算子四邻域模板如下所示:
Laplacian算子的八邻域模板如下所示:
通过Laplacian算子的模板可以发现:
1)当邻域内像素灰度相同时,模板的卷积运算结果为0;
2)当中心像素灰度高于邻域内其他像素的平均灰度时,模板的卷积运算结果为正数;
3)当中心像素的灰度低于邻域内其他像素的平均灰度时,模板的卷积为负数。对卷积运算的结果用适当的衰弱因子处理并加在原中心像素上,就可以实现图像的锐化处理。
voidquick_opencv::laplacian_Demo(Mat&img) { Matsrc_gray; intkernel_size=3; constchar*window_name="Laplacian Demo"; cvtColor(img, src_gray, COLOR_RGB2GRAY); namedWindow(window_name, WINDOW_AUTOSIZE); Matdst, abs_dst; Laplacian(src_gray, dst, CV_16S, kernel_size); convertScaleAbs(dst, abs_dst); imshow(window_name, abs_dst); }