Tuesday, June 10, 2008

Assignment 8 question 1

Modify Assignment 7 problem #1 so that you can scale in the x and y directions
by different factors. Scale one of the two pictures that you downloaded of the web

function [ smim ] = shrinkxy( picture,fx, fy )
Mp = floor(size(picture,1)*fy);
Np = floor(size(picture,2)*fx);

smim(:,:,1)=zeros(Mp,Np);
smim(:,:,2)=zeros(Mp,Np);
smim(:,:,3)=zeros(Mp,Np);

for i = 0:(Mp-1)
for j = 0:(Np -1)
for x = floor(i/fy):ceil((i+1)/fy)-1
for y = floor(j/fx):ceil((j+1)/fx)-1
ival = picture(x+1,y+1,:);
if(x ival =ival*(1+x-i/fy);
end
if (x+1 > (i+1)/fy)
ival = ival*(1+((i+1)/fy)-(x+1));
end
if (y< j/fx)
ival = ival*(1-(j/fx)+y);
end
if (y+1 > (j+1)/fx)
ival =ival*(1-(y+1)+(j+1)/fx);
end

smim(i+1,j+1,:) = smim(i+1,j+1,:)+ival;

end;
end;
smim(i+1,j+1,:) = smim(i+1,j+1,:)/(1/fx)/(1/fy);
end
end

>> imshow(shrinkxy(bluelines,1,0.5))
>> imshow(shrinkxy(bluelines,0.5,1))
>> imshow(shrinkxy(bluelines,0.2,0.8))




No comments: