基于MATLAB的图像分割方法及应用

基于MATLAB的图像分割系统

摘 要

图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。

本文根据图像分割原理及人眼视觉的基本理论,研究图像的彩色模型及图像分割的常用方法,比较各方法的特点,并选择合适的方法对图像进行分割。本文采用MATLAB软件对图像进行彩色坐标变换及阈值分割,计算简单,具有较高的运行效率,分割的结果是使图像更符合人眼的视觉特性,获得比较好的效果。

关键字:图像处理;图像分割;人类视觉;MATLAB

1.前言

1.1图像分割技术

图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。

图像数据的模糊和噪声的干扰是分割问题的两大难题。到目前为止,还没有一个完美的图像分割方法,可以根据人的意愿精确地分割任何一种图像。现实图像中景物情况各种不同,具体问题需具体分析,按照实际情况选择得当的方法。分割成果的好坏或正确与否,到现在为止,尚无一个统一的评价和判断标准,分割的好坏务必从分割的效果和现实应用的场合来判断。然而,在人类研究图像的历史长河中,仍然积累了许多经典的图像分割方法。固然这些分割方法不可以适应全部种类的图像分割,可是这些方法却是图像分割方法进一步发展的根基。实际上,当代一些分割算法恰巧是从经典的图像分割方法中产生出来的。图像分割法大致可以分为三个种:边缘检测法,阈值分割法和基于区域的图像分割法。

2研究目的

视觉是人类最高级的感知器官,所以图像在人类感知中承担着非常重要的角色,这是毋庸置疑的。

本文的主要研究目的是对图像的分割方法进行研究,选择适合本论文的设计方法,然后通过对图像的分割,以达到人眼的最佳视觉效果。

本课题主要是通过对人眼的视觉系统研究,然后选择与人眼视觉系统密切相关的颜色模型进行颜色空间模型之间的相互转换,再对图像分割方法进行比较选择合适的分割方法,通过MATLAB平台实现彩色图像分割,最后对分割后的图像进行比较来获得到最佳的视觉效果。

3 图像处理技术基础

3.1 技术背景

人类通过眼、鼻、耳、身、舌接收信息,来感知外部世界,从而认识世界和改造世界。据统计,人类取得的信息中,超过75%是从视觉角度获取的,也就意味着是从图像中获取的。图像是物体经过反射或透射客观存在的能量,或者由发光物体自身散发的光能量,在人的视觉体统中构成的视觉信息。客观的世界是三维的,但是一般从客观景物获得的图像是二维的。简单地说,图像是二维或三维景物展现在人心目中的影像。若接受并加工辨别视觉信息的是电子计算机,那么就叫做计算机图像处理和识别。

3.2 彩色图像格式

由于不同的开发商自己定义的图像格式都不完全一致,因此目前数字图像有多种存储格式。要想实行数字图像处理,就务必先了解图像文件的各种格式。一般来说,图像文件都由文件头和图像数据两部分组成的,文件头的内容和格式是由制作该图像文件的公司决定的,大致包括文件类型、文件大小、版本号等内容。常见的彩色图像格式包括:BMP格式、GIF格式、TIFF格式、PNG格式、JPEG格式。下面详细介绍这几种彩色图像文件格式。

1、BMP图像文件格式

BMP是英文Bitmap的简写,它是Windows操作系统中交换图像、图形数据的一种标准格式,其全称是设备独立位图(Device Independent Bitmap,DIB)。BMP图像文件也称为位图文件,主要包括4个部分:调色板、文件头、位图信息头、位图数据。

2、GIF图像文件格式

GIF(Graphics Interchange Format,图像交换文件格式)是由Compuserve公司开发的图像文件格式,目前是在不同的系统平台上交流和传输图像,现已称为BBS和网络上图像传输的通用格式。

GIF格式的所有图像数据均为压缩过的,采用的压缩算法是LZW算法,其性能优于RLE算法,能提供1:1~1:3的压缩比,压缩效率高。LZW压缩算法的特性在于其能够动态地标记数据流中出现的重复串, 并且它把压缩过程中碰到的字符串记载在这张字符串表中,下次再遇到这一字符串时,就用一短代码表示它,从而达到了压缩数据量的目的。

3、TIFF图像文件格式

TIFF(Tagged Image Format File)格式是由Aldus公司与微软公司共同开发设计的图像文件格式,大部分数据扫描仪扫描输出的图像文件格式均为TIFF。TIFF格式支持任何大小的图像,从单色的二值图像到24位的真彩色图像,它普遍的应用在单面排版系统及和它有关联的应用程序,并且与计算机的结构、操作系统和图像硬件无关。

