边缘检测,Roberts 算子,Sobel算子,Canny 算子
来源:互联网 发布:异次元杀阵2解析知乎 编辑:程序博客网 时间:2024/05/08 14:34
边缘检测
在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。
边缘检测可分为滤波、增强、检测、定位四个步骤。在图像的边缘检测中也需要对其进行滤波,这样能够消除一些噪声,对于接下来的导数计算影响比较大。而一般使用的导数主要为一阶导数和二阶导数。通过导数对图像的计算来增强图像的突出边缘和轮廓,以达到检测定位的效果。
1 一阶微分算子
(1)Roberts 算子:
Roberts 算子是一种利用局部差分算子寻找边缘的算子:
其中,f(x,y)、f(x+1,y)、f(x,y+1)和f(x+1,y+1)分别为4领域的坐标,且是具有整数像素坐标的输入图像。
Roberts 算子在边缘检测的效果中由于没有经过图像平滑处理的,因此图像噪声一般得不到很好的抑制,也因此影响到计算定位时容易丢失一部分的边缘。但是Roberts 算子的定位精度较高,对具有陡峭的低噪声图像响应较好。
(2)Sobel算子:
Sobel算子是一种一阶微分算子,它能根据像素点周围的梯度值来计算该像素点的梯度,之后会根据事先设好的阈值比较,来进行取舍。它由下式给出:
Sobel算子是3x3算子模板。下图所示的2个卷积核dx、dy形成Sobel算子。一个核通常的垂直边缘响应最大,而另一个核对水平边缘响应最大。2个卷积的最大值作为该点的输出值。运算结果是一幅边缘幅度图像。
-101 121-202 000-101 -1-2-1(3)Canny 算子:
传统的Canny算法是通过在2x2邻域内求有限差分来计算梯度幅值。Canny算子法实现的方式为:图像先用2D高斯滤波模板进行卷积以消除噪声,再对滤波后图像中的每个像素计算其梯度的大小和方向。计算可采用以下2x2大小的模板作为对x方向和y方向偏微分的一阶近似:
由此得到梯度的大小M和方向θ:
通过梯度的方向,可以找到这个像素梯度方向的邻接像素:
3210x0123最后通过非最大值抑制以及阈值化和边缘连接。Canny算子具有信噪比准则、定位精度准则和单边缘响应准则。它是一阶传统微分中检测边缘效果最好的算子之一,它比Prewitt 算子、Sobel 算子的去噪能力都要强,但它也容易平滑掉一些边缘信息,其检查方法较为复杂。
比较:原图 ,Roberts算子,Sobel算子,Canny算子
- 边缘检测,Roberts 算子,Sobel算子,Canny 算子
- Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子
- Robert算子、sobel算子、Prewitt算子、canny边缘检测算子
- 边缘检测(Sobel算子,拉普拉斯算子,Canny算子)
- 边缘检测:canny算子,sobel算子,laplace算子,scharr滤波器
- 边缘检测 从Roberts到Canny算子
- 边缘检测Roberts算子
- Roberts边缘检测算子
- matlab sobel canny prewitt 边缘检测算子
- 图像处理-Canny算子、Sobel算子边缘检测
- 几种边缘检测算子的比较Roberts,Sobel,Prewitt,LOG,Canny
- sobel边缘检测算子
- 边缘检测:Sobel算子
- canny边缘检测算子
- Canny边缘检测算子
- canny算子边缘检测
- Canny算子边缘检测
- Canny边缘检测算子
- JavaEE---页面内容压缩gzip演示
- HashMap(JDK1.8)源码剖析
- 20160926 - 热爱
- Android通过JAVA将H264编码成MP4
- 管理linux下软件的配置文件dotfile(rc files)
- 边缘检测,Roberts 算子,Sobel算子,Canny 算子
- 欢迎使用CSDN-markdown编辑器
- javascript项目表单验证栏(附源码)
- 使用java开源工具jsoup抓取解析网页数据
- Android学习之路---点击事件的分发测试
- PAT 1086. Tree Traversals Again (25)(依据中序遍历的非递归形式用到的堆的状态,来构造树并输出后序遍历)
- 求Sn=a+aa+aaa+aaaa+aaaaa+....的前n项之和,其中a是一个数字,例如:2+22+222+2222+22222+.....
- 各个JSON技术的简介和优劣
- 【Python开发】网页爬取心得