边缘检测算法及各自优缺点

边缘提取其实也是一种滤波,不同的算子有不同的提取效果。比较常用的方法有三种,Sobel算子,Laplacian算子,Canny算子。

Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边缘定位不是很准确,图像的边缘不止一个像素;当对精度要求不是很高时,是一种较为常用的边缘检测方法。

Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。

Laplacian算子法对噪声比较敏感,所以很少用该算子检测边缘,而是用来判断边缘像素视为与图像的明区还是暗区。拉普拉斯高斯算子是一种二阶导数算子,将在边缘处产生一个陡峭的零交叉, Laplacian算子是各向同性的,能对任何走向的界线和线条进行锐化,无方向性。这是拉普拉斯算子区别于其他算法的最大优点。

边缘检测算法:https://blog.csdn.net/xiahn1a/article/details/42141429

使用一阶微分算子提取边缘流程:

1. 使用Prewitt或Sobel算子对图像进行卷积;

2. 将梯度幅值大于阈值的点标记为边缘;

3. (optional)将边缘细化为一个像素宽度。

1、Sobel边缘检测算法

https://www.cnblogs.com/herenzhiming/articles/6526741.html

2、Canny边缘检测算法的处理流程

https://www.cnblogs.com/techyan1990/p/7291771.html

Canny边缘检测算法可以分为以下5个步骤:

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

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

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

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

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

非极大值抑制

非极大值抑制是一种边缘稀疏技术,非极大值抑制的作用在于“瘦”边。对图像进行梯度计算后,仅仅基于梯度值提取的边缘仍然很模糊。对于标准3,对边缘有且应当只有一个准确的响应。而非极大值抑制则可以帮助将局部最大值之外的所有梯度值抑制为0,对梯度图像中每个像素进行非极大值抑制的算法是:

1)        将当前像素的梯度强度与沿正负梯度方向上的两个像素进行比较。

2)        如果当前像素的梯度强度与另外两个像素相比最大,则该像素点保留为边缘点,否则该像素点将被抑制。

通常为了更加精确的计算,在跨越梯度方向的两个相邻像素之间使用线性插值来得到要比较的像素梯度,现举例如下:

如图3-2所示,将梯度分为8个方向,分别为E、NE、N、NW、W、SW、S、SE,其中0代表00~45o,1代表450~90o,2代表-900~-45o,3代表-450~0o。像素点P的梯度方向为theta,则像素点P1和P2的梯度线性插值为:

双阈值检测

在施加非极大值抑制之后,剩余的像素可以更准确地表示图像中的实际边缘。然而,仍然存在由于噪声和颜色变化引起的一些边缘像素。为了解决这些杂散响应,必须用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素,可以通过选择高低阈值来实现。如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制。阈值的选择取决于给定输入图像的内容。

双阈值检测的伪代码描写如下:

抑制孤立低阈值点

到目前为止,被划分为强边缘的像素点已经被确定为边缘,因为它们是从图像中的真实边缘中提取出来的。然而,对于弱边缘像素,将会有一些争论,因为这些像素可以从真实边缘提取也可以是因噪声或颜色变化引起的。为了获得准确的结果,应该抑制由后者引起的弱边缘。通常,由真实边缘引起的弱边缘像素将连接到强边缘像素,而噪声响应未连接。为了跟踪边缘连接,通过查看弱边缘像素及其8个邻域像素,只要其中一个为强边缘像素,则该弱边缘点就可以保留为真实的边缘。

抑制孤立边缘点的伪代码描述如下:

3、Laplacian算子(二阶微分算子)

