图像处理笔记 —— 边缘检测
源码运行平台:matlab2015
使用的图片库,USC-SIPI:http://sipi.usc.edu/database
一. 边缘检测的基本概念
图像的边缘相当于二元函数的梯度幅度比较大的位置点,而且梯度还能反映图像局部变化最快的方向,在某指定的方向上,把梯度模超过指定阈值的位置数据记录下来,就是沿该方向的图像边缘。
正确地描绘边缘应当包括两个方面:边缘点的位置以及局部的边缘方向。边缘一般是指灰度变化率最大的位置。图像边缘的成因:
图像灰度在表面法向变化的不连续性造成的边缘。
图像对象 在空间上的深度不一致形成的边缘。
在光顺表面上由于颜色的不一致性形成的边缘
物体的光影造成的边缘
常用术语
阶跃边:在剖面上看,图像灰度在奇异点,两侧由明显的差异
高台边:图像灰度除去奇异点位置之外保持平坦,只在奇异点附近突然跃起或者降低。
边缘点:图像灰度的显著变化点,又称奇异点
边缘段:边缘的坐标及其方向
边缘检测:从图像中检测边缘点和边缘段,并且描述边缘方向的过程。在边缘检测中,存在两种类型的错误:漏检了边缘点和非边缘点误认为边缘点。
轮廓:图像边缘的列表
边缘连接:将边缘列表元素有序化的过程
边缘跟踪:在图像或者图像序列中,确定轮廓的过程。
二. 基于微分算子的边缘检测原理
微分算子的两个重要性质,由于这两个性质,在使用微分算子之前,应该采用预处理抗噪声技术。
定域性: 即局部性,每一点的导数只与函数在该点邻近的信息有关
敏感性:对局部的函数值变化敏感,抗噪性差
- 微分算子的定域性:
设函数 f(x,y),(x,y)∈Ω 有足够高阶的连续可导性,则, Dm,n:f(x,y)→Dm,nf(x,y) 是有限阶偏导数,
Dm,nf(x,y)=∂m+nf(x,y)∂xm∂yn
那么要计算一点 (a,b) 处的导数 Dm,n:f(a,b) ,只需要 f(x,y) 在 (a,b) 的一个小邻域 B={ (x,y)|(x−a)2+(y−b)2≤ε} 中的信息 { f(x,y)|(x,y)∈B} 即可。 边缘检测技术的基本步骤:
将相应的微分算子简化为离散差分格式,进而简化成模板(记为 T )。
利用模板对图像
f(x,y) ,获得模板作用后的结果 Tf(m,n)提出阈值 h ,在采用一阶微分算子情形,记录下高于某个阈值
h 的位置坐标 sh={ (m,n)||Tf(m,n)|≥h}