当前位置:首页 > 炒股入门 > 详情

canny边缘检测算法(canny边缘检测算法流程)

2023-05-12 13:36:34 阅读(34) 评论(0) 炒股大本营
目标

在本章中,我们将学习

Canny边缘检测的概念OpenCV函数: cv.Canny()100理论

Canny Edge Detection是一种流行的边缘检测算法。它由John F. Canny发明

这是一个多阶段算法,我们将经历每个阶段。

降噪

由于边缘检测容易受到图像中噪声的影响,因此第一步是使用5x5高斯滤波器消除图像中的噪声。我们已经在前面的章节中看到了这一点。

查找图像的强度梯度

然后使用Sobel核在水平和垂直方向上对平滑的图像进行滤波,以在水平方向(Gx)和垂直方向(Gy)上获得一阶导数。从这两张图片中,我们可以找到每个像素的边缘渐变和方向,如下所示:

canny边缘检测算法(canny边缘检测算法流程)-炒股大本营

渐变方向始终垂直于边缘。将其舍入为代表垂直,水平和两个对角线方向的四个角度之一。

非极大值抑制
在获得梯度大小和方向后,将对图像进行全面扫描,以去除可能不构成边缘的所有不需要的像素。为此,在每个像素处,检查像素是否是其在梯度方向上附近的局部最大值。查看下面的图片:

canny边缘检测算法(canny边缘检测算法流程)-炒股大本营

点A在边缘(垂直方向)上。渐变方向垂直于边缘。点B和C在梯度方向上。因此,将A点与B点和C点进行检查,看是否形成局部最大值。如果是这样,则考虑将其用于下一阶段,否则将其抑制(置为零)。 简而言之,你得到的结果是带有“细边”的二进制图像。

磁滞阈值

该阶段确定哪些边缘全部是真正的边缘,哪些不是。为此,我们需要两个阈值minVal和maxVal。强度梯度大于maxVal的任何边缘必定是边缘,而小于minVal的那些边缘必定是非边缘,因此将其丢弃。介于这两个阈值之间的对象根据其连通性被分类为边缘或非边缘。如果将它们连接到“边缘”像素,则将它们视为边缘的一部分。否则,它们也将被丢弃。见下图:

canny边缘检测算法(canny边缘检测算法流程)-炒股大本营

边缘A在maxVal之上,因此被视为“确定边缘”。尽管边C低于maxVal,但它连接到边A,因此也被视为有效边,我们得到了完整的曲线。但是边缘B尽管在minVal之上并且与边缘C处于同一区域,但是它没有连接到任何“确保边缘”,因此被丢弃。因此,非常重要的一点是我们必须相应地选择minVal和maxVal以获得正确的结果。

在边缘为长线的假设下,该阶段还消除了小像素噪声。

因此,我们最终得到的是图像中的强边缘。

OpenCV中的Canny Edge检测

OpenCV将以上所有内容放在单个函数cv.Canny()中。我们将看到如何使用它。第一个参数是我们的输入图像。第二个和第三个参数分别是我们的minVal和maxVal。第三个参数是perture_size。它是用于查找图像渐变的Sobel内核的大小。默认情况下为3。最后一个参数是L2gradient,它指定用于查找梯度幅度的方程式。如果为True,则使com用上面提到的更精确的公式,否则使用以下函数:$Edge_Gradient ; (G) = |Gx| + |Gy|$。默认情况下,它为False。

import numpy as npimport cv2 as cvfrom matplotlib import pyplot as pltimg = cv.imread('messi5.jpg',0)edges = cv.Canny(img,100,200)plt.subplot(121),plt.imshow(img,cmap = 'gray')plt.title('Original Image'), plt.xticks([]), plt.yticks([])plt.subplot(122),plt.imshow(edges,cmap = 'gray')plt.title('Edge Image'), plt.xticks([]), plt.yticks([])plt.show()
附加资源Canny edge detector at Wikipedia:http://en.wikipedia.org/wiki/CannyedgedetectorCanny Edge Detection Tutorial:http://dasl.unlv.edu/daslDrexel/alumni/bGreen/www.pages.drexel.edu/weg22/cantut.html by Bill Green, 2002.练习编写一个小应用程序以找到Canny边缘检测,该检测的阈值可以使用两个跟踪栏进行更改。这样,您可以了解阈值的影响。

