一、拉普拉斯算子概念及其推导
索贝尔算子是模拟一阶导数,一阶导数越大的地方说明变化越剧烈,越有可能是边缘。
但是如果我们对f(t)求二阶导数呢?
可以发现边缘处的二阶导数 = 0,因此,我们可以利用这一特性去寻找图像的边缘,但是,需要注意:二阶导数为0的位置也可能是无意义的位置。(一般为噪声)
以拉普拉斯算子推导过程
这样就得到了拉普拉斯算子的卷积核,即卷积模板。
二、拉普拉斯算子在Python中的使用
使用API---Laplacian(src,ddepth[,dst[,ksize[,scale[,delta[,boredType]]]])
1) 可以同时求两个方向的边缘.
2) 对噪声敏感,一般需要先进行去噪再调用拉普拉斯.
示例代码如下:
import cv2
import numpy as np
img = cv2.imread("chess.png")
dst = cv2.Laplacian(img, -1, ksize=3)
cv2.imshow("img", np.hstack((img, dst)))
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果如下: