2024-7自编数字图像处理实验-参考答案(4)

2025-11-09

subplot(121);imshow(I);axis on;title('原图') s=1.5;T=[s 0;0 s;0 0]; tf=maketform('affine',T);

I1=imtransform(I,tf,'bicubic','FillValues',0.3); subplot(122);imshow(I1);axis on;title('尺度变换') 伸缩变换 【例】

CLF;I=checkerboard(20,2);

subplot(121);imshow(I);axis on;title('原图') t=2;T=[1 0;0 t;0 0];

tf=maketform('affine',T);

I1=imtransform(I,tf,'bicubic','FillValues',0.3); subplot(122);imshow(I1);axis on;title('伸缩变换') 旋转变换:

CLF;I = checkerboard(20,2);

subplot(1,2,1);imshow(I);title('原图') angle=20*pi/180;

sc=cos(angle);ss=sin(angle); T=[sc -ss; ss sc;0 0]; tf=maketform('affine',T);

I1=imtransform(I,tf,'bicubic','FillValues',0.3); subplot(122);imshow(I1);title('旋转变换') 综合变换 【例】

CLF;I = checkerboard(20,2);

subplot(1,2,1);imshow(I);title('原图') s=2;As=[s 0;0 s]; % 尺度 t=2;At=[1 0;0 t]; % 伸缩 u=1.5;Au=[1 u;0 1]; % 扭曲

st=30*pi/180;sc=cos(angle);ss=sin(angle); Ast=[sc -ss; ss sc]; % 旋转 T=[As*At*Au*Ast;3 5]; tf=maketform('affine',T);

I1=imtransform(I,tf,'bicubic','FillValues',0.3); subplot(122);imshow(I1);title('综合')

四、图像邻域操作、区域操作、图像统计及MATLAB实现 1、运行以下程序,观察显示结果: (1)、%用函数mean作滑动处理 CLF

I=imread('tire.tif');

I2=nlfilter(I,[5 5],'mean2'); subplot(121),imshow(I,[]); subplot(122),imshow(I2,[]); (2)%用自定义函数作滑动处理 CLF

I=imread('tire.tif'); f=inline('max(x(:))'); I2=nlfilter(I,[3 3],f); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(I2); (3)%快速滑动领域操作 CLF

I=imread('tire.tif');

I2=colfilt(I,[5 5],'sliding','mean'); subplot(121),imshow(I,[]); subplot(122),imshow(I2,[]); (4)%用列操作函数实现滑动 CLF

I=imread('ic.tif');

I1=im2col(I,[3 3],'sliding');

I1=uint8([0 -1 0 -1 4 -1 0 -1 0]*double(I1)); I2=col2im(I1,[3,3],size(I),'sliding'); subplot(121),imshow(I,[]); subplot(122),imshow(I2,[]); (5)%图像块操作(分离) CLF

I=imread('tire.tif');

f=inline('mean2(x)*ones(size(x))'); I2=blkproc(I,[8 8],f);

subplot(1,2,1),imshow(I,[]) subplot(1,2,2),imshow(I2,[]) (6)%快速块操作(分离) CLF

I=imread('tire.tif');

f=inline('ones(64,1)* mean(x)'); I2=colfilt(I,[8 8],'distinct',f); subplot(1,2,1),imshow(I,[]) subplot(1,2,2),imshow(I2,[])

(7)%用列操作函数实现块操作(分离) CLF

I=imread('tire.tif');

I1=im2col(I,[8 8],'distinct'); I1=ones(64,1)* mean(I1);

I2=col2im(I1,[8,8],size(I),'distinct'); subplot(121),imshow(I,[]); subplot(122),imshow(I2,[]);

从显示结果中,试分析滑动领域与分离领域操作的区别?

答:滑动领域各邻域之间有重叠,而分离领域操作各领域间没有重叠部分,因此同样做均值处理,滑动邻域操作后,图像相对光滑,而分离领域操作后图像有块状马赛克效应,颗粒感强。

2、练习roipoly, roicolor, roifilter函数的使用(参考相关教学资料) 可演示以下部分程序来体会函数的用法; 【例】多边形选择区域 CLF

I=imread('eight.tif');

