matlab关于图像平移的一小段代码,求大神每句帮忙解释下,谢谢啦!

2025-01-19 16:32:14
推荐回答(1个)
回答1:

f=imread('hehua1.bmp');%读图片
[m,n,x]=size(f);%求图的维数
f=double(f);%转化为双精度数据
for i=1:20 %平移10次
mx=10*i;%x轴平移量,像素数
my=10*i;%y轴平移量,像素数
g=zeros(m,n,x)+255;%背境设为白色
g(mx+1:m,my+1:n,1:x)=f(1:m-mx,1:n-my ,1:x);%平移,取原图左上角赋给新图,原图坐标减少,像素减少,看起来新图向右下平移
%g(1:m-mx,1:n-my ,1:x)=f(mx+1:m,my+1:n,1:x);%平移,取原图右下角赋给新图,原图坐标增加,像素增加,看起来新图向左上平移
figure;%生成一个图窗
%imshow(g);%显示双精数据图形
imshow(uint8(g));%双精转为uint8,再显示图形
end