Friday, July 4, 2008

Photomosaic 1

After considering many images I decided to go with this image.



pkg load image
cd C:\
K=imread("photomosaic9.jpg");
K=double(K)/255;
imshow(K)
size(K)
124 124 3


















#Step 1
function Z=zoom(large,f)
cols=floor(size(large,2)*f);
rows=floor(size(large,1)*f);
for i1=1:rows;
for j1=1:cols;
a=round(i1/f);
b=round(j1/f);
Z(i1,j1,:)=large(a,b,:);
end;
end;
endfunction
K1=zoom(K,1/(3.1));
imshow(K1)
size(K1)
40 40 3




























#Step 2
B=floor(255*double(K1)/86)*86+42;
imshow(B/255)

































#Step 3
function Z=stretching(small,f)
ocols=size(small,2);
orows=size(small,1);
rows=floor(size(small,1)*f);
cols=floor(size(small,2)*f);
for i1=0:(rows-1);
for j1=0:(cols-1);
a=floor((i1/f)+1);
b=floor((j1/f)+1);
if (a greater 0)&(a less or equal orows)&(b greater 0)&(b less or equal ocols)
Z(i1+1,j1+1,:)=small(a,b,:);
end;
end;
end;
endfunction
C=stretching(B,16);
imshow(double(C)/255)
size(C)
640 640 3


























I took the following image and resized it using GIMP and made 27 images with different average colors.

#Step 4
e=imread("red2.jpg");
size(e)
75 75 3
















x111=(imread("x111.jpg"));
x112=(imread("x112.jpg"));
x113=(imread("x113.jpg"));
x121=(imread("x121.jpg"));
x122=(imread("x122.jpg"));
x123=(imread("x123.jpg"));
x131=(imread("x131.jpg"));
x132=(imread("x132.jpg"));
x133=(imread("x133.jpg"));
x211=(imread("x211.jpg"));
x212=(imread("x212.jpg"));
x213=(imread("x213.jpg"));
x221=(imread("x221.jpg"));
x222=(imread("x222.jpg"));
x223=(imread("x223.jpg"));
x231=(imread("x231.jpg"));
x232=(imread("x232.jpg"));
x233=(imread("x233.jpg"));
x311=(imread("x311.jpg"));
x312=(imread("x312.jpg"));
x313=(imread("x313.jpg"));
x321=(imread("x321.jpg"));
x322=(imread("x322.jpg"));
x323=(imread("x323.jpg"));
x331=(imread("x331.jpg"));
x332=(imread("x332.jpg"));
x333=(imread("x333.jpg"));

R=[x111,x112,x113,x121,x122,x123,x131,x132,x133,x211,x212,x213,x221,x222,x223,x231,x232,x233,x311,x312,x313,x321,x322,x323,x331,x332,x333];

S01(:,:,1)=42;
S01(:,:,2)=42;
S01(:,:,3)=42;
S02(:,:,1)=42;
S02(:,:,2)=42;
S02(:,:,3)=128;
S03(:,:,1)=42;
S03(:,:,2)=42;
S03(:,:,3)=214;
S04(:,:,1)=42;
S04(:,:,2)=128;
S04(:,:,3)=42;
S05(:,:,1)=42;
S05(:,:,2)=128;
S05(:,:,3)=128;
S06(:,:,1)=42;
S06(:,:,2)=128;
S06(:,:,3)=214;
S07(:,:,1)=42;
S07(:,:,2)=214;
S07(:,:,3)=42;
S08(:,:,1)=42;
S08(:,:,2)=214;
S08(:,:,3)=128;
S09(:,:,1)=42;
S09(:,:,2)=214;
S09(:,:,3)=214;
S10(:,:,1)=128;
S10(:,:,2)=42;
S10(:,:,3)=42;
S11(:,:,1)=128;
S11(:,:,2)=42;
S11(:,:,3)=128;
S12(:,:,1)=128;
S12(:,:,2)=42;
S12(:,:,3)=214;
S13(:,:,1)=128;
S13(:,:,2)=128;
S13(:,:,3)=42;
S14(:,:,1)=128;
S14(:,:,2)=128;
S14(:,:,3)=128;
S15(:,:,1)=128;
S15(:,:,2)=128;
S15(:,:,3)=214;
S16(:,:,1)=128;
S16(:,:,2)=214;
S16(:,:,3)=42;
S17(:,:,1)=128;
S17(:,:,2)=214;
S17(:,:,3)=128;
S18(:,:,1)=128;
S18(:,:,2)=214;
S18(:,:,3)=214;
S19(:,:,1)=214;
S19(:,:,2)=42;
S19(:,:,3)=42;
S20(:,:,1)=214;
S20(:,:,2)=42;
S20(:,:,3)=128;
S21(:,:,1)=214;
S21(:,:,2)=42;
S21(:,:,3)=214;
S22(:,:,1)=214;
S22(:,:,2)=128;
S22(:,:,3)=42;
S23(:,:,1)=214;
S23(:,:,2)=128;
S23(:,:,3)=128;
S24(:,:,1)=214;
S24(:,:,2)=128;
S24(:,:,3)=214;
S25(:,:,1)=214;
S25(:,:,2)=214;
S25(:,:,3)=42;
S26(:,:,1)=214;
S26(:,:,2)=214;
S26(:,:,3)=128;
S27(:,:,1)=214;
S27(:,:,2)=214;
S27(:,:,3)=214;

Q=[S01,S02,S03,S04,S05,S06,S07,S08,S09,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27];


for p=1:27
for i1=1:16:640
for j1=1:16:640
if C(i1,j1,:)==Q(1,p,:)
C(i1:15+i1,j:15+j1,:)=R(1:16,16*p-15:16*p,:);
endif
end
end
end
imshow(double(C)/255)























I also added a partial image in order to try to get a better view.























































































































































































































































































.

No comments: