班级:B110301 学号:B11030129 姓名:张新伟
第六章作业要求:
编写图像平移的Matlab 程序,实现对linagray 图像的平移操作,要求:
(1)横向平移量为40 个像素,纵向平移量为20个像素;
(2)保证信息不丢失;
(3)平移后空白部分用黑色填充。
程序代码:
I=imread('linagray.bmp');
[X Y]=size(I);
DelX=40;DelY=20;
G=zeros(X+DelY,Y+DelX);
for x=1:X
for y=1:Y
G(y+DelY, x+DelX)=I(y, x);
end
end
subplot(121);imshow(I);title('linagray.bmp 图像原图形');
subplot(122);imshow(uint8(G));title('linagray.bmp 图像平移后图形'); 运行结果:
linagray.bmp 图像原图
形linagray.bmp 图像平移后图形
结论:实现对linagray.bmp 图像的平移操作,图像平移的Matlab 程序时,应该正确对横向和纵向赋值必须正确,同时为了保证信息不丢失的情况下,应该先使其对它画布扩展,然后在进行填充,最后得到正确的图形。