边缘检测算法及各自优缺点相关推荐

  1. 基于python的摄像头数据获取以及边缘检测算法实现

    工程说明:   本设计是基于python的图像检测与边缘处理算法测试,旨在于了解基本边缘检测算法功能实现效果,为后期硬件移植做好准备.后期硬件实现方案暂时想法为基于ZYNQ的视觉检测与人脸识别,以及后 ...

  2. OpenCV+python:Canny边缘检测算法

    1,边缘处理 图像边缘信息主要集中在高频段,通常说图像锐化或检测边缘,实质就是高频滤波.我们知道微分运算是求信号的变化率,具有加强高频分量的作用. 在空域运算中来说,对图像的锐化就是计算微分.由于数字 ...

  3. 机器视觉边缘检测算法详解

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 边缘检测相关算法的步骤如下: 1.滤波: 边缘检测算法主要是基于图 ...

  4. 图像像素点赋值_医学图像处理教程(五)——医学图像边缘检测算法

    今天将给大家分享医学图像常见两种图像边缘检测算法. 1.Sobel算子操作 Sobel算子的思想,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同 ...

  5. 【Matlab 图像】边缘检测算法及效果演示

    [Matlab 图像]边缘检测算法及效果演示 边缘检测 检测图像中的边缘 Matlab 代码 代码效果如下 边缘算法:robert 边缘算法:sobel prewitt 边缘算法:laplacian ...

  6. Canny边缘检测算法

    1. 写在前面 最近在做边缘检测方面的一些工作,在网络上也找了很多有用的资料,感谢那些积极分享知识的先辈们,自己在理解Canny边缘检测算法的过程中也走了一些弯路,在编程实现的过程中,也遇到了一个让我 ...

  7. 【算法随记一】Canny边缘检测算法实现和优化分析。

    以前的博文大部分都写的非常详细,有很多分析过程,不过写起来确实很累人,一般一篇好的文章要整理个三四天,但是,时间越来越紧张,后续的一些算法可能就以随记的方式,把实现过程的一些比较容易出错和有价值的细节 ...

  8. Sobel边缘检测算法verilog实现及仿真

    实验verilog语言对sobel边缘检测算法进行设计 实验modelsim仿真工具进行仿真,程序和仿真截图如下图所示: 1.程序截图: 2.仿真截图: module edge_judge ( clk ...

  9. canny边缘检测算法 opencv_OpenCV-Python Canny边缘检测 | 十九

    目标 在本章中,我们将学习 Canny边缘检测的概念 OpenCV函数: cv.Canny() 理论 Canny Edge Detection是一种流行的边缘检测算法.它由John F. Canny发 ...

最新文章

  1. 蓝桥杯-答疑-java
  2. 仅仅是又多了一本设计书吗 《软件框架设计的艺术》序
  3. 将FeatClass属性表高效率转换成DataTable
  4. nssl1149,jzoj5455-拆网线【贪心】
  5. JAVA翻译官_Java开发笔记(三)Java帝国的特种官吏
  6. oracle pl/sql 包
  7. plc维修入门与故障处理实例_13个浮筒液位计维修实例助你快速解决现场故障问题...
  8. 2022年 12 款最佳软件开发工具
  9. 客户端的gzip解压
  10. win7磁盘清理_电脑磁盘已满怎么清理?磁盘清理的注意事项有哪些?
  11. 物联网网络层安全需求
  12. 阿里云服务器安全组宝塔端口8888开放教程
  13. win10系统 Windows 资源保护找到了损坏文件 无法修复的有效解决方法
  14. 本地差分隐私 随机响应_本地化差分隐私:如何面对非可信的世界
  15. 回溯算法-数独(计算器)
  16. 论文阅读:Semantic Aware Attention Based Deep Object Co-segmentation(ACCV2018)
  17. Git 和 GitHub 快速入门
  18. 树莓派GPIO 基础(一)
  19. 计算机和人脑在线阅读,人脑与电脑
  20. 小学生python编程写游戏_小学生开始学Python,开发AI的首选编程语言:推荐一波Python书单...

热门文章

  1. Linux C编程--打开和关闭流
  2. 高考成绩等位分查询2021,等位分查询(等位分查询系统)
  3. 多线程顺序消费MySQL数据_关于MQ的几件小事(五)如何保证消息按顺序执行
  4. min3d 引擎学习笔记之一
  5. mysql select 所有表_怎样用SQL语句查询一个数据库中的所有表
  6. 华为鸿蒙系统手机销量,两个品牌助力华为新生,但最终会是谁拯救谁
  7. s7edge出现android停止,三星S7 Edge升级安卓7.0出现了这个问题!
  8. console口有几个vlan_windows7 下如何通过consle线配置交换机、路由器?
  9. 隔板都被拉去做核酸了?
  10. 皮一皮:别人都那么努力,你还有什么理由不努力...