九种边缘检测算法_边缘检测和边缘提取

九种边缘检测算法_边缘检测和边缘提取0.绪论图像边缘是图像的重要特征,是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素集合。图像的边缘部分集中了图像的大部分信息,一幅图像的边缘结构与特点往往是决定图像特质的重要部分。图像边缘的另一个定义是指其周围像素灰度变化不连续的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间,因此,边缘是图像分割、图像理解及图像识别的重要特征。图像边缘检测主要用于增强图像中的轮廓边缘、细节以及灰度跳变部分,形成完整的物体边界,达到将物体从图像中分离出来或将表

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

0. 绪论

图像边缘是图像的重要特征,是图像中特性(如像素灰度、纹理等)分布的不连续处,图像周围特性有阶跃变化或屋脊状变化的那些像素集合。图像的边缘部分集中了图像的大部分信息,一幅图像的边缘结构与特点往往是决定图像特质的重要部分。图像边缘的另一个定义是指其周围像素灰度变化不连续的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间,因此,边缘是图像分割、图像理解及图像识别的重要特征。
图像边缘检测主要用于增强图像中的轮廓边缘、细节以及灰度跳变部分,形成完整的物体边界,达到将物体从图像中分离出来或将表示同一物体表面的区域检测出来的目的。目前为止最通用的方法是检测亮度值的不连续性,用一阶和二阶导数检测的。

1.边缘检测方法

1.1 微分法

微分法的目的是利用微分运算求信号的变化率,加强高频分量的作用,从而使轮廓清晰。遵循如下两个基本准则之一:找到亮度的一阶导数在幅度上比指定的阈值大的地方;找到亮度的二阶导数有零交叉的地方。

1.2 差分边缘检测方法

利用像素灰度的一阶导数算子在灰度迅速变化处得到高值来进行奇异点的检测。它在某一点的值就代表该点的边缘强度,通过对这些值设置阈值来进一步得到边缘图像。差分边缘检测方法是最原始、最基本的方法。但要求差分方向与边缘方向垂直,这就需要对图像的不同方向(一般为垂直方向、水平方向和对角线方向)都进行差分运算,增加了实际运算的繁琐性,目前很少采用。

1.3 Roberts 边缘检测算子

Roberts边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差,即:

在这里插入图片描述
然后根据式(1.9.2)计算出Roberts的梯度幅度值:
在这里插入图片描述
它们的卷积算子为:
在这里插入图片描述
Roberts检测器较为简单,但具有一些功能上的限制,例如,它是非对称的,而且不能检测诸如45°倍数的边缘。然而,它还是经常用于硬件实现中,因为它既简单又快速。

1.4 Sobel 边缘检测算子

对数字图像的每个像素,考察它上下左右邻点灰度的加权差,与之接近的邻点的权大。据此,定义Sobel算子如下:
在这里插入图片描述
卷积算子为:
在这里插入图片描述
Sobel算子很容易在空间上实现,边缘检测效果较好,且受噪声的影响也较小。邻域增大抗噪性会更好,但计算量也会增大,得出的边缘也会相应变粗。Sobel算子会检测出许多伪边缘,边缘定位精度不够高,在精度要求不高时是一种较常用的边缘检测方法。

1.5 Prewitt 边缘检测算子

Prewitt 边缘检测算子模板如下:
在这里插入图片描述
图像中的每个像素都用这两个核作卷积,一个核对垂直边缘影响最大,另一个核对水平边缘影响最大。两个卷积的绝对值的最大值作为该点的输出值。不能简单的将小于0的值处理为0,这样会丢失信息。它比Sobel检测器在计算上要简单一些,但比较容易产生一些噪声。

1.6 拉普拉斯边缘检测算子

拉普拉斯边缘检测算子是一种二阶微分算子,与其它边缘检测方法的不同之处在于,该方法是一种各向同性的检测方法,即其边缘的增强程度与边缘的方向无关,从而可以满足不同走向的边缘锐化的要求。
定义如下:
在这里插入图片描述
几种常用的实现Laplace运算的检测模板如下:
在这里插入图片描述
拉普拉斯算子自身很少被直接用作边缘检测,因为二阶导数对噪声具有无法接受的敏感性,它的幅度会产生双边缘,而且它不能检测边缘的方向。然而,当与其它边缘检测技术组合使用时,拉普拉斯算子是一种有效的补充方法。例如,虽然它的双边缘使得它不适合直接用于边缘检测,但该性质可用于边缘定位。

