图像边缘

图像边缘是图像最基本的特征,边缘即图像局部不连续性(突变处),例如灰度级的突变、颜色的突变、纹理结构的突变等。边缘检测的方法绝大部分可以分为两类:

  • 基于查找一类:通过寻找图像一阶导数中的最大值和最小值来检测边界,通常是将边界定位在梯度最大的方向。
  • 基于零穿越的一类:通过寻找图像二阶导数零穿越来寻找边界,通常是laplacian过零点或者非线性差分表示过零点。

一阶导数的边缘算子

Roberts算子

Roberts算子是一种利用局部交叉差分寻找边缘的算子,常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。
优点:从图像处理的实际效果来看,边缘定位较准,对噪声敏感。适用于边缘明显且噪声较少的图像分割。

缺点:提取的边缘线条较粗。

Prewitt算子

Prewitt算子采用 3x3 模板对区域内的像素值进行计算,其原理是利用特定区域内像素灰度值产生的差分实现边缘检测,而Robert算子的模板为 2x2 ,故Prewitt算子的边缘检测结果在水平方向和垂直方向均比Robert算子更加明显。Prewitt算子适合用来识别噪声较多、灰度渐变的图像。

优点:Prewitt算子对噪声有抑制作用,抑制噪声的原理是通过像素平均。

缺点:prewitt算子没有考虑相邻点的距离远近对当前像素点的影响。

Sobel算子

Sobel算子在Prewitt算子的基础上增加了权重的概念,认为相邻点的距离远近对当前像素点的影响是不同的,距离越近的像素点对应当前像素的影响越大,从而实现图像锐化并突出边缘轮廓。因为Sobel算子结合了高斯平滑和微分求导(分化),因此结果会具有更多的抗噪性,当对精度要求不是很高时,Sobel算子是一种较为常用的边缘检测方法,该算子用于计算图像明暗程度近似值,根据图像边缘旁边明暗程度把该区域内超过某个数的特定点记为边缘。

优点:由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响,边缘定位效果不错。Sobel算子对于象素的位置的影响做了加权,与Prewitt算子、Roberts算子相比因此效果更好。

缺点:但检测出的边缘容易出现多像素宽度。

二阶微分的边缘算子

与一阶微分算子相比,二阶微分算子的边缘定位能力更强。

Laplacian 算子

Laplacian算子是一种各向同性算子,不能检测出边的方向。Laplace算子对孤立象素的响应要比对边缘或线的响应要更强烈,因此只适用于无噪声图象。存在噪声情况下,使用Laplacian算子检测边缘之前需要先进行低通滤波。所以,拉普拉斯算子一般不会用于边的检测,而是常用来判断边缘像素位于图像的明区或暗区。

Canny步骤:

  1. 用高斯滤波器平滑图像:边缘检测算子受噪声的影响都很大。那么,我们第一步就是想到要先去除噪声,因为噪声就是灰度变化很大的地方,所以容易被识别为伪边缘。
  2. 用一阶偏导有限差分计算梯度幅值和方向,例如 Sobel
  3. 对梯度幅值进行非极大值抑制:sobel算子检测出来的边缘太粗了,我们需要抑制那些梯度不够大的像素点,只保留最大的梯度,从而达到瘦边的目的。通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点。将有多个像素宽的边缘变成一个单像素宽的边缘。即“胖边缘”变成“瘦边缘”。
  4. 用双阈值算法检测和连接边缘:通过非极大值抑制后,仍然有很多的可能边缘点,进一步的设置一个双阈值,即低阈值(low),高阈值(high)。灰度变化大于high的,设置为强边缘像素,低于low的,剔除。在low和high之间的设置为弱边缘。对每一个弱边缘进一步判断,如果其领域内有强边缘像素,保留,如果没有,剔除。

