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

发布时间 : 星期六 文章2014-7自编数字图像处理实验-参考答案更新完毕开始阅读

2、用函数imread()读入图像forest.tif 和trees.jpg,使用imshow命令在同一图形窗中显示两者;再打开另一个图形窗,利用subimage函数实现在同一个图形窗口中显示该两幅图像,对比前后两者的显示效果,给出解释。 程序如下:

I1=imread(‘forest.tif’); I2=imread(‘trees.jpg’) figure,

subplot(2,1,1),imshow(I1); subplot(2,1,2),imshow(I2); figure,

subplot(2,1,1),subimage(I1); sublot(2,1,2),subimage(I2);

对比前后两者的显示效果,imshow显示的图片有问题,而subimage则显示正常。原因:subimage可以在一个界面上同时显示几幅不同调色板的图像 3、总结imshow命令的使用方式,并给出简单实例语句。(如何显示索引图像,RGB图像,二进制图像,非图像矩阵等) 总结如下: 1、imshow(I)%显示图像最基本命令,imshow(I,[low,high])%按照最大灰度范围显示图像

2、imshow(I,map)%按照调色板map,显示索引图像 3、imshow(I,N)%显示具有N个灰度级的灰度图像 4、imshow(BW)%显示二值图像BW 可参考教材(余成波)3.3节内容 二、图像类型转换

1、编写一个m文件实现如下功能:读入任意一幅RGB图像,选择合适的函数将其变换为灰度图像和二值图像,并在同一个窗口内分成三个子区域来分别显示RGB图像,灰度图像,二值图像。

程序及显示结果如下: RGB=imread('xianhua.jpg'); Y=rgb2gray(RGB); BW=im2bw(RGB,0.4);

subplot(1,3,1),imshow(RGB); subplot(1,3,2),imshow(Y); subplot(1,3,3),imshow(B);

三、图像运算 1、线性点运算

(1)、给出如下程序

rice=imread('rice.png'); I=double(rice); A=0.43; B=60; J=I*A+B;

rice2=uint8(J);

subplot(1,2,1),imshow(rice); subplot(1,2,2),imshow(rice2);

运行该程序,观察显示效果,修改以上线性点运算程序,改变A和B值,分析A的值大于1和小于1时,B的值正负时,对原图像的影响。 参考程序如下: 程序如下:

(1)rice=imread('rice.png'); (2)rice=imread('rice.png'); I=double(rice); J=60;

J=I*0.43+60; subplot(1,2,1),imshow(rice); rice2=uint8(J) ; subplot(1,2,2),imshow(rice2); subplot(1,2,1),imshow(rice);

subplot(1,2,2),imshow(rice2);

(3) J=I*0.22+60; (4)J=I*0.68+60;

(5)J=I*0.43+30; (6) J=I*0.43+100;

(2)、任选一副图像或下图进行点运算,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。

图2.10 例图 参考程序如下:

mei=imread('mei.jpg');

J=mei*0.43+100; K=mei*0.43+30; Z=255-mei;

subplot(1,4,1),imshow(mei); subplot(1,4,2),imshow(J); subplot(1,4,3),imshow(K); subplot(1,4,4),imshow(Z);

2、代数运算 (1)、选取两幅大小相同的灰度图像A,B,或将不同大小的图像截取成相同大小后,将两幅图像执行加法运算得到C。 (2)、选取以上相加后的图像C作为源图像,将该混合图像与背景图像A或B做减法,显示结果。 (3)、选取一副灰度图像A,设置一个掩模模板B,需要保留的区域,图像值为1,而在需要被抑制的区域,则设为0,完成A.*B,显示结果。 提示:模板构造时,大小与源图像一致,如:B=zeros(256,256);B(40:200,40:200)=1,就构成一个模板。

根据以上结果,分析图像加法,减法,乘法运算的应用特点 (1)、

I=imread('A.jpg'); J=imread('B.jpg'); K=imadd(I,J);

subplot(1,3,1),imshow(I);title(‘原图1’); subplot(1,3,2),imshow(J); title(‘原图2’); subplot(1,3,3),imshow(K); title(‘相加’) 结果如下: