Python+OpenCV图像处理—— 边缘检测之 Canny算子(Sobel算子、 Laplacian算子、 Canny算子 、Scharr滤波器)

Python+OpenCV图像处理—— 边缘检测之 Canny算子

OpenCV边缘检测的一般步骤为:

滤波
增强
检测

常用的边缘检测的算子和滤波器有:

Sobel算子
Laplacian算子
Canny算子
Scharr滤波器

Canny算子

Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:
好的检测- 算法能够尽可能多地标识出图像中的实际边缘。
好的定位- 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。
最小响应- 图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。

算法步骤:

①高斯模糊 - GaussianBlur
  ②灰度转换 - cvtColor
  ③计算梯度 – Sobel/Scharr
  ④非最大信号抑制
  ⑤高低阈值输出二值图像

代码如下:

#Canny边缘提取
import cv2 as cv
def Canny_imag(image):
    blur= cv.GaussianBlur(image, (3, 3), 0)
    M = cv.cvtColor(blur, cv.COLOR_RGB2GRAY)
    # x = cv.Sobel(gray, cv.CV_16SC1, 1, 0) #x方向梯度
    # y = cv.Sobel(gray, cv.CV_16SC1, 0, 1) #y方向梯度
    # edge_output = cv.Canny(x, y, 50, 150)
    a = cv.Canny(M, 50, 150)
    cv.i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大胖东

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

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

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

打赏作者

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

抵扣说明:

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

余额充值