基于MATLAB的图像分割方法及应用 联系客服

发布时间 : 星期五 文章基于MATLAB的图像分割方法及应用更新完毕开始阅读6df0695b647d27284b7351e9

三江学院2014届本科生毕业设计(论文)

4.4 MATLAB语言:分水岭分割法实现图像分割 4.4.1 设计流程

开始分级队列的初始化,扫描所有标记的邻居像素,将未有归属的邻居像素按优先级不同放入不同优先级的队列从分级队列中抽取像素P,则P至少有一个邻居像素归属NP只有一个邻居像素Po有归属YP与Po同归属P是分界向量N分级队列为空Y结束 图4.10 分水岭分割法设计流程图

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

24

三江学院2014届本科生毕业设计(论文)

像素,将未有归属的邻居像素按优先级不同放入不同优先级的队列;(2)

4.4.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);

25

三江学院2014届本科生毕业设计(论文)

fgm4 = bwareaopen(fgm3, 20); I3 = I; I3(fgm4) = 255; figure, imshow(I3)

title('fgm4 superimposed on original image')% 标记前景对象 bw = im2bw(Iobrcbr, graythresh(Iobrcbr)); figure, imshow(bw), title('阈值分割') D = bwdist(bw); DL = watershed(D); bgm = DL == 0;

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.11所示:

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

26

三江学院2014届本科生毕业设计(论文)

4.5 结果分析

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

将处理后的图片与原始图片(如图4.2所示)进行对比,得出每种分割方法的特点: 1、直方图阈值分割法:虽然直方图阈值分割法不需要先验信息,且计算量较小。但是它也存在一些缺点:(1)基于单一的颜色分割获得的区域有可能会是不完整的;(2)在阈值分割中,没有充分地使用局部空间信息。(3)在某些复杂图像的各个分量直方图中,并不一定有能够用来进行阈值化分割的明显的谷;(4)当像素颜色映射到3个直方图的不同位置时,颜色信息会发散。

2、边缘检测法:亮度分量虽然能够检测出绝大部分边缘信息,但在低对比度的图像中,亮度边缘将丢失。但是色度边缘却不会,这是由于色度信息不容易受光照变化影响的原因。

3、区域生长法:存在固有弊端就是分割效果依赖于种子点的选择和生长顺序,因为相似性一般是用统计的方法确定的,因此区域生长法对噪声不敏感。

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

27