(三分钟)速览传统边缘检测算子

边缘检测的传统方法:

图像边缘是图像最基本的特征,所谓边缘(Edge) 是指图像局部特性的不连续性。灰度或结构等信息的突变处称之为边缘。例如,灰度级的突变、颜色的突变,、纹理结构的突变等。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。

图像的边缘有方向和幅度两种属性。边缘通常可以通过一阶导数或二阶导数检测得到。一阶导数是以最大值作为对应的边缘的位置,而二阶导数则以过零点作为对应边缘的位置。

边缘检测算子分类:

(1)一阶导数的边缘算子

通过模板作为核与图像的每个像素点做卷积和运算,然后选取合适的阈值来提取图像的边缘。常见的有Roberts算子、Sobel算子和Prewitt算子。

(2)二阶导数的边缘算子

依据于二阶导数过零点,常见的有Laplacian 算子,此类算子对噪声敏感。

(3)其他边缘算子

前面两类均是通过微分算子来检测图像边缘,还有一种就是Canny算子,其是在满足一定约束条件下推导出来的边缘检测最优化算子。Canny边缘检测算子算是传统边缘检测中最受欢迎的边缘检测算子。

(三分钟)速览传统边缘检测算子_第1张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第2张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

图像锐化:

(三分钟)速览传统边缘检测算子_第3张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第4张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第5张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

各类算子的优点:

(1)Roberts 算子

Roberts算子利用局部差分算子寻找边缘,边缘定位精度较高,但容易丢失一部分边缘,不具备抑制噪声的能力。该算子对具有陡峭边缘且含噪声少的图像效果较好,尤其是边缘正负45度较多的图像,但定位准确率较差;

(2)Sobel 算子

Sobel算子考虑了综合因素,对噪声较多的图像处理效果更好,Sobel 算子边缘定位效果不错,但检测出的边缘容易出现多像素宽度。

(3) Prewitt 算子

Prewitt算子对灰度渐变的图像边缘提取效果较好,而没有考虑相邻点的距离远近对当前像素点的影响,与Sobel 算子类似,不同的是在平滑部分的权重大小有些差异;

(4)Laplacian 算子

Laplacian 算子不依赖于边缘方向的二阶微分算子,对图像中的阶跃型边缘点定位准确,该算子对噪声非常敏感,它使噪声成分得到加强,这两个特性使得该算子容易丢失一部分边缘的方向信息,造成一些不连续的检测边缘,同时抗噪声能力比较差,由于其算法可能会出现双像素边界,常用来判断边缘像素位于图像的明区或暗区,很少用于边缘检测;

(三分钟)速览传统边缘检测算子_第6张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第7张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第8张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

Canny算子检测步骤:

(三分钟)速览传统边缘检测算子_第9张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第10张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第11张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

(三分钟)速览传统边缘检测算子_第12张图片

编辑切换为居中

添加图片注释,不超过 140 字(可选)

附赠一个参考博客:https://www.cnblogs.com/xyf327/p/14745908.html

边缘检测的深度学习方法:

参考链接:基于深度学习的图像边缘和轮廓提取方法介绍 - 知乎

总结:本文总结了边缘检测的相关内容,其中图像锐化和图像增强的内容属于扩展的内容,如果广大读者感兴趣可以自行阅读。然后针对边缘检测,本文介绍的是传统算法,其主要和一阶微分和二阶微分相关。而针对图像的微分操作,其又和卷积操作密切联系。因此针对本文的边缘检测内容,其实是微分在图像领域中的应用。并且针对sobel算子、拉普拉斯算子、canny算子等都要有一个明确的认识,虽然这些都是传统领域下的目标检测算子,但是对于平常的任务说不定还是有一定的帮助。

你可能感兴趣的:(计算机视觉,人工智能,图像处理)