7/16数字图像处理之图像分割

概述

1.在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些部分一般称为目标或前景。
2.为了辨识和分析目标,需要将有关区域分离提取出来,在此基础上对目标进一步利用,如进行特征提取和测量。
3.图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。
4.特性可以是灰度、颜色、纹理等,目标可以对应单个区域,也可以对应多个区域。
5.图像分割是图像识别和图像理解的基本前提步骤。
本章中的多数分割算法均基于灰度值的两个基本性质之一:不连续和相似性。对于不连续的灰度,方法是以灰度突变为基础分割一幅图像,例如边缘。对于相似的灰度,主要方法是根据一组预定义的准则把一幅图像分割为相似的区域,例如阈值处理、区域增长、区域分裂和区域聚合。

间断检测

点检测

嵌在常数区域(或图像中亮度基本不变的区域)中的孤立点的检测。可以用点检测的模板来将孤立的点检测出来:这个模板的作用就是当模板中心是孤立点时,模板的相应最强,而在非模板中心时,相应为零。
在这里插入图片描述

线检测

模板如图所示
在这里插入图片描述
同样的,当检测的线是在中间那行或者是由“2”组成的行或列中,则此时的相应最大,其他部分的相应为零。

边缘检测

即原图像中景物或人物等的边缘(轮廓)的检测。
其实边缘检测和锐化真的比较相近,只是程度不同而已。通过对边缘点做灰度差分即可得到边缘。通常为了让效果更佳明显,会做一个二值化。对于边缘检测 同样可以使用拉普拉斯算子,Kirsh算子,Canny算子。
传统的数字图像处理中的分割方法多数基于灰度值的两个基本性质
1.不连续性:以灰度突变为基础分割一副图像,比如图像的边缘。
2.相似性:根据一组预定义的准则将一副图像分割为相似的区域。阈值处理、区域生长、区域分裂和区域聚合都是这类方法的例子。

图像分割的方法:

基于边缘的分割方法:先提取区域边界,再确定边界限定的区域
区域分割:确定每个像素的归属区域,从而形成一个区域图
区域生长:将属性接近的联通像素聚集成区域
分裂-合并分割:综合利用前两种方法,即存在图像的划分,又有图像的合并。
该向量有一个重要的几何性质,它指出了f在位置(x,y)处的最大变化率的方向。

边缘检测

边缘:图像中像素灰度有阶跃变化或屋顶变化的那些像素的集合。
图像梯度:为了在一幅图像f 的(x, y)位置处寻找边缘的强度和方向,所选择的工具就是梯度,梯度用▽f来表示,并用向量来定义:
在这里插入图片描述
边缘检测算子
梯度算子:仅计算相邻像素的灰度差,对噪声比较敏感,无法抑制噪声的影响
Roberts算子:与梯度算子检测边缘的方法类似,对噪声敏感,但效果较梯度算子略好
Prewitt算子:在检测边缘的同时,能抑制噪声的影响
Sobel算子:对4邻域采用带权方法计算差分,能进一步抑制噪声,但检测的边缘较宽
Kirsch算子:在计算边缘强度的同时可以得到边缘的方向,各方向间的夹角是45°
拉普拉斯算子:
优点:各向同性、线性和位移不变的;对细线和孤立点检测效果较好。
缺点:对噪音敏感,对噪音有双倍加强作用;不能检测出变地方向;常产生双像素的边缘。
Marr算子:σ的选择很重要,当σ小时,边缘位置精度高,但边缘细节变化多;当σ大时平滑作用大,但细节损失大,边缘定位精度低。应根据噪声水平和边缘点定位精度要求适当选取σ。
曲面拟合法:其过程是求平均后再求差分,因而噪声有抑制作用

阈值处理

阈值处理概念
一般情况下,一张图片分为前景和背景,我们感兴趣的一般的是前景部分,所以我们一般使用阈值将前景和背景分割开来,使我们感兴趣的图像的像素值为1不感兴趣的为0,有时一张图我们会有几个不同的感兴趣区域(不在同一个灰度区域),这时我们可以用多个阈值进行分割,这就是阈值处理。由于阈值处理直观、实现简单且计算速度快,因此图像阈值处理在图像分割应用中处于核心地位。
在这里插入图片描述

基本全局阈值处理

一般选取阈值就是图像直方图的视觉检测。将区分度大的两个灰度级部分之间进行划分,取T为阈值来分开它们。下面的迭代算法可以用于进行此处理:
1.为全局阈值T选择一个初始估计值
2.利用T分割图像。这将产生两组像素:G1由灰度值大于T的所有像素组成,G2由所有小于等于T的像素组成。
3.对G1和G2的像素分别计算平均灰度值(均值)m1和m2
4.计算一个新的阈值:T=1/2(m1+m2)
5. 重复步骤2到步骤4,直到连续迭代中的T值间的差小于一个预定义的参数ΔT为止