上一篇:赵长鹏被爆想减持Binance.US股权 盼降低美国监管压力

下一篇:鼻涕虫是(shi)怎么形成的或者从哪里来的(家里出现鼻涕虫的民间预示)

相关推荐

  • 剥好的(de)大蒜瓣怎么保存(剥好的大蒜瓣怎么保存好)

    剥好的(de)大蒜瓣怎么保存(剥好的大蒜瓣怎么保存好)

    东方网记者柏可林(lin)11月2日报道:近日,商务部印发(fa)《关于做好今冬明春蔬菜等生活(huo)必需品市场保供稳价(jia)工作的通知》,鼓励家庭根据需(xu)要储存一定数量的生(sheng)活必需品,满足日常生活(huo)和突发情况的需要。那么你知道怎(zen)样处理蔬果才能更持(chi)久保鲜吗?蒜蒜几乎是厨房中(zhong)必不可少的调味品,它(ta)…
    2023-05-12 阅读(31)
  • 比特币下穿2.7万、以太坊跌逼1770!美国地区银行危机再起

    比特币下穿2.7万、以太坊跌逼1770!美国地区银行危机再起

    比特币昨晚持续在27,500美元附近震荡多时候,于晚间08:30左右开始下跌,今(12)晨最低跌至26,702美元,截稿前多次挑战站回2.7万美元都以失败告终、现报26,874美元,近24小时2.26%。以太币(ETH)方面走势也大致雷同,清晨最低跌至1,772美元,来到4月初以来的低点,截稿前现报1,790美元。通膨稳步降温、但地区银行危机再起至于在美股方面…
    2023-05-12 阅读(31)
  • 三天快速减胸方法(3天瘦胸的快速方法)

    三天快速减胸方法(3天瘦胸的快速方法)

    原创内容,擅自搬运者必究!男人对于饱满胸肌的追求,就像女生追求饱满的翘臀一样。男人拥有结实的胸肌,是好身材的标志,是脱衣有肉的前提。坚持练胸的好处是非常多的,胸肌是身体的大肌群,坚持胸肌训练可以提升身体的基础代谢值,让你每天消耗更多卡路里,有效抑制脂肪堆积,让你更快瘦下来。练胸可以带动肩部、手臂肌群一起发展,…
    2023-05-12 阅读(24)
  • shouts怎么读(shouts怎么读英语)

    shouts怎么读(shouts怎么读英语)

    comOne day, a monkey rides his bike near the river. 一天,一只猴子在河边骑车。This time he sees a lion under a tree. The lion runs at him. He is afraid and falls into the river. 这时他看见树下有一只狮子,狮子向他跑来。他非常的害怕,掉进河里。He can’t swim. He shouts. The rabbit hears him. He jumps into the …
    2023-05-12 阅读(22)
  • word文档首行缩进两个字符(word文档首行缩进两字符在哪)

    word文档首行缩进两个字符(word文档首行缩进两字符在哪)

    中文段落的一个格式就是段落首行会有两个字的缩进,对应的就是四个英文的位置。当段落有很多的时候,敲空格真的很麻烦。今天就用常用的speedoffice来学习一下吧。方法1:定位到段落最前面,按Tab键,就可以缩进了。(注:不过这个方法也只能一段一段设置。)方法2:鼠标定位到需要缩进的段落,如果是多个段落,就全部选中,然后点击上方…
    2023-05-11 阅读(27)
  • 防止美债违(wei)约!Circle急换储备:USDC不再持有6月后到期美债

    防止美债违(wei)约!Circle急换储备:USDC不再持有6月后到期美债

    炒股大本营(www.dzyb.cn)讯:美国在(zai)今年1月触及31.4兆美元的债务上限(xian)后,美国财政部被迫启用特殊措施(shi),来防止债务违约,不过美国(guo)财政部长耶伦上周警告,美国(guo)财政部动用特殊会计手段来维持不超(chao)出债务上限的能力,最(zui)快恐将在6月初耗荆为了避免可能的美国债务违约,持有(you)大量美债储备的稳定币…
    2023-05-11 阅读(25)