文章目录
gradients and edge detection梯度和边缘检测
边缘检测,就是用数学方法找出一幅图像中像素值突变的点。
第一件事,就是找出灰度图像中的梯度,在x方向和y方向中找出可能有边缘的区域。
接着我们会使用canny边缘检测,包括图像降噪,找到图像梯度(利用在水平和竖直方向上的sobel核),非最大值抑制non-maximum suppresion,和滞后阈值hysteresis thresholding。
1 laplacian拉普拉斯算子
# 注意从黑向白映射是一个正的斜坡函数,但从白向黑映射是一个负的斜坡函数
# 所以需要用cv2.CV_64F这种格式
lap = cv2.Laplacian(image, cv2.CV_64F)
lap = cp.uint8(np.absolute(lap))
cv2.imshow("Laplacian", lap)

2 sobel算子
# 水平梯度
sobelX = cv2.Sobel(image, cv2.CV_64F, 1, 0)
sobelX = np.uint8(np.absolute(sobelX))
cv2.imshow("Sobel X", sobelX)
# 垂直梯度
sobelY = cv2.Sobel(image, cv2.CV_64F, 0, 1)
sobelY = np

本文介绍了OpenCV-Python在图像处理中的梯度和边缘检测应用,包括拉普拉斯算子、Sobel算子和Canny边缘检测器。Canny检测涉及滤波、梯度计算、边缘抑制和阈值处理。同时,文章还探讨了如何通过轮廓提取技术来数硬币和裁切图像中的目标物体。
最低0.47元/天 解锁文章
4999





