您好,欢迎来到独旅网。
搜索
您的当前位置:首页Python+OpenCV图像处理—— 边缘检测之 Canny算子(Sobel算子、 Laplacian算子、 Canny算子 、Scharr滤波器)

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务