1.7 Laplacian of a Gaussian(LoG)检测器

高斯函数
在这里插入图片描述
其中,r2=x2+y2,σ是标准偏差。这是一个平滑函数,若和一幅图像卷积,则会使图像变模糊。模糊程度由σ的值决定。该函数的拉普拉斯算子为:
在这里插入图片描述
求二阶导数是线性运算,所以用 对图像进行卷积与先用平滑函数对图像卷积再计算结果的拉普拉斯算子是一样的。这是LoG检测器最关键的概念,用 对图像卷积会产生两个效果:是图像变平滑(从而减少噪声);计算拉普拉斯算子,以便产生双边缘图像。然后,定位边缘就是找到两个边缘之间的零交叉。

1.8 Canny边缘检测器

Canny检测器的效果较好,更适合用于检测真正的弱边缘。Canny算子给出了一个好的边缘检测算子的3个指标:低失误率,即真正的边缘点尽可能提取,非边缘点尽可能不提取;高位置精度,检测的边缘应尽可能接近真实边缘;对每一个边缘点有唯一的响应,即得到单像素宽度的边缘。
在这里插入图片描述

1.9 基于小波的图像边缘检测

小波变换的优点是在时域和频域都有良好的局部特性,这一点可以用来进行图像的边缘检测。由于小波变换对奇异特性尤为敏感,使得它更适合检测图像的边缘和细节,对某一类小波,图像边缘对应于小波变换的局部模极大值,基于小波变换的模极大值边缘检测算法是较为典型的一类算法。
检测结果如图1.9.2所示。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218947.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 4个基本不等式的公式高中_不等式链(高中4个基本不等式链推导)

    4个基本不等式的公式高中_不等式链(高中4个基本不等式链推导)高中数学基本不等式链如下:算术平均数(arithmeticmean),又称均值,是统计学中最基本、最常用的一种平均指标,分为简单算术平均数、加权算术平均数。它主要.几个不等式联立起来,叫做不等式组即不等式链。用大于号“>”、小于号“在不等式中,有重要作用的抄几个基本不等式,串在一起,即:当a,b>0时,2ab/(a+b)<=根号ab<=(a+b)/2<=根号[(…

    2022年4月29日
    420
  • ffmpeg添加视频封面_ffmpeg提取波形文件

    ffmpeg添加视频封面_ffmpeg提取波形文件ffmpeg-ia.mp4-y-fimage2-frames1a.jpgffmpeg-i11.mp4-vframes1xx.jpgffmpeg-ia.mp4-r0.1frames_%04.pngconvert-backgroundwhite-flatten***.pdf***.png

    2025年6月14日
    0
  • Shell循环读取文件

    Shell循环读取文件注:部分概念介绍来源于网络方法1:while循环中执行效率最高,最常用的方法。functionwhile_read_LINE(){whilereadLINEdoecho$LINEdone<$FILENAME}注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。方法2:重定向法;管道法:cat$FILENAME|whilereadLINEfunctionWhile_read_LINE(){cat$FILENAME|..

    2022年7月24日
    7
  • pycharm多行代码同时注释、去除注释_解除注释的快捷键

    pycharm多行代码同时注释、去除注释_解除注释的快捷键1.单行多行注释快捷键:ctrl+/2.取消单行多行注释快捷键:ctrl+/

    2022年8月29日
    0
  • ip addr命令详解_linux带内ip

    ip addr命令详解_linux带内ipipaddr内容解释[root@w~]#ipaddr1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8scopehostlovalid_lftforeverpreferr

    2022年7月27日
    1
  • MySQL——事务(Transaction)详解

    MySQL——事务(Transaction)详解该博客详解MySQL中的事务一、事务定义Transaction事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同…

    2022年5月5日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号