美文网首页
1.13 openCV-python Canny图像边缘检测

1.13 openCV-python Canny图像边缘检测

作者: wangsb_2020 | 来源:发表于2020-04-06 16:02 被阅读0次
    openCV中的Canny边缘检测
    # Canny 边缘检测是一种非常流行的边缘检测算法,是John F.Canny 在1986 年提出的。它是一个有很多步构成的算法。
    # 第一步:由于边缘检测很容易受到噪声影响,所以第一步是使用5x5的高斯滤波器去除噪声
    # 第二步:计算图像梯度
    # 第三步:非极大值抑制,在获得梯度的方向和大小之后,应该对整幅图像做一个扫描,去除那些非边界上的点。对每一个像素进行检查,看这个点的梯度是不是周围具有相同梯度方向的点中最大的.
    # 第四步:滞后阈值,现在要确定那些边界才是真正的边界。这时我们需要设置两个阈值:minVal 和maxVal。当图像的灰度梯度高于maxVal 时被认为是真的边界,那些低于minVal 的边界会被抛弃。如果介于两者之间的话,就要看这个点是否与某个被确定为真正的边界点相连,如果是就认为它也是边界点,如果不是就抛弃。
    # Canny边界检测:在OpenCV 中只需要一个函数:cv2.Canny(),就可以完成以上几步。
    
    import cv2.cv2
    import numpy as np
    import matplotlib.pyplot as plt
    img = cv2.imread('lufei.jpg')
    edges = cv2.Canny(img,100,200)
    
    cv2.imshow('Original', img)
    cv2.imshow('Edge Image', edges)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    
    image.png

    相关文章

      网友评论

          本文标题:1.13 openCV-python Canny图像边缘检测

          本文链接:https://www.haomeiwen.com/subject/ybsbphtx.html