Hannibal Smith Geschrieben 8. April 2009 Teilen Geschrieben 8. April 2009 Hallo Ich bin einfach zu blöd für das ganze. Ich will ein bild irgendwie verzerren (zur Zeit is ma no egal wie) und dann wieder entzerren das es so ausschaut wie das ursprüngliche Bild. so schauts zur Zeit aus: I = imread('Raster.jpg'); udata = [0 1]; vdata = [0 1]; % input coordinate system u = [ 0 1 1 0]'; v = [ 0 0 1 1]'; x = [-4 -6 -3 6]'; y = [2 -3 -5 3]'; tform = maketform('projective',[u v],[x y]); [b,xdata,ydata] = imtransform(I,tform,'bicubic','udata',udata,... 'vdata',vdata,... 'size',size(I),... 'fill',128); tform2 = maketform('projective',[x y],[u v]); [C,xdata,ydata] = imtransform(B,tform2,'bicubic','udata',udata,... 'vdata',vdata,... 'size',size(B),... 'fill',128); subplot(1,3,1), imshow(udata,vdata,I), axis on subplot(1,3,2), imshow(xdata,ydata,B), axis on subplot(1,3,3), imshow(xdata,ydata,C), axis on pause; clear all; Problem: es passt hinten und vorne nicht nicht zusammen. Lg Hannibal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tyler_durden Geschrieben 8. April 2009 Teilen Geschrieben 8. April 2009 Ich will ein bild irgendwie verzerren (zur Zeit is ma no egal wie) und dann wieder entzerren das es so ausschaut wie das ursprüngliche Bild. Gleich mal vorweg ich hab mich mit Matlab und Octave jetzt schon lang nimmer gespielt, also bin im Syntax net so fit. Und kenn mich mit so verzerr Sachen auch net aus. Aber vom Prinzip her muss es schon mal wichitg sein wie du das Original verzerrst damit du von dem neuen Bild wieder zurückrechnen kannst. Denn wenn dieser Vorgang nicht bijektiv ist, sprich die Verzerrung muss eindeutig sein und die Entzerrung, dann kann das schonmal nicht gehen. Zb scheidet dann schon einfaches quadrieren in R oder noch etwas einfacher das Begrenzen von Werten auf gewisse Maxima aus weil es nicht eindeutig umkehrbar ist. Leider kann ich aus dem Code jetzt nicht herauslesen was diese Funktionen mit den Eingangsdaten machen. Problem: es passt hinten und vorne nicht nicht zusammen. Etwas mehr Infos wären interessant um was konkretes sagen zu können, wie gesagt mir sagen die beiden obigen Funktionen nix. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
deathhero Geschrieben 8. April 2009 Teilen Geschrieben 8. April 2009 vlt. hilft das: (ab seite 8) http://www-classic.uni-graz.at/bibwww/outgoing/erfahrungsberichte/dhf_weizmann_03.pdf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hannibal Smith Geschrieben 11. April 2009 Autor Teilen Geschrieben 11. April 2009 So ich habs I = imread('Raster.jpg'); udata = [0 1]; vdata = [0 1]; % input coordinate system u = [ 0 1 1 0]'; v = [ 0 0 1 1]'; x = [-4 -6 -3 6]'; y = [2 -3 -5 3]'; tform = maketform('projective',[u v],[x y]); [b,xdata,ydata] = imtransform(I,tform,'bicubic','udata',udata,... 'vdata',vdata,... 'size',size(I),... 'fill',128); [C,xdata,ydata] = imtransform(B, fliptform(tform),'bicubic','udata',xdata,... 'vdata',ydata,... 'size',size(B),... 'fill',128); subplot(1,3,1), imshow(udata,vdata,I), axis on subplot(1,3,2), imshow(xdata,ydata,B), axis on subplot(1,3,3), imshow(xdata,ydata,C), axis on pause; clear all; http://666kb.com/i/b7zins3oo5teghcbg.gif Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.