Python教程

OPENCV FOR PYTHON 学习笔记 - 图像梯度 Laplacian算子

本文主要是介绍OPENCV FOR PYTHON 学习笔记 - 图像梯度 Laplacian算子,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Laplacian算子:类似于二阶sobel导数。实际上,在opencv中通过调用sobel算子来计算拉普拉斯算子。

Laplace函数实现的方法:先用Sobel 算子计算二阶 x 和 y 导数,再求和。

应用层面,我们先看与一下该函数的原型:

dst = cv2.Laplacian(src, ddepth[, dst[, ksize[, scale[, delta[, borderType]]]]])

  

测试代码如下:

import cv2 as cv

img = cv.imread("lena.jpg",cv.IMREAD_UNCHANGED)
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_TRIANGLE)
cv.namedWindow("binary",cv.WINDOW_AUTOSIZE)
cv.imshow("binary",binary)

laplacian = cv.Laplacian(binary,cv.CV_64F);
laplacian = cv.convertScaleAbs(laplacian);
cv.namedWindow("laplacian",cv.WINDOW_AUTOSIZE)
cv.imshow("laplacian",laplacian)

cv.waitKey(0)
cv.destroyAllWindows()

 

拉普拉斯对噪声敏感,会产生双边效果,但是不能检测出边的方向。并且它不直接用于边的检测,只起辅助的角色,检测一个像素是在边的亮的一边还是暗的一边利用零跨越,确定边的位置。

这篇关于OPENCV FOR PYTHON 学习笔记 - 图像梯度 Laplacian算子的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!