c=[222 272 300 270 221 194]; r=[21 21 75 121 121 75]; BW=roipoly(I,c,r);

subplot(121),subimage(I); subplot(122),subimage(BW); 【例】灰度选择法 CLF

I=imread('rice.tif'); BW=roicolor(I,128,255); subplot(121),subimage(I); subplot(122),subimage(BW); 【例】对指定区域进行锐化 CLF

I=imread('eight.tif');

c=[222 272 300 270 221 194]; r=[21 21 75 121 121 75]; BW=roipoly(I,c,r);

h=fspecial('unsharp'); % 滤波函数 J=roifilt2(h,I,BW);

subplot(121),subimage(I); subplot(122),subimage(J); I=imread('eight.tif');

c=[222 272 300 270 221 194]; r=[21 21 75 121 121 75]; J=roifill(I,c,r);

subplot(121),subimage(I); subplot(122),subimage(J);

【思考题】

1、 MatLab软件可以支持哪些图像文件格式?

答:Matlab可支持的图像格式包括BMP,JPEG,TIFF,GIF等等。

2、MATLAB中有哪些类型的图像,在MATLAB中分别用什么类型的数组来存储? 答:MATLAB图像处理工具箱包括5种类型的图像,如下 二进制图像,使用uint8或双精度类型数组存储

索引图像,数据矩阵使uint8,uint16或双精度类型,颜色映射矩阵每个元素均为[0 1]间的双精度浮点型数据。

灰度图像,uint8,uint16或双精度类型的数组来描述 RGB图像,双精度浮点型,uint8,uint16类型 多帧图像

3、由图像算术运算的运算结果分析,思考图像减法运算在什么场合上发挥优势? 答:图像减法是一种常用于检测图像变化及运动物体的图像处理方法。在很短时间内,可认为图像背景固定不变,可以直接运用减法运算来检测变化或运动的物体。 4、非比例缩放得到的图片和比例缩放得到的图片有何差异?是否失真?

答:非比例缩放图像对原图有畸变,而按照比例缩放的图像没有畸变。由于x,y方向的缩放比例不同,改变了原始图像像素的相对位置,产生了几何畸变。 5、图像的旋转会导致图像的失真么?

图像的旋转有时会发生失真,尤其旋转不是90度整数倍时。 【实验设备】

装有MATLAB软件的电脑,u盘

【实验报告要求】

1、实验报告写明实验题目,可简写实验原理,实验内容,详细写实验过程和实验结果分析,要求附相关程序及显示结果 2、回答思考题,写在实验报告上

实验3 MATLAB实现数字图像的变换技术(2学时)

【实验内容】 一、傅里叶变换

1、选择任意一幅图像进行平移和旋转,显示原始图像与处理后图像,分别对其进行FFT傅里叶变换,显示变换后结果,并要求使用FFTshift搬移频谱中心,分析原图的傅里叶谱与平移,旋转后傅里叶频谱的对应关系。

参考程序如下(参考程序中是人为构造一个图像矩阵,形成一幅图像,也可选择现成的图像进行平移,旋转,而后求解傅里叶变换):

【例】图像的平移 CLF

f1 = zeros(256,256);f1(108:148,108:148) = 1;

f2 = zeros(256,256);f2(158:198,58:98) = 1;%与f1相比,就是平移效果

F1 = fft2(f1);F1 = log(1+abs(F1)); F2 = fft2(f2);F2 = log(1+abs(F2)); subplot(221),imshow(f1,[]) subplot(222),imshow(f2,[]) subplot(223),imshow(F1,[]) subplot(224),imshow(F2,[])

平移性:原图像平移,变换图像幅值图没有变化,但相位会旋转。

【例】图像的旋转 CLF

f1 = zeros(256,256);f1(58:198,108:148) = 1; f2 = imrotate(f1,45,'crop');

F1 = log(1+abs(fftshift(fft2(f1)))); F2 = log(1+abs(fftshift(fft2(f2)))); subplot(221),imshow(f1,[]) subplot(222),imshow(f2,[]) subplot(223),imshow(F1,[]) subplot(224),imshow(F2,[]) 图像旋转,谱旋转


2024-7自编数字图像处理实验-参考答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:三年级语文教案-小学语文三年级下册教材简介 精品

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219