边缘检测算子之间的优劣相关推荐

  1. 利用Canny边缘检测算子进行边缘检测的原理及OpenCV代码实现

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 Canny算子是John Canny在1986年 ...

  2. python 视觉技术_python+opencv实现机器视觉基础技术(边缘提取,图像滤波,边缘检测算子,投影,车牌字符分割)...

    机器视觉是人工智能正在快速发展的一个分支.简单说来,机器视觉就是用机器代替人眼来做测量和判断.它是一项综合技术,包括图像处理.机械工程技术.控制.电光源照明.光学成像.传感器.模拟与数字视频技术.计算 ...

  3. Halcon —— 边缘检测算子详解

    一.算子介绍 1.1 种类 halcon内常用的边缘检测算子包括如下几种: 1.edges_image: 提取2D 图像边缘 2.edges_sub_pix:提取2D图像亚像素边缘 3.edges_o ...

  4. 【opencv】19.图像边缘检测算子数学原理、像素一二阶导数的意义

    1.像素一二阶导数的意义 下面导数是数学中的定义 一阶导数定义: { f ′ ( x ) = lim ⁡ Δ x → 0 f ( x + Δ x ) − f ( x ) Δ x f ′ ( x ) = ...

  5. Roberts、Prewitt、Sobel、Laplacian、LoG 和 Canny 边缘检测算子(MATLAB自写函数实现)

    文章目录 Roberts.Prewitt.Sobel.Laplacian.LoG 和 Canny 边缘检测算子(MATLAB自写函数实现) 1理论 1.1 知识引入 1.1.1 图像边缘边缘[1] 1 ...

  6. 小波变换 边缘检测 matlab,边缘检测算子和小波变换提取图像边缘【matlab】

    Roberts边缘检测算子:根据一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差. 小波变换的方法比较适用于展现夹带在正常信号中的瞬间反常现象,具有方向敏感性.所以可以边缘检 ...

  7. 改进边缘检测算子----Marr-Hildreth算法

    边缘检测的改进: 一.边缘检测方法是以使用较小的算则为基础的, Marr和Hildreth证明了:(1)灰度变化与图像尺寸无关,因此他们的检测要求使用不同尺寸的算子: (2)灰度的突然变化会在一阶导数 ...

  8. NNDL 实验六 卷积神经网络(1)卷积 边缘检测之传统边缘检测算子和基于pytorch的Canny边缘检测

    文章目录 卷积神经网络(Convolutional Neural Network,CNN) 5.1 卷积 5.1.1 二维卷积运算 5.1.2 二维卷积算子 5.1.3 二维卷积的参数量和计算量 5. ...

  9. 图像处理常用边缘检测算子总结

    不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像.需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界 ...

最新文章

  1. sqlserver2000换成mysql_将Microsoft SQL Server 2000数据库转换成MySQL数据库
  2. 成功当选2014年度MVP
  3. PHP 防XSS跨站攻击
  4. 极限与连续知识点总结_高数上知识点期末复习 极限、连续、间断点(一)
  5. c语言深度剖析第三版pdf_入门到入坟,蕴含全网最强知识点3283页笔记、pdf教程,活到老,学到老...
  6. Llinux 磁盘配额的搭建和常规问题解答
  7. Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions 思维 + 根号数
  8. WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)
  9. seajs常用API整理
  10. Python自动化运维开发----基础(八)字符串
  11. PTA5-16 一元多项式求导 (20分)
  12. 计算机无法上网修复工具,网络异常修复工具,连接后无法上网修复方式
  13. 设计没有标准,只有目标
  14. 【CF1312E】Array Shrinking(dp)
  15. 实部和虚部高斯变量瑞利衰落matlab,瑞利衰落信道的matlab仿真.doc
  16. 使用qt制作License(原理)
  17. 音视频处理入门基础知识(一)
  18. 黑苹果双系统安装教程macOS High Sierra 10.13.x
  19. 计算机页面优盘页面分开,如何使用老毛桃winpe从电脑分区中拆分出一个空闲分区?...
  20. animate.css在vue中进行路由切换时的转场动画

热门文章

  1. 耀之阳电商:店铺权重的优化提升
  2. AXURE RP EXTENSION For Chrome安装与修复
  3. 个人感觉很不错的几个好玩的、实用的Github项目推荐
  4. 只有程序员才懂的幽默(转)
  5. java简介(Java简介英文)
  6. 官方教程 Redshift 05 AOVs
  7. Pandas | value_counts() 的详细用法
  8. 如何实现局域网架设BT服务器
  9. Dynatrace创新主管战略联盟副总裁Alois Reitbauer:数字化性能管理的未来
  10. 开源全景插件 Photo Sphere Viewer