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

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

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

图4.5 CMY模型分割图

4.2 MATLAB语言:边缘检测法实现图像分割 4.2.1 设计流程

读入图像Roberts算子检测Sobel算子检测Prewitt算子检测LOG算子检测canny算子检测效果图图4.6 边缘检测法设计流程图

如图4.6所示,为边缘检测法的设计流程图。对于彩色图像分割来说,边缘检测技术可以直接应用于彩色图像上。具体流程:(1)读取图像;(2)直接加上算子检测,便可以得到分割后的效果图。

4.2.2 MATLAB程序

边缘检测法分割代码如下:

f=imread('C:\\Users\\dj\\Desktop\\MATLAB\\xibao.JPG');f=rgb2gray(f); f2=imnoise(f,'salt & pepper',0.3); figure

subplot(2,3,1);imshow(f);title('灰白原图');

20

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

[g,t]=edge(f,'roberts',[],'both'); subplot(2,3,2);

subimage(f);title(' Roberts算子对图像分割的结果 '); [g,t]=edge(f,'sobel',[],'both'); subplot(2,3,3);

subimage(g);title(' Sobel算子对图像分割的结果 '); [g,t]=edge(f,'prewitt',[],'both'); subplot(2,3,4);

subimage(g);title('Prewitt算子对图像分割的结果 '); [g,t]=edge(f,'log'); subplot(2,3,5);

subimage(g);title('LOG算子对图像分割的结果 '); [g,t]=edge(f,'canny'); subplot(2,3,6);

subimage(g);title('canny算子对图像分割的结果 '); 运行程序后,得出如图4.7示:

4.7 边缘分割后的图像

21

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

4.3 MATLAB语言:区域生长法实现图像分割 4.3.1 设计流程

确定种子像素读入图像N扫描是否与种子像素相似Y合并入区域

图4.8 区域生长法设计流程图

如图4.8所示,为区域生长法的设计流程图。区域生长法流程如下:(1)首先要选择生长点,确定种子像素;(2)读取图像;(3)通过扫描图像中每一个像素点的特征属性是否与种子像素相似;(4)若与种子像素则合并入生长区域内,反之,则不选入生长区域内。

4.3.2 MATLAB程序

区域生长法分割代码如下:

image=imread('xibao.JPG');f=rgb2gray(image); f=rgb2gray(image); subplot(1,2,1);

22

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

subimage(f);%选择三个种子点 seedx=[63,10,85];%xibao图的生长点 seedy=[30,56,60]; hold on

plot(seedx,seedy,'gs','linewidth',1); title('原始图像及种子点位置'); f=double(f);

markerim=f==f(seedy(1),seedx(1)); for i=2:length(seedx)

markerim=markerim|(f==f(seedy(i),seedx(i))); end%3个种子点区域的阈值 thresh=[12,6,12]; maskim=zeros(size(f)); for i=1:length(seedx)

g=abs(f-f(seedy(i),seedx(i)))<=thresh(i); maskim=maskim|g; end

[g,nr]=bwlabel(imreconstruct(markerim,maskim),8); subplot(1,2,2); subimage(g);

title('三个种子点区域生长分割结果'); 运行程序后,得出如图4.9所示:

图4.9 区域生长法分割后的图像

23