Inside-out Bildtransformation

8

Nachdem ich die sehr gute Antwort von Heike auf meine Vorherige Frage zu anamorphotischen Transformationen Ich wollte schließlich ein Bild komplett umgekrempelt sehen.

Die Idee ist, dass Sie nicht nur das Bild mit einer anamorphotischen Transformation strecken, sondern auch die Ränder des Papiers herumziehen, so dass Sie das Papier tatsächlich "von innen nach außen" drehen können. Die inneren "Pixel" werden zu den Rändern gezogen (stark verzerrt / gestreckt), während die äußeren Pixel nach innen gegen die Mitte gequetscht werden (stark geschrumpft).

Ich kann es nicht illustrieren, aber eine andere Art, es zu beschreiben, ist in diesem Bild:

Je roter die Pixel sind, desto mehr werden sie an die Kanten transformiert (und umgekehrt).

Ich habe FindGeometricTransform ausprobiert, aber es scheint nirgendwo hin zu führen.

Es ist nicht einfach gewesen, dies zu googeln, und ich habe noch keine Hinweise in Mathematica gefunden, dass eine solche destruktive Transformation möglich ist. Es ist eine Art 2.5D Re-Projektion.

Was denkst du? Ist es möglich?

Bearbeiten

Dank Eurer großartigen Antworten kann ich nun meine Frage richtig darstellen:

Hier ist Leonardos berühmtes Anom Asil, das Ergebnis der Unterwerfung der armen Lisa mit der Inside-Out-Transformation ():

und hier ist das Prager Orloj:

Praktische Anwendungen dafür werden bald folgen, äh, bald ...

Danke!

    
cormullion 25.11.2011, 14:25
quelle

2 Antworten

10

Vielleicht in etwa so:

%Vor%

Bearbeiten

Mit Heikes f ist die Funktion bijektiv und sie ist invers:

%Vor%

Bearbeiten

Einstellung:

%Vor%

    
Dr. belisarius 25.11.2011, 17:51
quelle
3

Wenn die nativen Transformationsfunktionen dies nicht in einem einzigen Durchlauf berücksichtigen, könnten Sie wahrscheinlich das erreichen, was Sie wollen, indem Sie das Bild in Polarkoordinaten umwandeln und dann die Radiusdaten invertieren. Hoffentlich kommt Heike bald vorbei, um dich in Ordnung zu bringen. ; -)

Gegen mein besseres Urteil, hier ist mein grober und böser Code als ein Beispiel. Null-Oversampling, schlecht durchdachte, magische Zahlen und generell nutzlos. Aber, belisarius hat darum gebeten, und hier ist es!

Beginnend mit img = dieses Bild:

%Vor%

Ergibt diese pixelige Grausamkeit:

    
Mr.Wizard 25.11.2011 14:33
quelle