zoukankan      html  css  js  c++  java
  • Canny边缘检测

    Canny边缘检测分为四步:

    1、图像降噪:使用高斯滤波器,平滑图像,滤除噪声,噪声是灰度值变化较大的部分,容易被识别为噪声

    2、计算图像梯度:图像的梯度即为图像的灰度值的变化最快的地方,梯度的模即为方向导数的最大值(将图像看作函数),边缘也是灰度值变化最快的地方

    3、非极大值抑制:将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点。

    4、应用双阈值来确定真实和潜在的边缘:通过非极大值抑制后,仍然有很多的可能边缘点,进一步的设置一个双阈值,即低阈值(low),高阈值(high)。灰度变化大于high的,设置为强边缘像素,低于low的,剔除。在low和high之间的,如果与边界相连则保留,否则丢弃。

    图像梯度解释非常好的博客:https://blog.csdn.net/saltriver/article/details/78987096

    img_l = cv2.Canny(img1, 50, 150)
    img_r = cv2.Canny(img1, 200, 300)
    
    
    img = np.hstack((img_l, img_r))
    cv2.imshow('img', img)
    
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    Java反射理解
    Object的wait和Thread的sleep
    Android媒体解码MediaCodec,MediaExtractor
    图片加载AsyncTask并发问题
    LruCache缓存机制
    Android高效加载大图
    Android Studio编写运行测试纯java代码可带main()函数
    APP支付宝登录第三方授权如何签约入口在哪里
    Xcode使用HTTP配置
    OC编码问题输出中文
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15256613.html
Copyright © 2011-2022 走看看