三江学院2014届本科生毕业设计(论文)
第四章 彩色图像分割的MATLAB实现
4.1 MATLAB语言:阈值分割法实现图像分割 4.1.1 设计流程
确定阈值T读入图像N是否大于TY物体背景
图4.1阈值分割设计流程图
如图4.1所示,为阈值分割设计流程图。阈值分割法具体流程:(1)首先需要设置一个合适的阈值;(2)读入图像;(3)通过判断图像中每一个像素点的特征属性是否满足阈值的要求;(4)若大于阈值则属于目标区域,若小于等于阈值时,则属于背景区域。
4.1.2 MATLAB程序
1、RGB图像分割代码如下:
d=imread('xibao.JPG'); %读入原始图像 imshow(d); %显示原始图像
[r g b]=size(d); %计算图像数据矩阵的行列数
16
三江学院2014届本科生毕业设计(论文)
threshold=65; for i=1:r for j=1:g for k=1:3 R=double(d(i,j,1)); G=double(d(i,j,2));
B=double(d(i,j,3)); %实现等式转换 if d(i,j,2)>65 %判断与阈值的大小关系 d(i,j,2)=255; else d(i,j,2)=0; end end end end figure imshow(d)
程序经过运行输入图片后,得出如图4.3所示:
图4.2 原始图 图4.3 分割后的图像
2、根据第二章中的公式(2-1) RGB到HSI的转换程序代码如下: d=imread('xibao.JPG'); %读入原始图像 [r g b]=size(d); %计算图像数据矩阵的行列数 for i=1:r for j=1:g
R=double(d(i,j,1)); G=double(d(i,j,2));
B=double(d(i,j,3)); %实现等式转换 I=(R+G+B)/3;
S=1-3*min([R,G,B])/(R+G+B);
17
三江学院2014届本科生毕业设计(论文)
H=acos((0.5*[(R-G)+(R-B)])/(sqrt((R-G)^2+(R-B)*(G-B))+eps)); %计算公式 if B<=G H=H*180/pi; else
H=360-H*180/pi; end end end figure imshow(d) threshold=65; for i=1:r for j=1:g for k=1:3 R=double(d(i,j,1)); G=double(d(i,j,2));
B=double(d(i,j,3)); %实现等式转换 if d(i,j,2)>65 %判断与阈值的大小关系 d(i,j,2)=255; else d(i,j,2)=0; end end end end figure imshow(d)
加入分割程序经过运行输入图片后,得出如图4.4所示:
图4.4 HIS模型分割图
3、根据第二章中的公式(2-5) RGB到CMY的转换程序代码如下: d=imread('xibao.JPG'); %读入原始图像
18
三江学院2014届本科生毕业设计(论文)
imshow(d); %显示原始图像
[r g b]=size(d); %计算图像数据矩阵的行列数 for i=1:r for j=1:g
R=double(d(i,j,1)); G=double(d(i,j,2)); B=double(d(i,j,3)); r1=R/255; g1=G/255; b1=B/255; C=1-r1; M=1-g1;
Y=1-b1; %计算公式
if(M<0.67) %当现有的元素小于0.67时,跳出for循环 end end end figure imshow(d) threshold=65; for i=1:r for j=1:g for k=1:3 R=double(d(i,j,1)); G=double(d(i,j,2));
B=double(d(i,j,3)); %实现等式转换 if d(i,j,2)>65 %判断与阈值的大小关系 d(i,j,2)=255; else d(i,j,2)=0; end end end end figure
imshow(d)
加入分割程序经过运行输入图片后,得出如图4.5所示:
19
相关推荐: