要求:对图像进行平移操作,平移后图像的原点位于(2,10)位置。
该文章代码采用平移变换矩阵实现平移操作。
I=imread('E:\informt\lesson\数字图像处理与安全\图像集\Flower.bmp');
%图像平移变换
clc
[r,c,p]=size(J);
dst=zeros(r,c,3);
dx=2;
dy=10;
tras=[1 0 dx;0 1 dy;0 0 1];
for i=1:r
for j=1:c
temp=[i;j;1];
temp_=tras*temp;
x=temp_(1,1);
y=temp_(2,1);
if(x>=1)&(x<=r)&(y>=1)&(y<=c)
dst(x,y,1)=J(i,j,1);
dst(x,y,2)=J(i,j,2);
dst(x,y,3)=J(i,j,3);
end
end
end
figure(6);
subplot(121);
imshow(J);
title('原始图像');
subplot(122);
imshow(uint8(dst));
title('平移变换');
运行结果: