图像边缘检测(Canny)

这篇具有很好参考价值的文章主要介绍了图像边缘检测(Canny)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Canny检测的流程

Canny检测主要是用于边缘检测

1)使用高斯滤波器,以平滑图像,滤除噪声。

 

2)计算图像中每个像素点的梯度强度和方向。

3)应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应

4)应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘

5)通过抑制孤立的弱边缘最终完成边缘检测。

注:

NMS(非极大值抑制):

  就是抑制不是极大值的元素,可以理解为局部最大搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。

  例如:

    行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口在包含或者大部分交                                                                                                    

    叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口

  算法:

    线性插值法

应用双阈值:大于maxval的设置为边界,

      处于maxval和minval中间 和边界点相连保留,其余舍去,

      小于minval 舍去

1 #cv2.Canny(src,minval,maxval)
2 #minval:最低阈值
3 #maxval:最高阈值
4 #阈值越低,图像越细致
5 canny1 = cv2.Canny(img,80,150)
6 canny2 = cv2.Canny(img,50,100)
7 res = np.hstack((canny1,canny2))
8 Cv_Show('res',res)

 文章来源地址https://www.toymoban.com/news/detail-421690.html

到了这里,关于图像边缘检测(Canny)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 我在Vscode学OpenCV 图像处理三(图像梯度--边缘检测【图像梯度、Sobel 算子、 Scharr 算子、 Laplacian 算子、Canny 边缘检测】)

    这里需要区分开边缘检测和轮廓检测 边缘检测并非万能,边缘检测虽然能够检测出边缘,但边缘是不连续的,检测到的边缘并不是一个整体。图像轮廓是指将边缘连接起来形成的一个整体,用于后续的计算。 OpenCV 提供了查找图像轮廓的函数 cv2.findContours(),该函数能够查找图

    2024年02月04日
    浏览(40)
  • python数字图像处理基础(五)——Canny边缘检测、图像金字塔、图像分割

    梯度是什么? 梯度就是变化的最快的那个方向 edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]]) 第一个参数是需要处理的原图像,该图像必须为单通道的灰度图; 第二个参数是阈值1; 第三个参数是阈值2。 原理步骤 1)使用高斯滤波器,以平滑图像,滤除噪

    2024年01月18日
    浏览(32)
  • OpenCV15-图像边缘检测:Sobel、Scharr、Laplace、Canny

    图像的边缘指的是图像中像素灰度值突然发生变化的区域,如果将图像中的每一行像素和每一列像素都描述成一个关于灰度值的函数,那么图像的边缘对应在灰度值函数中是函数值突然变大的区域。函数值得变化趋势可以用导数描述,当函数值突然变大时,导数也必然会变大

    2024年02月07日
    浏览(36)
  • 图像处理之canny边缘检测(非极大值抑制和高低阈值)

    Canny算子是John F.Canny 大佬在1986年在其发表的论文 《Canny J. A computational approach to edge detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986 (6): 679-698.》提出来的。 低错误率。所有边缘都应该被找到,并且应该没有伪响应。也就是检测到的边缘必须尽可能时真实的边缘

    2024年02月16日
    浏览(31)
  • 【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年02月03日
    浏览(25)
  • Python图像锐化及边缘检测(Roberts、Prewitt、Sobel、Lapllacian、Canny、LOG)

    目录 图像锐化概述 算法方法介绍  代码实现 效果展示 图像锐化 (image sharpening) 是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波

    2023年04月17日
    浏览(38)
  • python --opencv图像处理Canny算子边缘检测(Roberts算子、Prewitt算子、Sobel算子、Laplacian算子、Scharr 算子、 LOG 算子)

    边缘检测是基于灰度突变来分割图像的常用方法,其实质是提取图像中不连续部分的特征。目前常见边缘检测算子有差分算子、 Roberts 算子、 Sobel 算子、 Prewitt 算子、 Log 算子以及 Canny 算子等。 其中, Canny 算子是由计算机科学家 John F. Canny 于 1986 年提出的一种边缘检测算子

    2024年04月12日
    浏览(36)
  • 【canny边缘检测】canny边缘检测原理及代码详解

    本文通过介绍canny边缘检测原理与代码解析,希望能让大家深入理解canny边缘检测 canny边缘检测主要分为4个部分,本文分别从每一个部分进行解析并附代码。 图像降噪 梯度计算 非极大值抑制 双阈值边界跟踪 图像去噪是进行边缘检测的第一步,通过去噪可以去除图像中的一些

    2024年02月10日
    浏览(32)
  • Canny边缘检测算法

    Canny是目前最优秀的边缘检测算法之一,在传统机器学习算法当中,Canny是最优秀的算法,但是有深度学习的方法要比Canny好。Canny算法的目标是找到一个最优的边缘,其最优边缘的定义为: 好的检测:算法能够尽可能的标出图像中的实际边缘 好的定位:标识出的边缘要与实际

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包