当前位置:首页 > 实验三 图像几何变换处理
③水平镜像
>> I=imread('pout.tif'); >> m=[-1,0,0;0,1,0;1,0,1]; >> J=maketform('affine',m); >> K=imtransform(I,J); >> figure,imshow(I); >> figure,imshow(K);
④垂直镜像
>> I=imread('pout.tif'); >> m=[1,0,0;0,-1,0;0,1,1]; >> J=maketform('affine',m); >> K=imtransform(I,J); >> figure,imshow(I); >> figure,imshow(K);
四、参考程序代码
%图像缩放
Im=imread('pepperssm1.png');
Im1=imresize(Im,2,'nearest');%第二个参数小于1为缩小 Im2=imresize(Im,2,'bilinear'); Im3=imresize(Im,2,'bicubic'); figure(1); imshow(Im); title('原图像'); figure(2); imshow(Im1);
title('最近邻插值法'); figure(3); imshow(Im2);
title('双线性插值法'); figure(4); imshow(Im3);
title('双立方插值法');
Im4=imresize(Im,[200 200]);%用最近邻插值把图像变成200*200的大小 figure(5); imshow(Im4); title('200*200'); %%%%图像旋转
Im=imread('cameraman.tif');
Im1=imrotate(Im,30,'bilinear');%用双线性法逆时针旋转图像30度
Im2=imrotate(Im,30,'bilinear','crop');%不改变原图大小,超出画布的部分被剪切掉
subplot(1,3,1); imshow(Im); title('原图像'); subplot(1,3,2); imshow(Im1);
title('改变原图大小的旋转'); subplot(1,3,3); imshow(Im2);
title('不改变原图大小的旋转'); figure(2); for i=1:20
Im3=imrotate(Im,15*i,'crop'); imshow(Im3); end %图像剪切
Im=imread('cameraman.tif'); Im1=imcrop(Im);%按指定参数剪切图像 subplot(1,2,1);
imshow(Im); title('原图像'); subplot(1,2,2); imshow(Im1);
title('剪切后的图像');
共分享92篇相关文档