TIFF图像文件格式的压缩方式有很多种,如游程编码压缩、LZW压缩、紧缩位法编码压缩等,也有的TIFF图像文件存放在物理介质上,没有进行压缩编码,但存放时尽可能地节约空间。

4、PNG图像文件格式

PNG是90年代中期开始开发的图像文件存储格式,其目的是替代GIF和TIFF文件格式。其格式标准由W3C制定。PNG的特色:既可使用调色板方式存储颜色,又可以直接存储颜色值;可以存储最高48位彩色图像;采用类似LZW的deflate压缩算法实现无损压缩;可以类似GIF的渐进方式传输图像;支持图像透明显示兼容性好。

5、JPEG图像文件格式

JPEG(Joint Photographic Experts Group,联合图像专家组)是由ISO和IEC为静态图像所创立的第一个国际数字图像压缩准则,主要目的是解决专业摄影师所碰到的图像信息过于巨大的问题。JPEG格式最大的有点是解约存储空间、处理速度快,但由于JPEG是有损压缩,无论压缩比大小如何,图像的信息多多少少会损失,而且被压缩的部分不可恢复,因此图像质量往往有所下降。

3.3 彩色图像分割技术

彩色图像分割是数字图像处理领域中一种十分重要的图像分析技术,在对图像的研究和应用中,按照不同领域的不同需求,在某个领域常常只对原始图像中的某些局部感兴趣。这些目标区域通常来说都具备本身特定的少许诸如纹理、颜色等性质,彩色图像的分割主要按照图像在不同区域内的不同特征,从而对图像进行边界或区域上的分割,并从中提取出所关心的目标。

4分水岭分割法

分水岭分割法是一种重要的形态学图像分割法,而且具有成熟的迅速算法。在分水岭分割法中,待分割的图像被当作地形学上被水覆盖的自然地貌,然后将图像中的每个像素的灰度值示意为该点的海拔高度,其每个部分极小值和其影响区域叫做集水盆,而集水盆的边界则是分水岭。在分水岭分割方法中,由于灰度值的不同,每个局部极小值孕育出互不重合的分割区域,作为分水岭或集水盆地,则各个区域之间的边界叫做分割线或者分水线。如图1所示在低分辨率下的相似图像经分水岭算法进行初始分割后的结果。

图1 分水岭分割法

因为在分水岭分割法中,对应每个局部极小值都孕育出一个分割区域,于是获得的初始分割结果是过分割,于此同时不同颜色之间的边缘几近全数被包括在分水线之中。所以将属于同一类色彩的初始分割区域根据特定准则进行统一,可以获得预期的效果图。本文使用一种基于图像空间和颜色关连区域统一标准,按照各个初始分割区域的色彩差别和空间上的邻接关系确定各个区域的合并次序。依然采用归一化的H和S份量来权衡不同区域的色彩差别,如式2-11所示。因为归一化H份量是从小到大依次以合拢环状散布,即最小值0和最大值1表示相似的色彩,所以H份量的间距计算方法不同,如式2所示。

(1)

(2)

上式中,i,j表示随意2个初始分割区域;RH代表归一化H份量的平均值,RS代表归一化S份量的平均值;D(i,j)表示区域i,j之间的色彩差别。

两个相邻区域的结合度由公有边界的像素数目以及边界处像素的梯度差决定,如式3所示,N(i,j)表征结合度。

(3)

上式中,E(i,j)表示区域i,j之间的边界区域;M为梯度图像;∣E(i,j)∣为区域E(i,j)的像素数量。

色彩差别和结合度一起确定各相邻区域对的归并的优先级,如式4所示,λ是由实验取得,一般取值0.8。每次将优先级最高的即F(i,j)值最小的2个相邻区域进行合并,合并后区域的RH和RS和相应F(i,j)重新计算,而后进入下一次合并流程。

(4)

结果如图2所示。

图2 区域合并的结果

5 彩色图像分割的MATLAB实现

5.1 MATLAB语言:分水岭分割法实现图像分割

5.1.1 设计流程

图3 分水岭分割法设计流程图

如图3所示,为分水岭分割法的设计流程图。它采用了分级阵列结构,按照像素的高低来确定所选元素的优先级。具体流程:(1)分级队列的初始化,扫描所有标记的邻居像素,将未有归属的邻居像素按优先级不同放入不同优先级的队列;(2)

5.1.2 MATLAB程序

分水岭分割法代码如下:

