Zum Inhalt springen

Mathlab Nachhilfe


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

 Teilen

×
×
  • Neu erstellen...