使用Otsu’s方法的最佳全局阈值处理

阈值处理可视为一种统计决策理论问题,其目的是在把像素分配给两个或多组(也称分类)的过程中引入的平均误差最小。Otsu方法是另一种有吸引力的方案。且Otsu方法有一个重要的特性,即它完全以在一幅图像的直方图上执行计算为基础。
Otsu’s方法的最佳方法是选择阈值k,最大类间方差σ2(k)来定义的:
在这里插入图片描述
当设置的方差越大,则完全分割一幅图像的阈值就会越接近。公式中的k就是我们所要寻找的最佳阈值,当k不唯一时,则将所有的最佳阈值进行取平均值即可。
Otsu算法如下:
1.计算输入图像的归一化直方图。使用pi,i=0,1,2,…,L−1表示该直方图的各个分量
2.计算累积和Pi(k)
3.计算累积均值m(k)
4.计算类间方差σB^2(k)
5.得到Otsu阈值k∗,如果最大值不唯一,则使用平均值
6.计算可分性度量η∗
用图像平滑改善全局阈值处理
噪声会将简单的阈值处理问题变为不可解决的问题。当噪声不能在源头减少,并且阈值处理又是所选择的分割方法时,通常能增强性能的一种技术是,在阈值处理之前平滑图像。
经平滑和分割后的图像,由于对边界的模糊,会造成物体和背景间的边界稍微有点失真。对一幅图像平滑越多,分割后的结果中的边界误差就越大。
使用边缘改进全局阈值处理
边缘改进的阈值处理:主要是处理那些位于或接近物体和背景间边缘的像素,使得这些像素分离开的操作。
算法过程如下:
1.用一种边缘查找方式计算图像的模板的值。
2.通过百分比指定阈值。由于计算的边缘模板值中有很多噪声,所以可以将计算值排序,并选择百分比相对高的值(大于百分下的值的阈值)作为阈值。
3.根据指定的阈值,对第一步的图像边缘的值进行选择。使高于阈值的像素点值为1,低于的值为零,由此选择出部分边缘点的二值图像(模板)。
4.用刚才计算出来的模板与原图像相乘,获得一幅新的图像。
5.对新的图像使用otsu进行分割。

基于局部统计的可变阈值处理

当照明背景非常不均匀时,全局阈值处理通常会失败。该问题的一种解决方法是试图估计明暗函数,并用它来补偿不均匀的灰度模式,然后使用上述方法之一对图像做全局阈值处理。在不规则光照情形下,或者由多个主要物体灰度的情况下(此时全局阈值处理也有困难),进行补偿的另一种方法是采用可变阈值处理。这种方法基于(x,y)邻域中像素的一种或多种指定特性,在每个点(x,y)处计算一个阈值。

阈值处理

将单一全局阈值对图像进行的分割扩展到任意数量的阈值,以这种方法为基础的可分性度量也可以扩展到任意数量的分类。在 K 个类C1,C2,…,CK 的情 况下,类间方差可归纳为下面的表达式:
在这里插入图片描述
多变量阈值处理
每个“像素”由三个值来表征,并且可以表示为一个三维向盘z = (Z1,Z2,Z3)T ,其分量是一个点的 RGB彩色。这些三维点通常称为体素. 以便与图像元素相对应表示体积元素。
多变量阈值处理可视为一种距离计算。
假设我们想要从一幅彩色图像中提取具有指定颜色的所有区域,比如说,微红色。令a表示我们感兴趣的平均微红色。 基于这一参数来分割彩色图像的一种方法是计算任意彩色点z 和平均彩色a间的距离测度 D(z,a)。 然后,我们按如下方式分割输入图像:
在这里插入图片描述
其中, T是一个阈值。 当然,要在输入图像中的所有坐标上执行距离计算,以便产生相应的分割值g。注意, 该公式中的不等式对于一个单变量阔值处理所用的不等式是相反的, 原因是等式D(z, a)= T定义了一个容积,并且它更直观地把分割后的像素值想象为包含在一个容积中,而使背景像素值位于该容积的表面或外部。令D(z,a) =-f(x, y),很明显条件f(x, y) > T基本上表示f的值和实线的原点间的欧氏距离超过了 T值。这样,阈值 处理就是基于距离测度的计算,并且形式依赖于所用的测度。

基于区域的分割

