图像处理之边缘提取与图像分割

     谈到边缘提取,按照理论的说法,即把给定图像进行分割或者将分隔的图像区域用更加简单明确的数值、符号或图形表示出来。对边缘提取,首先要先检测边缘。而检测边缘,必须先对边缘有明确的定义,matlab中对边缘的定义大概有两种:

1.两个具有不同灰度值的相邻区域之间总存在边缘,边缘是灰度值不连续的结果。直白地说,便是认为边缘是发生在梯度幅值较大的地方,即灰度发生突变的地方。

2.当相邻点的梯度方向相同或则相近,则这个区域可能存在边缘。

这两种定义其实是处于两个角度判别边缘,第一种是针对灰度的突变,第二种是针对相邻点梯度方向;于是对应这两种定义就有了不同的方法。

第一种:利用边缘算子做边缘检测,不连续性通常可以利用求导数的方法方便地检测到。一般常用一阶导数和二阶导数来检测边缘。

1)基本思想:首先是利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。但是由于噪声和图像模糊的原因,检测到的边界可能会有间断的情况发生。

2)两个内容:
a.用边缘算子提取边缘点集  b.在边缘点集中去除某些边缘点,填充一些边缘点,再将得到的边缘点集连接为线。

3)检测算子:微分算子、log算子和canny算子(具体可以看附件中的算子检测边缘情况表)

  

edge函数:利用各种算子做边缘检测

语法格式:
BW=edge(I,method)
BW=edge(I,method,thresh)
BW=edge(I,method,thresh,direction)

BW:返回的二进制图像,1代表找到的边缘,0表示其他像素。

method:使用算子的类型(‘sobel’是默认值,表示用导数的sobel近似值检测边缘,那些梯度最大点返回边缘)
thresh:指定的阈值,所有不强于thresh的边都被忽略
direction:字符串,为"horizontal"表示水平方向,为"vertical"表示垂直方向,默认值是"both",表示两个方向。

 4)最有效的边缘检测方法是canny方法(拉普拉斯算子检测)。优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且仅当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。因此,这种方法不容易被噪声"填充",更容易测出真正的弱边缘。

canny法:寻找图像梯度的局部极大值,梯度是用高斯函数的一阶微分来计算的。

例:

I=imread('tire.tif');
BW1=edge(I,'canny');   %用canny法检测
subplot(1,2,1);imshow(I);title('原图像');
subplot(1,2,2);imshow(BW1);title('canny算子检测图像');



 

第二种:相位编组法

想法:
1)认为边缘不只是发生在梯度幅值较大的地方,即灰度发生突变的地方。
2)当相邻点的梯度方向相同或则相近,则这个区域可能存在边缘。

步骤有六步,这里就不详述了。另外,由于相位编组法可能会受到噪声的影响,使各直线断裂,所以,还需要进行直线连接操作。

接下来,谈到图像分割。图像分割是一个将一幅数字图像划分为不交叠的、连通的像素集的过程,其中一个对应于背景,其他则对应图像中的各个物体。

难度在于:划分前,不一定能够确定图像区域的数目

图像分割的方法也有几种,下面就简单说下灰度门限法和四叉树分解法。

1.灰度门限法(常见的直接检测区域的分割方法)
——对物体与背景有较强对比的景物分割特别有用;如果目标物在其内部具有均匀一致的灰度值并分布在一个具有另一个灰度值的均匀背景上。

内容:所有灰度值大于或等于某门限值的像素都被判属于物体。所有灰度值小于该门限值的像素被排除在物体之外。于是边界就成为这样一些内部点的集合,这些点至少都有一个邻点不属于该物体。

注:如果物体同背景的差别在于某些性质而不是灰度值,那么,首先可以把性质转化为灰度,然后,再利用该法。

灰度门限的确定:

1)全局阈值化方法(根据图像的直方图选择阈值,一般阈值设置为常数)

条件:背景的灰度值在整个图像中可合理看作为恒定,而且所有物体与背景都具有几乎相同的对比度。

2)自适应阈值法(灰度阈值取成一个随图像位置缓慢变化的函数值)

条件:物体和背景的对比度在图像中有变化

2.四叉树分解

基本思想:从整幅图像开始不断分裂得到各个区域,最终将具有一致性的像素分到同一个小块。这里的一致性是指各个像素点的灰度值的接近程度要满足要求。

具体过程:将一块图像分成四块等大小的方块,判断每个块是否满足一致性标准,如果满足,则不再分解;如果不满足,再进行细分使之成四块,进而再检查,分解过程重复迭代下去,直到满足一致性准则。结果可能包含不同大小的块。

一致性标准可以是:

1)区域中灰度最大值与最小值的差小于阈值。

2)两区域平均灰度差小于阈值。

3)两区域的灰度分布函数差小于阈值。

4)两区域参数统计特征结果相同。

猜你喜欢

转载自459838660.iteye.com/blog/2200381