photos
Download 2011_0405.zip
list files
r = dir(); n = length(r); for k=1:n fprintf('%d %s\n',k,r(k).name); end
1 . 2 .. 3 2011_0405_172335AA.JPG 4 2011_0405_172342AA.JPG 5 2011_0405_172401AA.JPG 6 2011_0405_172415AA.JPG 7 2011_0405_172421AA.JPG 8 2011_0405_172424AA.JPG 9 2011_0405_172432AA.JPG 10 2011_0405_172443AA.JPG 11 2011_0405_172459AA.JPG 12 2011_0405_172514AA.JPG 13 2011_0405_172531AA.JPG 14 2011_0405_172540AA.JPG 15 2011_0405_172545AA.JPG 16 2011_0405_172554AA.JPG 17 2011_0405_172602AA.JPG 18 2011_0405_172618AA.JPG 19 2011_0405_172627AA.JPG 20 2011_0405_172636AA.JPG 21 cpselect1.jpg 22 html 23 photos.asv 24 photos.m 25 project1.mat
rng = 6:9; for k=rng filename = r(k).name; rgb = imread(filename); sz = size(rgb); fprintf('%d %s (%d x %d)\n',k,filename,sz(1:2)); end
6 2011_0405_172415AA.JPG (2048 x 1536) 7 2011_0405_172421AA.JPG (2048 x 1536) 8 2011_0405_172424AA.JPG (2048 x 1536) 9 2011_0405_172432AA.JPG (2048 x 1536)
filenames = {r.name};
filenames = filenames(rng);
out = montage(filenames,'Size',[1 4]);
Warning: Image is too big to fit on screen; displaying at 17%
file1 = char(filenames(1)); file2 = char(filenames(4)); % cpselect(file2,file1); % save project1 file1 file2 input_points base_points
T = cp2tform(input_points,base_points,'Projective');
rgb2 = imread(file2);
[out XData YData] = imtransform(rgb2,T);
out = im2double(out);
imshow(out);
size(out)
floor(XData)
floor(YData)
Warning: Image is too big to fit on screen; displaying at 33% ans = 2060 1547 3 ans = 605 2151 ans = -47 2012
rgb1 = imread(file1); rgb1 = im2double(rgb1); figure imshow(rgb1); size(rgb1)
Warning: Image is too big to fit on screen; displaying at 33% ans = 2048 1536 3
rgb3 = zeros(2400,3000,3); sz = size(out); r1 = 1:sz(1); r2 = 1:sz(2); xoff = 605; yoff = -47; rgb3(r1,xoff+r2,:)=out; sz = size(rgb1); r1 = 1:sz(1); r2 = 1:sz(2); rgb3(r1-yoff,r2,:) = 0.5*(rgb3(r1-yoff,r2,:)+rgb1(r1,r2,:)); imshow(rgb3);
Warning: Image is too big to fit on screen; displaying at 33%