Sunday, June 8, 2008

Assignment #8 Question 1 a,b,c

Question 1abc:
function [T]=distort(picture,fx,fy);
picture=double(picture);
Mp=floor(size(picture,1)*fx);
Np=floor(size(picture,2)*fy);
T(:,:,1)=zeros(Mp,Np);
T(:,:,2)=zeros(Mp,Np);
T(:,:,3)=zeros(Mp,Np);
for i=0:(Mp-1);
for j=0:(Np-1);
for x=floor(i/fx):
ceil((i+1)/fx)-1;
for y=floor(j/fy):ceil((j+1)/fy)-1;
ival=picture(x+1,y+1,:);
if (x<(i/fx)); ival=ival*(1+x-(i/fx)); end; if (x+1>(i+1)/fx);
ival=ival*(1-(x+1)+((i+1)/fx));
end;
if (y<(j/fy));ival=ival*(1+y-(j/fy)); end; if (y+1>(j+1)/fy);
ival=ival*(1-(y+1)+((j+1)/fy));
end;
T(i+1,j+1,:)=T(i+1,j+1,:)+ival;
end;
end;
T(i+1,j+1,:)=T(i+1,j+1,:)*((fx*fy)^2);
end;
end;
endfunction;

(fx=1, fy=0.5)

(fx=0.5, fy=1)
(fx=0.2, fy=0.8)



Since my first picture was very dark, I decided to use picture2 however, this method since produced very dark images especially when fx=0.2 and fy=0.8.

(fx=1, fy=0.5)

(fx=0.5, fy=1)

(fx=0.2, fy=0.8)

No comments: