Krüppelschuster
BA Guru
Man nehme:
1) das Bild
Anhang anzeigen 66017
2) setze einen Referenzrahmen, der einem Rechteck entspricht
Anhang anzeigen 66018
3) berechne die Verzerrung raus
Anhang anzeigen 66020
4) beschneide es
Anhang anzeigen 66021
5) setze eine Kalibrierungsstrecke zur Bemaßung an und skaliere dies auf die Achsen - fertig ist der 44er Barsch - Glückwunsch Schlotterschätt - die vertikale Skala ist der Vollständigkeit halber nicht kalibiriert
Anhang anzeigen 66019
Hier der Quelltext zum Matlab-Skript:
Code:I1 = imread('fisch.png'); imshow(I1) basepoints = ginput close all imshow(I1) hold on line(basepoints(:,1),basepoints(:,2),'LineStyle','none','Marker','+',... 'MarkerSize',48,'Color','b') hold off dx = (basepoints(3,1)+basepoints(4,1))/2-(basepoints(1,1)+basepoints(2,1))/2 dy = (basepoints(2,2)+basepoints(4,2))/2-(basepoints(1,2)+basepoints(3,2))/2 inputpoints(1,:) = [0 0]; inputpoints(2,:) = [0 dy]; inputpoints(3,:) = [dx 0]; inputpoints(4,:) = [dx dy]; tform = fitgeotrans(basepoints,inputpoints,'projective'); xLimitsIn = 0.5 + [0 size(I1,2)] yLimitsIn = 0.5 + [0 size(I1,1)] [XBounds,YBounds] = outputLimits(tform,xLimitsIn,yLimitsIn) Rout = imref2d(size(I1),XBounds,YBounds) I10 = imwarp(I1,tform,'OutputView',Rout); figure subplot(2,1,1), imshow(I1), title('Original Image') subplot(2,1,2), imshow(I10), title('Rectified Image') I11 = imcrop(I10); figure subplot(2,1,1), imshow(I1), title('Original Image') subplot(2,1,2), imshow(I11), title('Rectified and Cropped Image') %% imshow(I11), axis on [x,y] = ginput; size(I11,2) size(I11,1) ix = 10 * size(I11,2) / sqrt((y(2,1)-y(1,1))^2+(x(2,1)-x(1,1))^2); iy = 10 * size(I11,1) / sqrt((y(2,1)-y(1,1))^2+(x(2,1)-x(1,1))^2); imshow(I11,'XData',[0 ix],'YData',[0 iy]), axis on xlabel('Centimeters'), ylabel('Centimeters')
Verstehe ich das richtig, dass da vom Angler ala @SlidyJerk geschummelt wurde oder wie war das gemeint. Steige da gerade nicht hinter