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

九种边缘检测算法_边缘检测和边缘提取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所示。

在这里插入图片描述

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • DjangoRestFramework序列化完整图片url

    DjangoRestFramework序列化完整图片urlDRF图片默认序列化目录格式一般为media/xxx.png,但这不是url,没法直接访问,在前端还需要进行一次字符串拼接,十分麻烦。serializer=CategorySerializer(category)returnResponse(serializer.data,status=status.HTTP_200_OK)如上面的代码,此时如果CategorySerializ…

  • gb50174-2017电子信息系统机房设计规范发布时间_计算机机房设计标准GB50174

    gb50174-2017电子信息系统机房设计规范发布时间_计算机机房设计标准GB50174中国工程建设标准化协会信息通信专业委员会建标信通字[2009]03号GB50174《电子信息系统机房设计规范》贯标培训通…

  • Lombok插件的简介「建议收藏」

    Lombok插件的简介「建议收藏」Lombok插件的简介1Lombok引入2Lombok常见注解使用1@Data2@AllArgsConstructor3@NoArgsConstructor4@ToString5@EqualsAndHashCode6@Getter/@Setter7@Slf4j8@NonNull9@Value10@Builder11@Synchronized12@SneakyThrows13@Cleanup3Lombok原理4关于Lombok总结官网:https://projectlom

  • LoadRunner压力测试:详细操作流程「建议收藏」

    LoadRunner压力测试:详细操作流程「建议收藏」一、 录制脚本1.安装完毕后,创建脚本: 点击OK之后,会弹出网址,之后创建Action,每进一个页面添加一个Action,录制结束后,终止录制。 二、 修改脚本1.脚本参数化将登录的用户名密码进行动态化

  • shiro安全框架_漏洞利用及攻击框架

    shiro安全框架_漏洞利用及攻击框架一、Shiro漏洞原理ApacheShiro框架提供了记住我的功能(RemeberMe),用户登录成功后会生成经过加密并编码的cookie。cookie的key为RemeberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的在服务端接收cookie值时,按以下步骤解析:检索RemeberMecookie的值Base64解码使用ACE解密(加密密钥硬编码)进行反序列化操作(未作过滤处理)在调用反序列化的时候未进行任何过滤,导致

  • ORA-01017: invalid username/password; logon denied Oracle数据库报错解决方案一[通俗易懂]

    ORA-01017: invalid username/password; logon denied Oracle数据库报错解决方案一[通俗易懂]ORA-01017:invalidusername/password;logondenied错误(程序中的用户和密码无法登录,登录被拒)。Oracle11g版本初次安装使用报错:解决方法1创建新用户:打开sqlplus以系统身份登录:指令如下sys/managerassysdba;创建新用户:语法:createuser用户名identifiedb…

发表回复

您的电子邮箱地址不会被公开。

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