OpenCV-python学习笔记(六)——梯度算子,边缘检测和轮廓提取

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

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
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值