Ich habe ein normales Panoramabild. Wie konvertiere ich es in ein gleichwinkliges Bild (normal → gleichwinklig)?
Die meisten Ergebnisse, die ich bei Google finde, sind eine Konvertierung in die entgegengesetzte Richtung (gleichwinklig → normal).
Dies ist das Bild, das ich konvertieren möchte ( HR-Link )
3d
image-format
file-conversion
Bob van Luijt
quelle
quelle
Antworten:
Das gleichwinklige Bild stellt eine Kugel dar, die verzerrt ist, sodass Meridiane und Parallelen auf der Kugel als gerade vertikale und horizontale Linien dargestellt werden. Ein Beispiel aus Wikipedia:
Links gibt es eine sphärische Karte und rechts die äquivalente ebene Karte, die gleichwinklige Projektion von der Kugel auf ein Rechteck.
Es gibt keine Dehnung am Äquator, aber das Bild wird an anderer Stelle horizontal gestreckt. Je mehr Dehnung, desto weiter ist der Punkt vom Äquator entfernt. Ober- und Unterkante enthalten eigentlich nur einzelne Punkte - die Pole.
Das Rechteck hat Proportionen W / H = 2: 1. Dies spiegelt die Tatsache wider, dass der Abstand zwischen den Polen entlang der Kugel genau die Hälfte der gesamten Rundreise entlang des Äquators beträgt.
Sie wollten Ihr Bild in ein rechteckiges Bild konvertieren. Scheinbar sind die Proportionen 2: 1, so dass es bereits gleichwinklig ist, wenn die entsprechende Kugel dies ist:
Die Hälfte des Bildes ist hinter der Kugel versteckt, aber da ist es. Wie Sie sehen, werden die oberen und unteren Ränder Ihres Bildes an Punkten, den Polen, eingeklemmt.
Ich denke, Sie sehen dies als nutzloses Stück Mathe-Sophistik an, Sie haben etwas anderes erwartet. Ich denke du willst
1) ein gleichwinkliges Bild, das eine Kugel mit Ihrem Bild als Teil der Oberfläche darstellt, ohne dass die gesamte Kugel damit bedeckt werden muss
2) Wenn man es in der Mitte der Kugel sitzen sieht, kann man Ihr Bild auf der Kugel ohne Verzerrung und in so großer Größe sehen, dass das Bild einen wesentlichen Teil des Sichtfelds abdeckt, beispielsweise einen Sektor mit einer Breite von 90 Grad und einer Breite von 45 Grad Grad hoch.
Wenn Sie Verzerrungen akzeptieren, erhöhen Sie einfach die Leinwandgröße auf 400%
Auf einer von außen gesehenen Kugel ist dies:
(Entschuldigung für die Glanzbilder, mein Freeware-CAD-Programm erlaubt keine Bearbeitung der Lichter.)
Affinity Photo verfügt über Layer> Live-Projektion> Equirectangular, wodurch das Gewicht innerhalb der Kugel angezeigt werden kann, als ob das Bild auf die Innenfläche der Kugel gemalt worden wäre und sich der Betrachter im Mittelpunkt befindet. Es zeigt dies:
Gebogener Zaun und Horizont sind offensichtlich unerwünscht, aber die Sonne ist immer noch ziemlich rund. Das liegt daran, dass es viel kleiner ist und sich in der Nähe der Äquatorlinie befindet. Horizont und Zaun sind gekrümmt, weil sie sich tatsächlich auf horizontalen Kreisen befinden (= Parallelen der sphärischen Karte), man beobachtet sie ein wenig nach unten und sieht sie als Ellipsenbögen.
Man kann den ursprünglichen Bildbereich mit kompensierender Verzerrung begradigen, d. H. durch Verziehen oder genauer mit mathematischen Verzerrungsgleichungen (Affinity P unterstützt sie auch).
Affinity Photo ermöglicht Bildbearbeitungen im Live-Projektionsmodus. Die Änderungen werden auf das zugrunde liegende gleichwinklige Bild angewendet, aber man beobachtet die Projektion auf die Kugel. Hier ist ein grober Verzerrungsversuch:
Sie können auch das Originalbild einfügen und es zu einer bloßen Hintergrundebene zusammenführen, die sich unter Live-Projektion befindet:
Dies ist jedoch keine allgemeine Lösung. Sobald der Beobachter seinen Kopf ein wenig dreht, sieht er auf eine neue Art verzerrte Szene (= eine flache Karte, die von einer kleinen Seite gesehen wird)
Es gibt keine allgemeine Lösung, da Sie keine 3D-Szene haben, sondern nur ein flaches Bild auf einer 3D-Kugel.
Meiner Meinung nach kann die Abbildung der Umgebung als einzelnes Bild auf eine Kugel und die Betrachtung vom Mittelpunkt aus nur dann eine plausible virtuelle Realität sein, wenn die abgebildete Szene so weit entfernt ist, dass sie keine Perspektive haben kann. Selbst in diesem Fall benötigt man eine clevere Verzerrung des Ansichtsfensters, um die scheinbare Entfernung unendlich zu machen, nicht = den Radius der Kugel. Die Verzerrung sollte bestehen bleiben, wenn sich die Blickrichtung ändert.
Diese Antwort wurde nach Überprüfung dieses viel späteren Falls komplett neu geschrieben: Wie kann ich gleichwinklige (360-Grad-) Bilder malen?
quelle
Sie können das auf Ihrem Bild nicht so machen, wie Sie es haben.
1) Sie möchten eine zylindrische Projektion auf eine Kugel. Zuerst muss Ihre Leinwand ein genaues Verhältnis haben. 3.1416: 1 (Verwenden Sie eine beliebige Leinwand in Pixelgröße, z. B. 3141 x 1000 Pixel)
2) Und Sie müssen (normalerweise) den Horizont in der Mitte der Leinwand haben.
Bei einer zylindrischen Projektion (von einer Kugel) haben Sie aufgrund der vertikalen projizierten Abmessung gegenüber der tatsächlichen Höhe dieses Segments eine spezifische Verformung der Projektion. Sie müssen dies also kompensieren, wenn Sie Ihren Cartoon auf eine flache Leinwand zeichnen.
Eine einfache Möglichkeit hierfür ist die Verwendung des Sphärisierungsfilters in Photoshop. (In der Arcaic-Version, die ich gerade auf diesem Computer habe, ist Filter> Verzerren> Sphärisieren)
Sie müssen dies jedoch NUR auf der vertikalen Achse verzerren.
Außerdem müssen Sie definieren, welchen Teil eines 360-Grad-Panoramas Sie haben. Stellen Sie sich ein anderes Huhn vor, das ein Foto macht. Was wäre der Winkel des verwendeten Objektivs?
Ich fühle, dass es ein Weitwinkelobjektiv ist, lässt Sie wie 120 ° Winkelfeld aufnehmen. Dies bedeutet, dass Sie Ihr Bild zu dem Material vervollständigen müssen, das Sie hinter dem Hühnerfotografen haben.
Die Google VR-Anwendung, die Sie verwenden möchten, besagt, dass eine zylindrische Projektion erforderlich ist, fordert jedoch ein Verhältnis von 2: 1 für Ihr Bild an. Eine 2: 1-Projektion ist normalerweise eine sphärische Projektion mit einer anderen Verformung, aber es ist beispielsweise schwieriger, sie in einem Video zu erzielen.
Aus praktischen Gründen werden tatsächlich zylindrische Projektionen angefordert, sodass Sie als letzten Schritt einfach Ihr Original 3.1416: 1 bis 2: 1 neu abtasten.
Probieren Sie einfach das endgültige Bild erneut aus. Wenn Ihre Leinwand 3141 x 1000 Pixel groß war, sampeln Sie sie einfach auf 2000 x 1000 Pixel neu. Ernten Sie es nicht. Das Huhn sieht schlanker aus, wird aber bei der VR-Anwendung wieder fett.
Für Ihre erste Leinwand: Auf Ihrem spezifischen Bild ist es schwierig, den Blickwinkel zu bestimmen, aber lassen Sie uns 3 Szenarien sehen.
(A) Ihr Sichtfeld ist um 120 ° herum, sodass Sie 3 Fotos der niedlichen Haustiere aufnehmen können, da Ihr veröffentlichtes Bild 2048 ist. Die Leinwand muss 2048x3 = 6144px groß sein und diese nun mit pi = 1955px teilen
6144x1955px
(B) Wenn Sie jedoch nicht möchten, dass die Haustiere zu klein sind, nehmen wir an, dass das Foto 180 ° = 2048x2 = 4096 / pi = 1303 abdeckt
4096 x 1303 Pixel
(C) Oder mit den Zahlen spielen.
quelle
Ihr Bild enthält nur wenige Informationen und ist zu klein. Haben Sie auch keine gleichwinklige Geometrie. Aber Sie können es in Blender tun, es ist kostenlos. Rendern Sie es einfach in "Panorama"> "gleichwinklig"> "Rendern". Um HDRI-Bilder in 360 anzuzeigen, können Sie diese Site verwenden: http://panoramaviewer.1bestlink.net/
quelle
Original Bild:
Erhöhen Sie die Leinwandgröße und verwenden Sie eine inhaltsbewusste Füllung, um dem Bild mehr Himmel und Boden zu verleihen. Ich habe Photoshop verwendet:
Im nächsten Schritt verwenden Sie den Filter Polarkoordinaten. Hier ist ein Bild, das zeigt, wie Polarkoordinaten genau funktionieren:
Wie Sie sehen, möchten wir von der unteren (rechteckig) in die obere Perspektive (polar) konvertieren. Gehen Sie dazu zu Filter -> Verzerren -> Polarkoordinaten -> Rechteckig zu Polar:
Verwenden Sie inhaltsbewusstes Füll-, Reparatur- oder Stempelwerkzeug, um die Bereiche in der Mitte und um die Kanten herum zu fixieren:
Verwenden Sie erneut Polarkoordinaten, diesmal jedoch Polar bis Rechteck. Sie können dieses Bild auf eine 360 ° -Kugel projizieren:
Angenommen, Sie haben ein Bild eines Nachthimmels. Sie können wieder Polarkoordinaten verwenden. Da die Bildmitte nach gleichwinkliger Verzerrung nach oben zeigt, verwenden Sie die Polarkoordinaten Polar bis Rechteck nur einmal:
In einer 3D-Software (ich habe das kostenlose Clara.io verwendet) sieht die Textur auf einer Kugel folgendermaßen aus:
quelle