分割的目的:是把图像分成一块一块的区域,是基于像素特性的分布,通过阈值处理完成的。
基本表达式:令R表示整个图像区域,分割是把R分成n个子区域的处理,分割必须满足下面5条原则:
在这里插入图片描述

区域生长

区域生长:是指将成组的像素或区域发展成更大区域的过程。从种子点的集合开始,从这些点的区域增长是通过将与每个种子点有相似属性像强度、灰度级、纹理颜色等的相邻像素合并到此区域。
区域生长的基本方法是从一组“种子”点开始,将于种子预先定义的性质相似的那些领域像素添加到每个种子上来形成这些生长区域(如特定范围的灰度或颜色)
在区域生长中的主要问题如下:
1.表示区域的初始化种子的选择:在区域生长过程中,这些不同区域点合适属性的选择。
2.基于图像具体属性的像素生长不一定是好的分割。在区域生长过程中,不应该使用连通性或邻接信息。
3.相似性:相似性表示在灰度级中观察在两个空间邻接像素之间或像素集合的平均灰度级间的最小差分,它们将产生不同的区域。如果这个差分比相似度阈值小,则像素属于相同的区域。
4.区域面积:最小面积阈值与像素中的最小区域大小有关。在分割的图像中,没有区域比这个阈值小,它由用户定义。
举例:在种子点1的4邻域连通像素中,即2、3、4、5点,像素点5的灰度值与种子点的灰度值最接近,所以像素点5被加入到分割区域中,并且像素点5会作为新的种子点执行后面的过程。在第二次循环过程中,由于待分析图像中,即2、3、4、6、7、8,像素7的灰度值和已经分割的区域(由1和5组成)的灰度均值10.5最接近,所以像素点7被加入到分割区域中。最后一幅图,示意了区域生长的方向(由浅入深)。
从上面的分析中,我们可以看出,在区域生长过程中,需要知道待分析像素点的编号(通过像素点的x和y坐标值来表示),同时还要知道这些待分析点的像素的灰度值。
在这里插入图片描述
区域分裂与聚合
这个操作是区域生长的反操作,是将图像中的区域分离或合并这些区域。令R表示整个图像,选择属性P,这个操作将R连续地细分为越来越小的象限区域。如果P(R)=TRUE,就把图像分成4象限;如果对每个4象限来说,P都是FALSE,再细分象限就为子象限,以此类推划分下去,直到无法进一步合并的时候停止分离。这种方法也称作四叉树。
在这里插入图片描述
分裂合并法对分割复杂的场景图像比较有效。
算法实现:
1.对图像中灰度级不同的区域,均分为四个子区域。
2.如果相邻的子区域所有像素的灰度级相同,则将其合并。
3.反复进行上两步操作,直至不再有新的分裂与合并为止。

用形态学分水岭的分割

分水岭的概念:以三维方式来形象化一幅图像为基础的:两个空间坐标作为灰度的函数。
在这种“地形学”解释中,我们考虑三种类型的点:
1.属于一个区域最小值的点;
2.把一点视为一个水滴,如果把这些点放在任意位置上,水滴一定会下落到某个最小值点;
3.处在该点的水会等概率地流向不止一个这样的最小值点。
对于一个特定的区域最小值,满足条件(b)的最小值点的集合称为该最小值的汇水盆地或分水岭。满足条件(3)的点形成地面的峰线,它称为分割线或分水线
在这里插入图片描述
分水岭算法主要用于图像的分割,如果目标物体是连接在一起的,则分割起来会很困难。此时经常采用分水岭分割算法,会得到比较好的效果。分水岭分割算法把图像看成一幅地形图,亮度比较强的区域像素值较大,亮度暗的区域像素值比较小,通过寻找汇水盆地和分水岭界线对图像进行分割。分水岭的计算过程是一个迭代标注过程。分水岭比较经典的计算方法是L. Vincent提出的。在该算法中,分水岭计算分两个步骤,一个是排序过程,一个是淹没过程。首先对每个像素的灰度级进行从低到高排序,然后在从低到高实现淹没过程中,对每一个局部极小值在h阶高度的影响域采用先进先出(FIFO)结构进行判断及标注。
分水岭变换分割分类:
1.使用距离变换的分水岭分割:最常用的分水岭变换分割的是距离变换,主要是用于二值图像的处理,它是指从每个像素到最接近零值的像素的距离。
2.使用梯度的分水岭分割:梯度处理是在分水岭变换之前的预处理,它将沿着物体的边缘有较高的像素值,而在其他地方的像素值比较低。
3.控制标记符的分水岭分割:当直接用梯度进行分水岭变换时,容易造成过度分割,为了改善这样的情况,采用基于标记符的方式进行分割。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值