2014-7自编数字图像处理实验-参考答案

新疆大学信息科学与工程学院

end

function flag=predicate(region) sd=std2(region); m=mean2(region);

flag=(sd>5)&(m>0)&(m<200); end 5、

图6.5 例图

图6.6 例图

图6.7 例图

1).运行如下程序实现对图6.5,实现去除图像中的噪声,请分析显示结果。 I=imread('test1.tif'); J=im2bw(I);

se = strel('diamond',2); K=imerode(J,se);

45

新疆大学信息科学与工程学院

subplot(131),imshow(I) subplot(132),imshow(J)

subplot(133), imshow(K)

2).运行如下程序,实现将图6.6转化为二值图像,并计算图中鸡块中骨头的比重,请分析显示结果。 I=imread('test2.tif'); J=im2bw(I); total1=bwarea(J); a=size(J); s1=a(1),s2=a(2); s=s1*s2 k=total1/s

46

新疆大学信息科学与工程学院

3).运行如下程序,实现去除图6.7中的矩形区域外的噪声,并填充矩形区域内部的小孔,请显示结果。 I=imread('test3.tif'); se = strel('diamond',5); J=imerode(I,se);

se = strel('diamond',10); K=imdilate(J,se); subplot(131),imshow(I) subplot(132),imshow(J)

subplot(133), imshow(K)

二、图像描述(根据课程内容,可选作其中部分内容) 查阅相应参考文献,完成

1、选择一幅彩色图像,编程计算其在RGB和HIS空间下的颜色矩,绘制颜色直方图

参考程序如下:

%颜色矩,假设原图为rgb图像

I=imread('a.jpg');

I1=rgb2hsv(I);%如果需要求解RGB空间下的颜色矩,则将此条语句去掉即可 [n,m,q]=size(I1); sum1=n*m; h=I1(:,:,1); s=I1(:,:,2); v=I1(:,:,3); y=zeros(1,9); %求一阶矩(均值) for i=1:sum1

y(1)=y(1)+h(i); y(2)=y(2)+s(i); y(3)=y(3)+v(i); end

y(1)=y(1)/sum1; y(2)=y(2)/sum1; y(3)=y(3)/sum1;

%求二阶矩(方差) for i=1:sum1

y(4)=y(4)+(h(i)-y(1))^2; y(5)=y(5)+(s(i)-y(2))^2; y(6)=y(6)+(v(i)-y(3))^2; end

47

新疆大学信息科学与工程学院

y(4)=sqrt(y(4)/sum1); y(5)=sqrt(y(5)/sum1); y(6)=sqrt(y(6)/sum1); %求三阶矩

for i=1:sum1

y(7)=y(7)+(h(i)-y(1))^3; y(8)=y(8)+(s(i)-y(2))^3; y(9)=y(9)+(v(i)-y(3))^3; end

y(7)=(y(7)/sum1)^(1/3); y(8)=(y(8)/sum1)^(1/3); y(9)=(y(9)/sum1)^(1/3); y

%绘制颜色直方图: 参考程序如下:

%读入图像

Image=imread(B); %end

[M,N,O] = size(Image); %M = 256; %N = 256;

% 计算每一幅图像的颜色直方图 [h,s,v] = rgb2hsv(Image); H = h; S = s; V = v; h = h*360;

%将hsv空间非等间隔量化: % h量化成16级; % s量化成4级; % v量化成4级; for i = 1:M for j = 1:N

if h(i,j)<=15||h(i,j)>345 H(i,j) = 0; end

if h(i,j)<=25&&h(i,j)>15 H(i,j) = 1; end

if h(i,j)<=45&&h(i,j)>25 H(i,j) = 2; end

if h(i,j)<=55&&h(i,j)>45

48

联系客服:779662525#qq.com(#替换为@)