function translation
global im
global xi
global yi
I=get(im,'CData');
Mask=I(:,:,3);
[x,y]=ginput(2);
dx=round(x(2)-x(1));
dy=round(y(2)-y(1));
[m,n]=size(Mask);
if dx>0
Mask=[zeros(m,dx+1) Mask];
Mask(:,end-dx:end)=[];
else
Mask(:,1:-dx)=[];
Mask(:,end:end-dx)=0;
end
if dy<0
Mask(1:-dy,:)=[];
Mask(end:end-dy,:)=0;
else
Mask(end-dy:end,:)=[];
Mask=[zeros(dy+1,n);Mask];
end
I(:,:,3)=255*Mask;
set(im,'CData',I);
xi=xi+dx;
yi=yi+dy;