sess1

Contents

clear
close all
load filelist

show image

m = 3;
name = files(m,:);
rgb = imread(name);
imshow(imresize(rgb,0.5));

crop image

%[samp rect] = imcrop;
rect = [1 1180 2048 60];
samp = imcrop(rgb,rect);
imshow(samp(:,1:400,:));

collect data

imshow(imresize(samp(:,1:400,:),2));
%[x y p] = impixel;
x1 = [    28   109   192   273   353   432   512   596   674   754];
y1 = 60*ones(size(x1));
hold on
plot(x1,y1,'k+');
hold off
r1 = 3:12;
plot(r1,x1,'ko-');
imshow(imresize(samp(:,400+(1:400),:),2));
% [x y p] = impixel;
 % x = [31   110   191   271   350   427   506   585   662   743];
x2 = [ 32   111   191   269   350   430   506   586   665   745];
y2 = [ 65    62    63    65    66    66    66    68    67    67];
hold on
plot(x2,y2,'k+');
hold off
r2 = 13:22;
plot(r2,x2,'ko-');
imshow(imresize(samp(:,800+(1:400),:),2));
% [x y p] = impixel;
x3 = [21    99   180   258   338   414   491   569   647   726];
y3 = [67    68    70    70    68    67    68    68    66    69];

hold on
plot(x3,y3,'k+');
hold off
r3 = 23:32;
plot(r3,x3,'ko-');
imshow(imresize(samp(:,1200+(1:400),:),2));
% [x y p] = impixel;
x4 = [ 77   157   232   306   385   459   534   610   686   759];
y4 = [72    71    70    68    71    69    69    67    61    62];

hold on
plot(x4,y4,'k+');
hold off
r4 = 34:43;
plot(r4,x4,'ko-');
imshow(imresize(samp(:,1600+(1:400),:),2));
% [x y p] = impixel;
x5 = [ 33   105   184   255   330   405   478   552   624   698   771];
y5 = [ 67    66    65    65    64    63    59    64    59    58    59];

hold on
plot(x5,y5,'k+');
hold off
r5 = 44:54;
plot(r5,x5,'ko-');
imshow(imresize(samp(:,2000:end,:),2));
% [x y p] = impixel;
x6 = 47;
y6 = 53;
r6 = 55;

hold on
plot(x6,y6,'k+');
hold off

assemble values

r = [r1 r2 r3 r4 r5 r6];
x = [x1/2 400+x2/2 800+x3/2 1200+x4/2 1600+x5/2 2000+x6/2];
c = polyfit(r,x,1);
plot(r,x,'ko',r,polyval(c,r),'k');
fprintf('slope %g pixels/inch\n',c(1));
slope 38.6534 pixels/inch

linear fit deviation

plot(r,x-polyval(c,r),'k','LineWidth',2);
grid
title('deviation from linear fit');

cubic fit deviation

c3 = polyfit(r,x,3);
plot(r,x-polyval(c3,r),'k','LineWidth',2);
grid;
title('deviation from cubic fit');