rgb = imread('xibao.JPG');
I = rgb2gray(rgb);
imshow(I) %读入彩色图像,将其转化成灰度图像
hy = fspecial('sobel');
hx = hy';
Iy = imfilter(double(I), hy, 'replicate');
Ix = imfilter(double(I), hx, 'replicate');
gradmag = sqrt(Ix.^2 + Iy.^2);
figure, imshow(gradmag,[]), title('梯度幅值图像')% 使用梯度级作为细分功能
se = strel('disk', 20);
Io = imopen(I, se);
figure, imshow(Io), title('图像开操作')
Ie = imerode(I, se);
Iobr = imreconstruct(Ie, I);
figure, imshow(Iobr), title('基于开的重建图像') % 直接使用分水岭变换
Ioc = imclose(Io, se);
figure, imshow(Ioc), title('闭操作图像') %消除黑斑和标志干细胞
Iobrd = imdilate(Iobr, se);
Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
figure, imshow(Iobrcbr), title('基于重建的开闭操作图像')
fgm = imregionalmax(Iobrcbr);
figure, imshow(fgm), title('腐蚀操作')
I2 = I;
I2(fgm) = 255;
figure, imshow(I2), title('局部极大叠加到原图像')% 去除小瑕疵,使局部极大叠加到原图像上。
se2 = strel(ones(5,5));
fgm2 = imclose(fgm, se2);
fgm3 = imerode(fgm2, se2);
fgm4 = bwareaopen(fgm3, 20);
I3 = I;
I3(fgm4) = 255;
figure, imshow(I3)
title('fgm4 superimposed on original image')% 标记前景对象
figure, imshow(bgm), title('bgm')
gradmag2 = imimposemin(gradmag, bgm | fgm4);
L = watershed(gradmag2);
I4 = I;
I4(imdilate(L == 0, ones(3, 3)) | bgm | fgm4) = 255;
figure, imshow(I4)
title('标记和对象边缘叠加在原始图像')
Lrgb = label2rgb(L, 'jet', 'w', 'shuffle');
figure, imshow(Lrgb)
title('彩色分水岭标记矩阵')
figure, imshow(I), hold on
himage = imshow(Lrgb);
set(himage, 'AlphaData', 0.3);
title('标记矩阵叠加到原图像')

运行程序后,得出如图4所示:

图4 分水岭法分割后的图像

5.2结果分析

关于彩色图像分割需面临以下两个难题:(1)选择适当的分割方法;(2)选择合适的颜色空间。颜色特征空间的选择要按照具体的图像和分割方法而定,当前尚无一种颜色空间能够替换别的的空间而适合全部的彩色图像分割,由此可见选择适合的特征空间是彩色图像分割的一个困难。

将处理后的图片与原始图片进行对比,得出分割方法的特点:

分水岭法:首先进行提取标记,然后根据待分割图像的梯度信号对已被标记的感兴趣的物体,采用分水岭算法来进行分割。这种标记的选择不光是分水岭算法的一个重要难点,并且选择不当就会致使图像过分割。所以分水岭分割的标记十分重要。

结论

本论文主要设计的是结合人类视觉对颜色的感知规律,通过光电图像的分割技术对图像进行分割,最终达到人眼视觉的最佳效果。

本论文让我认识到研究人眼对图像的识别、观察的重要性,是为了能够更好的体现出图像的清晰度,达到最佳的视觉效果。由于眼睛是高精密又复杂的一个器官。其对视觉系统图像分割是非常复杂的。但是由于知识范围有限,对于分割方法原理和模型还有一定疑惑,还有待以后进一步的学习和提高。

经过本次的课程设计,我获得了许多收获,但是同时我也了解到了自己的不足之处。通过毕业设计,使我对数字图像分割与颜色空间转换的基本知识和基本理论有了较为全面详细的了解。在学习新知识的过程中,我不仅巩固了原有的理论和知识,同时自己对MATLAB的编程代码有了一定的了解,编程能力也得到了一定程度的提高。

数字图像处理的方法有许多,要想获得图像分割的最好结果,务必采取多种方法相结合,因为时间仓皇,再加上自己水平程度有限,在毕业设计过程当中有很多不足之处。我将以此为鉴,在今后的学习和生活过程中不断改进。

参考文献

[1] (美)冈萨雷斯. 数字图像处理〈MATLAB〉版[M]. 电子工业出版社,2004

[2] 刘刚. MATLAB数字图像处理 [M]. 北京:机械工业出版,2010

[3]高秀娟.图像分割的理论、方法及应用[J]. 吉林大学. 2006

[4]竺子民.光电图像处理[M].华中科技大学出版社,2000

[5]彭真明.光电图像处理及应用[M].电子科技大学出版社,2008

[6]张甫,李兴来,陈佳君.浅谈图像分割方法的研究应用[J]. 科技创新与应用,2012年04期

[7]席砺药,阎宏伟.彩色图像的分割技术[J].河北:河北大学电子信息工程学院,Vol .13,No .4,2003:P73

你可能感兴趣的:(编程语言,计算机视觉,机器学习,人工智能,java)