function mt = translation(g,a,b )
% 图像平移函数
% g为输入RGB图像,mt为平移后的RGB图像
% a为沿水平方向的平移量
% b为沿垂直方向的平移量
mt=[];
[m,n,l]=size(g);
jx=255*ones(m,n,l);
for i=1:m-a
for j=1:n-b
if a>=0 && b>=0
jx(i,j,:)=g(a+i,b+j,:);
elseif a>=0 && b<0
jx(i,j,:)=g(a+i,j,:);
elseif a<0 && b>=0
jx(i,j,:)=g(i,b+j,:);
elseif a<0 && b<0
jx(i,j,:)=g(i,j,:);
end
end
end
mt = units(jx);
subplot(1,2,1),imshow(g);
subplot(1,2,2),imshow(mt);
% 图像平移函数
% g为输入RGB图像,mt为平移后的RGB图像
% a为沿水平方向的平移量
% b为沿垂直方向的平移量
mt=[];
[m,n,l]=size(g);
jx=255*ones(m,n,l);
for i=1:m-a
for j=1:n-b
if a>=0 && b>=0
jx(i,j,:)=g(a+i,b+j,:);
elseif a>=0 && b<0
jx(i,j,:)=g(a+i,j,:);
elseif a<0 && b>=0
jx(i,j,:)=g(i,b+j,:);
elseif a<0 && b<0
jx(i,j,:)=g(i,j,:);
end
end
end
mt = units(jx);
subplot(1,2,1),imshow(g);
subplot(1,2,2),imshow(mt);