首页 理论教育 Canny边缘检测算法及示例

Canny边缘检测算法及示例

时间:2023-11-18 理论教育 版权反馈
【摘要】:Canny边缘检测是一种非常经典的边缘检测算法,早在1986年由John F.Canny提出。主要过程包括:平滑降噪、求图像梯度、非极大值抑制与滞后阈值,请看下面的示例:import numpy as npimport cv2image=cv2.imreadcv2. imshowblured=cv2.cvtColorblured=cv2.GaussianBlurcv2. imshowcanny=cv2.Cannycv2. imshowcv2. waitKey以上代码先将图像转换为灰度图,然后进行平滑操作,最后使用Canny算子进行边缘检测,检测结果如图3-17所示。图3-17Canny边缘检测示例图cv2. Canny()函数的第一个参数是输入图像。当图像的灰度梯度值高于maxVal时被认为是真的图像边缘,同时忽略掉那些低于minVal的边缘。

Canny边缘检测算法及示例

Canny边缘检测是一种非常经典的边缘检测算法,早在1986年由John F.Canny提出。主要过程包括:平滑降噪、求图像梯度、非极大值抑制与滞后阈值,请看下面的示例:

import numpy as np

import cv2

image=cv2.imread("lena.jpg")

cv2. imshow("image",image)

blured=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

blured=cv2.GaussianBlur(blured,(5,5),0)

cv2. imshow("Blurred",blured)(www.xing528.com)

canny=cv2.Canny(blured,30,150)

cv2. imshow("Canny",canny)

cv2. waitKey(0)

以上代码先将图像转换为灰度图,然后进行平滑操作,最后使用Canny算子进行边缘检测,检测结果如图3-17所示。

图3-17 Canny边缘检测示例图

cv2. Canny()函数的第一个参数是输入图像。第二和第三个分别是minVal和maxVal。当图像的灰度梯度值高于maxVal时被认为是真的图像边缘,同时忽略掉那些低于minVal的边缘。如果介于两者之间的梯度值,还有根据这个点是否与某个已经被确定为真正的边缘相连,如果相连就判断其为边缘点,反之不是。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