拉普拉斯算子

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    拉普拉斯算子是二阶微分算子。

    我们知道,一维离散信号一阶微分公式如下:

    相应的,一维离散信号二阶微分公式如下:

    由于图像有x和y两个方向,因此图像信号属于二维离散信号。其在x,y两个方向的离散二阶微分公式如下:

    转换成卷积核表示如下:

    拉普拉斯算子_第1张图片               (1)

    这个卷积核(1)及其对应的离散二阶微分公式表示的是,图像特征变化的剧烈程度。这个变化程度与图像特征变化方向是相反的(可以从二阶微分图像分析得到),即如果图像特征变化程度先变大,再变小,则一阶微分有最大值,二阶微分由正值,过零后变为负值。此时,用该二阶微分卷积核同图像卷积后,并非锐化图像,而是模糊图像。同理,如果图像特征值变化程度先变小再变大,二阶微分由负值,过零后变为正值。同样卷积后,并非锐化图像,而是模糊图像。

    要想锐化图像,我们可以将卷积核(1)取反,得到如下卷积核(2):

拉普拉斯算子_第2张图片            (2)

    这样,将卷积核(2)在图像上滑动卷积后,特征值低的像素更加变低,特征值高的像素更加变高,从而使图像边缘更明显,图像锐化更好,图像更加清晰。

    卷积核(2)就是图像的基础拉普拉斯算子。该算子在x,y方向上同性(即,图像旋转90度,180度和270度,结果无关),如果要使得算子在45度方向上无关,可以使用如下更加精确的拉普拉斯算子:

拉普拉斯算子_第3张图片

    拉普拉斯算子卷积后得到的是图像特征的变化程度,应用中可以将卷积后的结果同原始图像相加,得到锐化后的结果图像。也可以直接使用如下卷积核同原始图像卷积,直接得到锐化后的结果图像:

拉普拉斯算子_第4张图片

    Opencv提供了拉普拉斯变换函数cv::Laplacian(),可以方便的进行拉普拉斯变换。

转载于:https://my.oschina.net/yepanl/blog/3040767

你可能感兴趣的:(python,人工智能,c/c++)