Saturday 31 August 2013

Nearest Neighbour Code

clc
clear all
A = imread('orignal.bmp');
[m,n]=size(A);
Z=ones(360,480);
[m1,n1]=size(Z);
r=m/m1;
c=n/n1;
for row=1:m1
    new_row=round(row*r);
    for col=1:n1
       new_col=round(col*c);
       d1=sqrt(((new_row-row)^2)+((new_col-(col+1))^2));
       d2=sqrt(((new_row-row)^2)+((new_col-(col-1))^2));
       d3=sqrt(((new_row-(row+1))^2)+((new_col-col)^2));
       d4=sqrt(((new_row-(row-1))^2)+((new_col-col)^2));
       if(d1<d2 && d1<d3 && d1<d4)
            Z(row,(col+1))=A(new_row,new_col);
       elseif(d2<d1 && d2<d3 && d2<d4)
            Z(row,(col-1))=A(new_row,new_col);
       elseif(d3<d1 && d3<d2 && d3<d4)
            Z((row+1),col)=A(new_row,new_col);
       elseif(d4<d1 && d4<d2 && d4<d3)
            Z((row-1),col)=A(new_row,new_col);
       else
            Z(row,col)=A(new_row,new_col);
       end
    end
end
imwrite(uint8(Z),'linear.bmp');
imshow(uint8(Z));

No comments:

Post a Comment