OpenCV Canny边缘检测

这篇博客介绍了Canny边缘检测算法,包括去噪、计算梯度、非极大值抑制和双阈值确定边缘等步骤。重点讲述了OpenCV中cv2.Canny()函数的应用,该函数用于实现Canny边缘检测,并详细解释了参数含义,如阈值和Sobel算子的孔径大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Canny边缘检测是一种使用多级边缘检测算法检测边缘的方法。

案例来源于傅老师。

Canny边缘检测分为如下几个步骤:

步骤1:去噪。噪声会影响边缘检测的准确性,因此首先要将噪声过滤掉。

步骤2:计算梯度的幅度与方向。

步骤3:非极大值抑制,即适当地让边缘“变瘦”。

步骤4:确定边缘。使用双阈值算法确定最终的边缘信息。

OpenCV提供了函数cv2.Canny()实现Canny边缘检测,具体为:

edges=cv2.Canny(image,threshold1,threshold2[,apertureSize[,L2gradient]])

threshold1:表示处理过程中的第一个阈值。

threshold2:表示处理过程中的第二个阈值。

apertureSize:表示Sobel算子的孔径大小。

L2gradient:为计算图像梯度幅度(gradient magnitude)的标识。其默认值为False。

案例:

import cv2
import numpy as np
def show(name,img):
    cv2.imshow(name,img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
img = cv2.imread("peppa.png",0)
#_____________#
MeidanImg = cv2.medianBlur(img,5)
CannyImg = cv2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wx_57556

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值