1、XXXX大学实验报告(2013 /2014 学年 第 1学期) 课程名称: 数字图像处理 学生姓名: 学生学号: 院 系: 数理学院 专 业: 信息与计算科学 2013 年 12 月 19 日实验一 数字图像的采集和Photoshop软件操作一、实验预习(1)图形的采集掌握图像输入设备(扫描仪、数码相机、摄像机等)的使用方法,运用扫描仪、摄像头采集图像,生成数字图像; (2)图形的显示与变换掌握并能熟练运用VC+、MATLAB软件打开图像。二、实验环境MATLAB R2012b三、实验内容(1)使用图像输入设备(扫描仪、数码相机、摄像机等)进行图像输入,并用指定的图像文件格式(例如:BMP图像
2、文件格式、GIF图像文件格式盒TIFF图像文件格式等)存放。(2)学会Photoshop的使用,对图像文件进行各种操作。(3)建议采用VC+、MATLAB实现打开图像的程序设计。四、 程序代码代码:I = imread(pic.jpg);%读入图片d1,d2,d3 = size(I);if(d3 1) J = rgb2gray(I);endimwrite(J, pic_gray.jpg);%写出图片figure, imshow(J);subplot(121);imshow(I),title(原图);subplot(122);imshow(J),title(灰度图);五、 实验结果图彩色空间变换
3、的结果图: (a)原图(b)灰度图六、 实验分析灰度图像(gray image)是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色,灰度图与黑白图是不同的。实验二 图像的线性变换一、实验预习(1)灰度的线性变换若g(x)=Tf(x,y)是一个线性或分段线性的单值函数,灰度变换方程为:g(x)=Tf(x,y)=af(x,y)+b则由它确定的 灰度变换为灰度变换,简称线性变换。(2)窗口灰度变换在曝光不足或曝光过度的情况下,或景物本身灰度级很少,图像的灰度可能会局限在一定的很小的范围内。当图像中
4、大部分的灰度级在L,U范围内,少部分像素分布在小于和大于的区间内时,限定一个窗口范围,该窗口中的灰度值保持不变,对小于该窗口下限的灰度值直接设置为0;大于该窗口上限的灰度值直接设置为255,将有效地改善图像视觉效果。灰度窗口变换函数表达式如下: 图1其中和 分别是图中窗口的下限和上限。(3)分段线性变换分段线性变换和灰度的线性变换有点类似,都用到了灰度的线性变换。但不同之处在于分段线性变换不是完全的线性变换,而是分段进行线性变换,将图像灰度区间分成两段甚至多段,分别作线性变换称之为分段线性变换。分段线性变换的优点是可以根据用户的需要,拉伸特征物体的灰度细节,相对抑制不感兴趣的灰度级。图2灰度变
5、换函数如下:其中,(x1,y)和 (x2,y2)是图中两个转折点坐标。(0,x1),(x1,x2),(x2,255)等变换区间能通过键盘随时做变换式输入,因此,分段线性变换是非常灵活的,通过有选择的拉伸某段灰度区间,能够更加灵活地控制图像灰度直方图的分布,以改善输出图像质量。(4)灰度直方图图像的直方图包含了丰富的图像信息,描述图像的灰度级的内容,反映了图像的灰度分布情况。从数学上来说,它统计一幅图像中各个灰度级出现的次数或概率,从图形上来说,它是一个二维图,横坐标表示图像中各个像素点的灰度级,纵坐标为各个灰度级上图像像素点出现的个数或出现的概率。二、实验环境MATLAB R2012b三、实验
6、内容(1)编程实现图像的直方图。(2)编程并实现窗口灰度变换,分段线性变换,显示图像的直方图和灰度图,观察图像灰度的结果。在实验过程中,改变线性分段范围,观察图像灰度变换后的目视效果变化情况。四、程序代码代码:g=imread (F:jp.jpg);I=rgb2gray(g);%计算灰度图象的直方图数据L=256; %灰度级 Ps = zeros(L,1); %出现频率%统计直方图结果数据nk=zeros(L,1);%出现次数row,col=size(I);n=row*col; %总像素个数for i = 1:rowfor j = 1:colnum = double(I(i,j)+1; %获取
7、像素点灰度级nk(num) = nk(num)+1; %统计nk endendfor i=1:LPs(i)=nk(i)/n; endfigure;subplot(1,3,1);imshow(g),title(原图);subplot(1,3,2);imshow(I),title(灰度图);subplot(1,3,3),plot(nk),title(直方图);五、实验结果图 (a)原图 (b)灰度图(c)直方图六、实验分析选图需要选灰度图,一般下载的没有,需要自己改变,灰度值的取值需要取255以上,不然会显示错误,图像灰度线性变换后的效果图和之前相比不是很明显,直方图在灰度级取值相差大时,显示有明
8、显的区别,当然区别在于显示内容的尺度的区别,内容上是一样的。线性分段的范围在0到250左右。不过图形经过灰色变换后,动态范围扩大,图像层次显得清晰,图像特征明显,更有利于对图像的目视观察。实验三 图像的平滑处理一、实验预习(1)线性平滑线性平滑就是对每一个像素点的灰度值噪声点像素的灰度与它们领近像素有显著的不用它的邻域值来代替,其邻域大小为:Nx N,N一般取奇数。如33均值滤波、NN均值滤波器。经过线性平滑滤波,相当于图像经过一个二维的低通滤波器,虽然是降低了噪声,但同时也模糊了图像边缘和细节。邻域平均法:同,根据噪声点的这一空间特性,可以用领域平均法,设f(i,j)为给定的含有噪声的图像,
9、经过简单的邻域平均处理后为g(i,j)。平均中所取的邻近像素点越多,平滑的效果越好,但会使轮廓变的模糊。由于轮廓线往往是图像中含有重要的信息部分,所以在平滑中要解决的主要矛盾是如何既能消除噪声,又能保持轮廓尽可能不模糊。(2)非线性平滑非线性平滑是对线性平滑的一种改进,即不对所有像素都用它的领域平均值来代替,而是取一个阈值,当像素像素值与其领域平均值之间的差值大于已知时才以均值代替。中值滤波:因为对于一定类型的随机噪声,它提供了一种优秀的去噪声能力,比小尺寸的线性平滑滤波器的模糊程度明显要底,中值滤波器对处理脉冲噪声(也称为椒盐噪声)非常有效。为了对一副图像上的某个点进行中值滤波处理,必须先将
10、掩模内欲求的像素及其领域的像素值排序,确定出中值,并将中值赋予该像素点。计算灰度图像f中以像素f(i,j)为中心的NxN屏蔽窗口(N=3,5,7)内灰度的中值为u,无条件作f(i,j)=u处理,N由用户给定。例如,对一个3 3的领域,其中值是第5个值,而在一个5 5的领域中,中值就是第13个值,等等。当一个领域中的一些像素值相同时,它们中的任何一个都可以作为中值。最大值滤波:计算灰度图像f中以像素f(i,j)为中心的NxN屏蔽窗口(N=3,5,7)内灰度的最大值为u,无条件作f(i,j)=u处理,N由用户给定。(3)自适应平滑自适应控制是一种根据当时、当地情况来进行控制的方法,根据目的的不同,
11、可以有各种各样的自适应图像处理方法。二、实验环境MATLAB R2012b三、实验内容(1)对于具有噪声的图像,选择领域平均法编程实现,并观看和比较去除噪声与平滑图像后的效果;(2)对于由于干扰脉冲引起的点状噪声图像,运用中值滤波、最大值滤波的方法,编程实现图像的平滑与去除噪声,观察去除噪声的同时对图像边缘保持的情况。四、程序代码代码:Q=imread(pic.jpg);I = rgb2gray(Q);G=imnoise(I,gaussian,0.2);S=imnoise(I,salt & pepper,0.2);subplot(221);imshow(Q);title(原图);subplot
12、(222);imshow(I);title(灰度图);subplot(223);imshow(G);title(高斯噪声污染图片);subplot(224);imshow(S);title(椒盐噪声污染图片);G=imread(pic.jpg);I = rgb2gray(G);I1=imnoise(I,gaussian,0.2);J1=medfilt2(I1,3,3); %33中值滤波模板J2=fspecial(average,3); gd=imfilter(I,J2);%均值滤波figure,subplot(221),imshow(G);title(原图);subplot(222),imsh
13、ow(I);title(灰度图);subplot(223),imshow(J1);title(高斯33中值滤波图);subplot(224),imshow(gd);title(高斯33均值滤波图);G=imread(pic.jpg);I = rgb2gray(G);I1=imnoise(I,salt & pepper,0.2);J1=medfilt2(I1,3,3); %33中值滤波模板J2=fspecial(average,3); gd=imfilter(I,J2);%均值滤波%建立预定义的滤波算子,type指定算子的类型,para指定相应的参数figure,subplot(221),ims
14、how(G);title(原图);subplot(222),imshow(I);title(灰度图);subplot(223),imshow(J1);title(椒盐33中值滤波图);subplot(224),imshow(gd);title(椒盐33均值滤波图);五、实验结果图 (a)原图 (b)灰度图 (c)高斯噪声污染(d)椒盐噪声污染 (e)高斯3x3中值滤波(f)高斯3x3均值滤波 (g)椒盐3x3中值滤波(h)椒盐3x3均值滤波六、实验分析图像中的噪声往往是和信号交织在一起的尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓线条等模糊不清,从而使图像质量降低。图像平滑即消
15、除噪声是图像处理中一个重要的方面,由于图像受到干扰而产生噪声的原因是多方面的,在对一幅图像进行平滑处理前,必须仔细分析其产生噪声的原因。选择合适的平滑方法,才能既消除图像噪声,又不使图像边缘轮廓或线条变模糊,经过这样的处理后,图像更符合人的视觉特性。随着数字图像处理的广泛应用,一些在人工智能、控制领域中成熟或前沿的数学模型如神经网络、模糊数学、自适应控制等相关技术在数字图像处理中逐渐采用,从而使建立的图像处理数学模型效率更高、性能更好。这些方法在不同程度上增强了去噪效果,但也带来了运算复杂、适用面窄等缺点。因而我们在选择消除噪声方法时,必须综合考虑各种因素,选择最适合的平滑方法。实验四 图像锐
16、化处理及边缘检测一、实验预习空间域图像锐化增强,重要用到微分算子和模板的概念。(1)边缘图像目标的形状特征主要来自图像中可辨识的区域边缘。图像目标的边缘是图像中灰度阶跃的部分,可靠地检出灰度的阶跃,也就找出了图像的边缘。图像边缘位于灰度阶跃的位置,数字图像由于采样的原因,边缘都有一定的模糊,它表现为图像边缘均具有一定的坡度,边缘区均有一个窄的宽度,形成了一个边缘剖面。粗略地区分边缘种类有两种,其一是阶跃边缘,它两边像素的灰度值有显著的不同,其二是屋顶状边缘,它位于灰度值从增加到减少的变化转折点。经典的边缘提取方法是考虑图像的每个像素在某个领域内的变化,利用边缘邻近一阶或二阶方向导数变化规律来提
17、取边缘。(2)梯度算子在数字处理中,微分用差分表近似,纵向微分运算 Gi(i,j)=f(i,j)-f(i-1,j)横向微分运算 Gi(i,j)=f(i,j)-f(i,j-1)双向一次微分 G(i,j)=sqrt f(i,j)-f(i,j-1)f(i,j-1)+ f(i,j)-f(i,j-1) f(i-1,j)-f(i,j-1)Roberts算子Roberts边缘算子采用的是对角方向相邻的两个像素之差,是一种利用局部差分算子寻找边缘的算子。它由下式给出。G(i,j)=|f(i,j)-f(i+1,j+1)|+|f(i+1,j)-f(i,j+1)|G(i,j)=f(i,j)-f(i+1,j+1)2|
18、+f(i+1,j)-f(i,j+1) 21/2其中G(i,j)表示处理有的(i,j)点的灰度值,f(i,j)表示当前处理前该点的灰度值。该算法的算子如下: Sobel算子是先做成加权平均,再微分,然后求梯度,即: G=f(i-1,j+1)+2f(i,j+1)+f(i+1,j+1)-f(i-1,j-1)-2f(i,j-1)-f(i+1,j-1) G=f(i-1,j-1)+2f(i-1,j)+f(i-1,j+1)-f(i+1,j-1)-2f(i+1,j)-f(i+1,j+1)Gf(i,j)=| Gi|+|Gj|该算法的算子如下: 水平边缘Sobel算子 垂直边缘Sobel算子Prewitt算子以下
19、两个卷核形成了Prewitt边缘检测算子,产生一幅边缘强度图像。算子为: (3)二阶微分算子拉普拉斯、高斯拉普拉斯算子拉普拉斯算子是一个二阶导数,它将在边缘处产生一个陡峭的零交叉。常用的拉普拉斯算子的模板为: 由于噪声点对边缘检测有一定影响,所以高斯-拉普拉斯算子是效果较好的边缘检测器。它把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平滑掉噪声,再进行边缘检测,所以效果更好。由于通常的高斯-拉普拉斯算子是一个的模板: 二、实验环境MATLAB R2012b三、实验内容(1)选择梯度算子(纵向微分、横向微分等)编程实现,对图像边缘增强,并观看图象锐化增强的效果。(2)对于图像目标形状比较模糊的
20、图像,运用罗伯特梯度算子、拉普拉斯算子、高斯拉帕拉斯算子等方法增强边缘,编程实现并观看图象锐化增强的效果;四、程序代码代码:G=imread(classic.jpg);I = rgb2gray(G);%转成灰图h=fspecial(sobel);%指定滤波器类型为sobelJ=filter2(h, I); %使用指定的滤波器h对I进行滤波,结果保存在J中a=min(J(:);J1=J+abs(a);%abs整型变量的绝对值头文件I1=J1/max(J1(:)*255;I1=uint8(I1);%数据类型的转换J2=abs(J);%整型变量的绝对值头文件I2=J2/max(J2(:)*255;I
21、2=uint8(I2);figure;subplot(2,2,1), imshow(G), title(原图);subplot(2,2,2), imshow(I), title(灰度图);subplot(2,2,3), imshow(I1), title(锐化滤波、数据加正数后图像);subplot(2,2,4), imshow(I2), title(锐化滤波、数据取绝对值后图像);G=imread(classic.jpg);I = rgb2gray(G);%转成灰图subplot(2,3,1),imshow(G),title(原图);subplot(2,3,2),imshow(I),titl
22、e(灰度图);BW1=edge(I, roberts);subplot(2,3,3), imshow(BW1), title(用Roberts算子);BW2=edge(I, sobel);subplot(2,3,4), imshow(BW2), title(用Sobel算子);BW3=edge(I, log);subplot(2,3,5), imshow(BW3), title(用拉普拉斯高斯算子);BW4=edge(I, Prewitt);subplot(2,3,6), imshow(BW4), title(用Prewitt算子);五、实验结果图彩色空间变换的结果图: (a)原图(b)灰度图
23、 (c)锐化滤波、数据加正后的图像(d)锐化滤波、数据取绝对值的图像 (e)用Sobel算子(f)用Roberts算子 (g)用拉普拉斯高斯算子(h)用Prewitt算子六、实验分析数字图像处理中图像锐化应从水平和垂直两个方向进行,最后的锐化结果由水平和垂直锐化结果共同得到,锐化结果一方面是模糊的图像变得清晰了,另一方面提取了目标物体的边界,对图像进行分割。锐化的图像质量有所改变,更适合观察、识别。边缘检测应该存在理想的检测结果,而满足理想检测结果应有以下条件:(l)能准确地检测出有效边缘、(2)有较高的边缘定位精度、(3)对于边缘的响应尽量单一、(4)对于各种不同尺度边缘都能有较好的响应、边
24、缘的漏检率低、(5)抗噪声干扰的能力强、(6)检测灵敏度不受边缘走向的影响等。用各种边缘检测算子对一幅图像进行边缘检测,其结果如上图所示。从检测的结果来看,Roberts算子提取边缘的结果边缘较粗,边缘定位不很准确,Sobel算子和Prewittt算子对边缘的定位就准确了一些,实验五 图像的形态处理学一、实验预习形态学运算是针对二值图像依据数学形态学集合论方法发展起来的图像处理方法。(1)图像腐蚀腐蚀的作用是消除物体边界点,使边界向内收缩的过程,可以把小于结构元素的物体去除。水平腐蚀所用的结构元素垂直腐蚀所用的结构元素全方向腐蚀所用的结构元素(2)图像膨胀膨胀的作用与腐蚀的作用正好相反,它是对
25、二值化物体边界点进行扩充,将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程,如果两个物体之间的距离比较近,则膨胀运算可能会把两个物体连通到一起,膨胀对填补图像分割后物体中的空洞很有用。 水平膨胀所用的结构元素垂直膨胀所用的结构元素全方向膨胀所用的结构元素(3)图像的开启先腐蚀后膨胀的过程就称为开运算。原图经过开运算后,能够去除孤立的小点、毛刺和小桥(即连通两块区域的小点),消除小物体,平滑教大物体的边界,同时并不明显改变其面积。(4)图像的闭合闭运算是先膨胀后腐蚀的过程,其功能是用来填充物体内细小空洞、连接邻近物体、平滑其边界,同时不明显改变其面积。二、实验环境MATLAB R2
26、012b三、实验内容(1)了解和掌握图像形态学的基本原理;(2)了解和掌握形态学处理中的膨胀、腐蚀、开运算和闭运算的算法,编程实现,并观看其效果。四、程序代码代码:G=imread( classic.jpg);I = rgb2gray(G);%转成灰图A=im2bw(I);%转成二值图像B1=1 0 1;BW1= imdilate(A,B1); %水平膨胀B2=1 01;BW2= imdilate(A,B2);%垂直膨胀B3=1 0 10 0 01 0 1;BW3= imdilate(A,B3);%全方向膨胀subplot(2,2,1),imshow(A),title(二值图);subplot
27、(2,2,2),imshow(BW1),title(水平);subplot(2,2,3),imshow(BW2),title(垂直);subplot(2,2,4),imshow(BW3),title(全方向);G=imread( classic.jpg);I = rgb2gray(G);%转成灰图A=im2bw(I);%转成二值图像B1=1 0 10 0 01 0 1;BW1=imerode(A,B1);BWB1=imdilate(BW1,B1);subplot(2,2,1),imshow(A),title(灰度图);subplot(2,2,2),imshow(A),title(二值图);su
28、bplot(2,2,3),imshow(BWB1),title(图像的开启);%先腐蚀后膨胀BW2=imdilate(A,B1); BWB2=imerode(BW2,B1);subplot(2,2,4),imshow(BWB2),title(图像的闭合);%先膨胀后腐蚀五、实验结果图彩色空间变换的结果图: (a)二值图(b)水平 (c)垂直(d)全方位 (e)灰度图(f)二值图 (g)图像开启(h)图像闭合六、实验分析数学形态学对图像的处理具有直观上的简明性和数学上的严谨性,在定量描述图像的形态特征上具有独特的优势,为基于形状细节进行图像处理提供了强有力的手段。建立在集合理论基础上的数学形态学
29、,主要通过选择相应的结构元素采用膨胀、腐蚀、开启、闭合4种基本运算的组合来处理图像。数学形态学在图像处理中的应用广泛,有许多实用的算法,但在每种算法中结构元素的选取都是一个重要的问题。实验六 图像分割一、实验预习(1)边界跟踪法边界搜索跟踪,即根据当前像元的位置和先前像元位置的信息,去捕捉下一步即将获取的边缘点的信息。搜索跟踪间断边界点,首先确定作为起始出发的边缘上的像素点,选择一个合适的搜索策略,根据前面搜索的结果,找出下一个搜索点的去向,不断地搜索下去,直到搜索终止,一般将构成图像目标的封闭边界作为终止条件。中心像素可以跟踪的方向有8个,对每个方向制定了方向编号及偏移量,由于图像文件的读取
30、是从左到右,从下向上的顺序,因此选取图像的最左下方的像素点作为起始点,当找到起始点,把该点记录下来,定义初始的跟踪方向是左上方0方向,判断该点是否为目标点, 则把该目标点作为跟踪的起始开始点,逆时针旋转90o作为新的跟踪方向,继续检测该新的跟踪方向上的点;若不是目标点则沿顺时针旋转45o,一直到找到目标点。找到目标点后,在当前跟踪方向的基础上,逆时针旋转90o作为新的跟踪方向,用同样的方法跟踪下一个边界点,直到回到起始点为止。假设黑点表示边界点,白点是图像内部点。跟踪的初始点是最左下方的黑点,跟踪的初始方向设定为左上方45o。跟踪开始后,初始点沿初始跟踪方向检测该方向是否有黑点,因为该方向有边
31、界点,如是,则保存初始点,将检测到的点作为新的初始点,在原来检测方向基础上,逆时针旋转90o作为新的跟踪方向,不是目标点则沿顺时针旋转45o,沿新跟踪方向继续检测,直到找到黑像素,然后将跟踪方向逆时针旋转90o作为新的跟踪方向。重复上面的方法,不断改变跟踪方向,直到找到新的边界点。找到新边界点后,将旧边界点保存,将新检测到的点作为新初始点,这样不段重复上述过程,直到检测点回到最开始的检测点为止。(3)区域生长法又叫区域扩张法,这种方法从被称作“生长点”的地方开始,搜索其领域,不符合接受准则的点或子区归并进来,形成新的“生长点”,反复操作,直到当前区域不能再合并为止。算法的主要过程是,依次用图像
32、的每一个像素的灰度值和标准阈值相减,判断结果是否小于标准差,是则将该点和种子点合并,不是则保持像素点的灰度值不变。二、实验环境MATLAB R2012b三、实验内容(1)运用基于寻找区域边界的方法,分割出图像目标;(2)在图像中,寻找灰度与纹理相同或相似的区域,直接区分图像中的背景区域个目标区域,进行图像分割。四、程序代码代码:I = imread( classic.jpg);subplot(331);imshow(I);title(原始图像);%二值图像I1 = rgb2gray(I);%将彩色图像转化为灰度图像threshold = graythresh(I1);%计算将灰度图像转化为二值
33、图像所需的门限BW = im2bw(I1, threshold);%将灰度图像转化为二值图像subplot(332);imshow(BW);title(二值图像);%边界跟踪法dim = size(BW);col = round(dim(2) / 2) - 90;%计算起始点列坐标row = find(BW(:,col), 1);%计算起始点行坐标connectivity = 8;numPoints = 180;contour = bwtraceboundary(BW, row, col, N, connectivity, numPoints);%提取边界 N遍历方向 subplot(333)
34、;imshow(I1);title(边界跟踪图像);%阈值法I2 = rgb2gray(I);%将彩色图像转化为灰度图像subplot(334);imshow(I2);title(灰度图像);axis(50, 250, 50, 200);grid on;%显示网格线axis on;%显示坐标系m, n = size(I2);%测量图像尺寸参数GP = zeros(1, 256);%预创建存放出现概率的向量for k = 0 : 255 GP(k + 1) = length(find(I2 = k) / (m * n);%计算每级灰度出现的概率, 将其存入GP中相应位置endsubplot(33
35、5),bar(0 : 255, GP, g);title(灰度直方图);xlabel(灰度值);ylabel(出现概率);%绘制直方图I3 = im2bw(I2, 150 / 255);subplot(336);imshow(I3);title(阈值150的分割图像);%axis(50, 250, 50, 200);%grid on;%显示网格线%axis on;%显示坐标系%区域生长法subplot(332);imshow(BW);title(二值图像);I4 = double(BW);M, N = size(I4);y, x = getpts;%获得区域生长起始点x1 = round(x)
36、;%横坐标取整y1 = round(y);%纵坐标取整seed = I4(x1, y1);%将生长起始点灰度值存放seed中Y = zeros(M, N);%作一个全零与原图像等大的图像矩阵Y, 作为输出图像矩阵Y(x1, y1) = 1;%将Y中与所取点相对应位置的点设置为白场sum = seed;%存储符合区域生长条件的点的灰度值的和suit = 1;%存储符合区域生长条件的点的个数count = 1;%记录每次判断一点周围八个符合条件的新点的数目threshold = 15;%阈值while count 0 s = 0; %记录判断一点周围八点时, 符合条件的新点的灰度值之和 count
37、 = 0; for i = 1 :M for j = 1 : N if Y(i, j) = 1 if(i - 1) 0 & (i + 1) 0 & (j + 1) (N + 1)%判断此点是否为图像边界的点 for u = -1 : 1%判断点周围八点是否符合阈值条件 for v = -1 : 1%u,v为偏移量 if Y(i + u, j + v) = 0 & abs(I4(i + u, j + v) - seed) 0.8 %判断是否未存在于输出矩阵Y, 并且为符合阈值条件的点 Y(i + u, j + v) = 1;%符合以上两条件即将其中Y中与之位置对应的点设置为白场 count =
38、count + 1; s = s + I4(i + u, j + v);%此点的灰度之加入s中 end end end end end end endsuit = suit + count;%将n加入符合点数计数器sum = sum + s;%将s加入符合点的灰度值总合中endsubplot(338);imshow(Y);title(区域生长后的图像);五、实验结果图彩色空间变换的结果图: (a)原始图像(b)二值图像(c)边界跟踪图像(d)灰度图像(e)灰度直方图六、实验分析基于等周图割的图像分割中的等周算法,是基于图论的图像分割方法研究的产物,它是图像分割算法研究上的一大进步。传统的图像分
39、割方法已经不能适用于现在的实际要求,需要与先进的技术结合才能有所突破。但是在同时,这种算法也有着固有的缺点,他们都是针对图像灰度数据进行聚类分割,运算量随图像尺寸增大而增大。早先应用到图像分割上的谱图分割已经产生了成功的算法。一般来说,以前的方法都是依据谱图理论上的最大切/最小割算法。虽然等周准则在直观上是类似于以前的谱图理论,但表面算法上细小的差别还是将图像分割问题转化为线性系统问题,而不是特征向量问题。线性系统问题是合乎需要的,因为它改进了速度和稳定性。此外,谱图分割还会出现一些“意外情况”。最小割算法易倾向与较小的分割,从而带来问题。而等周算法倾向与大量的分割,从而可以很好的避免这个问题。