"immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 11882
Registriert: 09.04.2008 12:48:59

"immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von hikaru » 29.07.2021 20:53:08

Hallo,

ich habe hier Bilder aus einer Doppelfischaugen-Kamera (Xiaomi MADV 360). Die Bilder liegen in Form einer äquirektangulären Projektion vor und sehen im Rahmen der Möglichkeiten dieser Projektion gut aus.
Nun ist die Projektion nicht winkeltreu, was in traditionellen Bildbetrachtern gerade an den Rändern der Bilder zu starken Verzerrungen führt.

Es gibt Bildbetrachter, welche beim Scrollen das Bild dynamisch auf den betrachteten Ausschnitt transformieren ("entzerren"). Insgesamt entsteht dadurch der Eindruck, man würde an der Stelle des Fotografen stehen und sich umschauen. Ein Beispiel für einen Standalone-Betrachter (ohne Web) ist die Freeware "FSPViewer". Gibt's sowas auch in "FLOSS" (idealerweise im Debian-Repo)?

Benutzeravatar
niemand
Beiträge: 15008
Registriert: 18.07.2004 16:43:29

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von niemand » 29.07.2021 21:20:33

Ist wahrscheinlich die umständlichste Variante, aber wenn sich sonst gar nix finden sollte, wär’s vielleicht eine Option: ich bin ziemlich sicher, dass man es mit Blender auf eine passende Form projizieren kann.
„The wise man doesn't give the right answers, he poses the right questions.“ (C. Levi-Strauss – gefunden im Manual des Apachen)

non serviam.

eggy
Beiträge: 2891
Registriert: 10.05.2008 11:23:50

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von eggy » 29.07.2021 21:34:46

Ich hätt vorher noch auf hugin und dessen Verwandte getippt, vielleicht findet man in dessen Umfeld was? In welchen Dateiformat kommen die Bilder denn?

Benutzeravatar
smutbert
Moderator
Beiträge: 7910
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von smutbert » 29.07.2021 22:37:37

Genau, hugin sollte sich dafür mißbrauchen lassen – keine Ahnung wie gut das funktioniert, es ist ja nur als Vorschau beim Zusammensetzen von Panoramen gedacht.
Sonst gäbe es so etwas auch in der Wikipedia und dort wird zum Betrachten https://panoviewer.toolforge.org/ verwendet und dann gab oder gibt es noch den PTViewer (https://wiki.panotools.org/PTViewer).

Benutzeravatar
hikaru
Moderator
Beiträge: 11882
Registriert: 09.04.2008 12:48:59

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von hikaru » 29.07.2021 23:09:29

Mit Blender habe ich mich noch nie beschäftigt. Daher kann ich die Komplexität nicht beurteilen. Es sollte in der Anwendung aber wirklich einfach sein (ist nicht für mich): Bild laden und per Maus oder notfalls Tastatur den Ausschnitt hin- und herschieben. Im Grunde wie ein klassischer Bildbetrachter.

Hugin kannte ich flüchtig und hatte ich mir jetzt nochmal angeschaut. Man kann damit in einer Vorschau Bilder auf eine Kugel projizieren und diese dann mit der Maus drehen. Dabei wird das Bild allerdings nicht (passend) transformiert, es bleibt also verzerrt. Außerdem ist diese Vorschau-Ansicht nicht wirklich ansehnlich.

Eine Weblösung soll es ausdrücklich nicht sein. PTViewer ist laut der Webseite seit fast 20 Jahren tot.

Gestolpert war ich auch über Ptgui, was aber auch proprietär ist, und über das Debianeog-panorama-Plugin [1], welches aber mit der aktuellen eog-Version nicht mehr kompatibel ist (Laden des Plugins schlägt offenbar fehl). Auf github wird Ubuntu 16.10 erwähnt. Ich habe noch eine alte Ubuntu-16.04-VM ausgegraben, dort in eog aber nicht mal das Menü zum Laden von Plugins gefunden. Ohnehin wäre so eine Zombie-Lösung nicht praktikabel.

Die Bilder liegen als gewöhnliche JPEGs vor. Leider habe ich keinen Zugang zur Kamera und die Bilder die ich habe taugen nicht zur Veröffentlichung.


[1] https://github.com/Aerilius/eog_panorama

Benutzeravatar
smutbert
Moderator
Beiträge: 7910
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von smutbert » 30.07.2021 12:26:46

Jetzt habe ich mit etwas mehr Ruhe noch einmal gesucht:

Bei hugin habe ich eher an das „(OpenGL-)Vorschaufenster“ (so heißt das im Menü und in der Werkzeugleiste) gedacht. Das steht unter Ansicht und nur bei den Oberflächen Erweitert und Experte zur Verfügung.
In diesem Vorschaufenster ist die Darstellung etwas ansehnlicher und ohne darübergelegtes Raster. Bei aktivierter automatische Aktualisierung kann man diese Kugeldarstellung drehen und die Vorschau wird entsprechend angepasst – allerdings geht das wohl immer noch nicht als besonders immersiv durch.

(Dass bei der Darstellung neben der Kugel noch nicht automatisch transformiert würde, kann ich allerdings nicht nachvollziehen.)
hikaru hat geschrieben: ↑ zum Beitrag ↑
29.07.2021 23:09:29
Eine Weblösung soll es ausdrücklich nicht sein. PTViewer ist laut der Webseite seit fast 20 Jahren tot.
Die Panotools sind bestimmt etwas eigenwillig und werden vielleicht nicht besonders gut gepflegt, aber 20 Jahre sind dann doch etwas übertrieben – immerhin gibt es auf der Seite des Autors auch eine Version für 3D-Brillen, wobei ich mir nicht sicher bin, was jetzt wirklich aktueller ist
- das Original https://webuser.hs-furtwangen.de/~dersch/ oder
- der Fork http://www.fsoft.it/panorama/PTViewer.htm

Benutzeravatar
hikaru
Moderator
Beiträge: 11882
Registriert: 09.04.2008 12:48:59

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von hikaru » 30.07.2021 14:37:20

smutbert hat geschrieben: ↑ zum Beitrag ↑
30.07.2021 12:26:46
Bei hugin habe ich eher an das „(OpenGL-)Vorschaufenster“ (so heißt das im Menü und in der Werkzeugleiste) gedacht. Das steht unter Ansicht und nur bei den Oberflächen Erweitert und Experte zur Verfügung.
Ja, das meinte ich auch. Ich hatte gestern noch nicht verstanden, was hier beim Verschieben der Perspektive wirklich passiert.
Das Bild wird zwar rein was die Projektion angeht zumindest in der Bildmitte* korrekt transformiert, allerdings wird dabei keine Rücksicht auf die Rotation des Inhalts genommen. Je nachdem wohin und wie man dreht, steht das Bild also auch mal auf der Seite oder auf dem Kopf.
Außerdem gibt es eine hässliche Stoßlinie dort, wo die äußeren Ränder des JPEGs zusamengefügt werden. Und ich habe keine Möglickeit gefunden, das quadratische Raster abzuschalten. Alles in Allem ist das nicht praktikabel für eine Präsentation.

Zum Vergleich:
FSPviewer öffnet ein klassisches "Bildfenster", wie man es von einfachen klassischen Bildbetrachtern kennt, transformiert das Bild weitgehend korrekt** und dreht es dabei jeweils so, dass Unten wirklich unten ist. Wenn man das Bild nicht dreht, könnte man hier in jeder Perspektive der Meinung sein, es handle sich um ein klassisches Foto, das genau in diesem Winkel aufgenommen wurde.
Ein Wermutstropfen an FSPviewer ist, dass es libpng12.so.0 verlangt. Debianlibpng12-0 gab es zuletzt in Jessie. Die Lib selbst funktioniert auch noch unter Bullseye, aber dann schleppt man wieder Zombies umher. Das ist halt so eine typische Situation, wo einem CS auf die Füße fällt. Wäre FSPviewer FLOSS, dann hätte sicher schon jemand die libpng-Version im Code aktualisiert.
smutbert hat geschrieben: ↑ zum Beitrag ↑
30.07.2021 12:26:46
Die Panotools sind bestimmt etwas eigenwillig und werden vielleicht nicht besonders gut gepflegt, aber 20 Jahre sind dann doch etwas übertrieben – immerhin gibt es auf der Seite des Autors auch eine Version für 3D-Brillen, wobei ich mir nicht sicher bin, was jetzt wirklich aktueller ist
Ich hatte da was von 2003 gelesen. Ok, es wird auch 206 erwähnt, aber das macht die Sache nur unwesentlich besser.
smutbert hat geschrieben: ↑ zum Beitrag ↑
30.07.2021 12:26:46
- der Fork http://www.fsoft.it/panorama/PTViewer.htm
Ich hab's mal runtergeladen und vesucht zu starten. Unter Bullseye gibt es nur eine Fehlermeldung:

Code: Alles auswählen

$ java -jar ptviewer.jar 
Exception in thread "main" java.lang.NoSuchMethodError: 'void java.lang.System.runFinalizersOnExit(boolean)'
	at ptvjapp.main(Unknown Source)
Unter Stetch geht zwar ein Ladedialog auf und man kann ein Bild laden, nachdem das aber geschehen ist, hat man ein fast unresponsives Fenster mit einem kleinen Bildauschnitt vor sich. Mit Glück(!) lässt sich das Fenster größer ziehen, mehr geht aber nicht. Im Terminal taucht dazu das auf:

Code: Alles auswählen

$ java -jar ptviewer.jar 

(java:11357): GLib-GObject-WARNING **: invalid cast from 'GtkToplevelAccessible' to 'JawToplevel'
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

(java:11357): GLib-GObject-WARNING **: invalid cast from 'GtkToplevelAccessible' to 'JawToplevel'

*) Am Rand gibt es nacch wie vor starke Verzerrungen.
**) Je nach FOV-Einstellung sind am Rand leichte bis starke Verzerrungen zu sehen. Standardmäßig sind hier 70° eingestellt und die Verzerrungen sind eigentlich nur zu sehen wenn man weiß, dass es welche geben muss.

Benutzeravatar
smutbert
Moderator
Beiträge: 7910
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von smutbert » 31.07.2021 00:08:57

Das libpng-Dilemma kenne ich von anderen Programmen.
hikaru hat geschrieben: ↑ zum Beitrag ↑
30.07.2021 14:37:20
Ja, das meinte ich auch.
[...]
Das Bild wird zwar rein was die Projektion angeht zumindest in der Bildmitte* korrekt transformiert, [...]
Und ich habe keine Möglickeit gefunden, das quadratische Raster abzuschalten.
Ich bin mir nicht so sicher, dass wir dasselbe meinen, weil es bei der Vorschau, die ich meine dieses quadratische Raster nicht gibt (und ich auch keine Möglichkeit gefunden habe eines einzublenden). Verzerrungen gibt es bei mir auch keine, weder am Bildrand noch in der Mitte bzw. nur Verzerrungen, die zur gewählten Projektionsart dazugehören.

Das mit der Rotation stimmt allerdings und ich habe ja schon vorher befürchtet, dass das nicht als Ersatz für einen ordentlichen Betrachter taugt.
hikaru hat geschrieben: ↑ zum Beitrag ↑
30.07.2021 14:37:20
Außerdem gibt es eine hässliche Stoßlinie dort, wo die äußeren Ränder des JPEGs zusamengefügt werden.
Was liefert die Kamera eigentlich, zwei Fisheye-Aufnahmen oder „stitcht“ die Kamere die Bilder direkt und es fällt ein fertiges Panorama heraus?
(In ersterem Fall müsste man wohl das Panorama mit hugin zusammensetzen, als Bild speichern und dieses Ergebnis dann wieder öffnen um es zu betrachten, damit man vom nahtlosen Zusammensetzen mehrere Bilder profitiert.)


Das Hauptproblem bei PTViewer ist tatsächlich sein Alter. Mit einem JRE oder JDK 8 läuft es und es zeigt Panoramas auch richtig und schön flüssig an.
Leider habe ich es auch nicht so ohne weiteres geschafft das Panorama bildschirmfüllend darzustellen - unabhängig von der Fenstergröße ist der Bildanzeigebereich immer klein geblieben. (Ohne dass es irgendwelchen Warnungen oder Fehlermeldungen im Terminal gegeben hätte.)
Besser habe ich es erst zusammengebracht, als ich das java-Programm über eine html-Datei gestartet habe (ganz ohne Browser – das dient nur dem Setzen der Optionen für ptviewer). Ich habe also das Panorama (panorama.jpg), ptviewer.jar und eine schnell zusammengeklickte Minimal-html-Datei (applet.html)

Code: Alles auswählen

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.73 [de]C-CCK-MCD QXW0324e  (Win98; U) [Netscape]">
</head>
<body>

<APPLET archive=ptviewer.jar code=ptviewer.class width=900 height=600>
<PARAM name=file   value="panorama.jpg">
</APPLET>

</body>
</html>
in ein Verzeichnis kopiert und dann

Code: Alles auswählen

java -jar ptviewer.jar applet.html
gestartet.
Das ganze habe ich nicht mit dem Fork sondern dem originalen PTViewer gemacht. Die Idee mit der html-Datei ist von hier [1] und es ist natürlich klar, dass das ganze Vorgehen nicht schön und ein aktuelles, gut unterstütztes Programm wünschenswert wäre.

[1] https://webuser.hs-furtwangen.de/~dersch/PTVJ/doc.html

Benutzeravatar
hikaru
Moderator
Beiträge: 11882
Registriert: 09.04.2008 12:48:59

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von hikaru » 01.08.2021 17:19:41

smutbert hat geschrieben: ↑ zum Beitrag ↑
31.07.2021 00:08:57
Was liefert die Kamera eigentlich, zwei Fisheye-Aufnahmen oder „stitcht“ die Kamere die Bilder direkt und es fällt ein fertiges Panorama heraus?
"Die Kamera" ist in diesem Zusammenhang gar nicht so einfach zu definieren. Das Gerät mit den beiden Objektiven liefert natürlich zwei Fischaugenbilder (Rücken an Rücken). Was mit diesen "Rohbildern" passiert weiß ich ehrlich gesagt nicht genau.
Gesehen habe ich, dass die Kamera per WLAN mit einem Smartphone gekoppelt wird, wo eine App die Kameradaten entgegen nimmt und direkt eine "immersive" Darstellung liefert, wie es auch FSPViewer tut. Was meinem Verständnis nach dabei technisch passiert ist, dass jedes der beiden Fischaugenbilder auf den aktuellen POV transformiert wird, und dann die transformierten Bilder an allen Seiten gestitcht werden - im Grunde genau das, was Hugin auch macht. Anders als Hugin begrenzen aber sowohl die App als auch FSPViewer die Bewegungsgrade so, wie auch ein gewöhlicher menschlicher Betrachter in seiner Bewegung begrenzt ist (Kopf nach links/rechts und oben/unten drehen, aber kein freies "Schweben" im Raum). Das Bild steht also nie auf der Seite oder dem Kopf.
Die Panorama-JPEGs die ich hier habe stammen vermutlich aus irgendeiner Exportfunktion der Kamera/App, die auf Basis des beim Export aktuellen POV ein äquirektanguläres Panorama erstellt.

Ich habe dem FSPViewer-Entwickler eine Mail geschrieben und um Veröffentlichung des Quellcodes gebeten. Er hat ein paar Projekte auf Sourceforge, nur leider gehört ausgerechnet FSPViewer nicht dazu.

Benutzeravatar
smutbert
Moderator
Beiträge: 7910
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von smutbert » 01.09.2021 12:04:25

Den Thread gibt es ja auch noch. Es ist ja eigentlich egal, weil hugin ungeeignet ist, aber warum ich nach den Bildern gefragt habe:
hikaru hat geschrieben: ↑ zum Beitrag ↑
29.07.2021 23:09:29
Dabei wird das Bild allerdings nicht (passend) transformiert, es bleibt also verzerrt.
hikaru hat geschrieben: ↑ zum Beitrag ↑
30.07.2021 14:37:20
Außerdem gibt es eine hässliche Stoßlinie dort, wo die äußeren Ränder des JPEGs zusamengefügt werden.
Wenn nicht hugin sondern bereits die Kamera bzw. die Smartphone-App das Bild zusammensetzt, geht es eigentlich nur mehr darum das Bild in hugin zu laden, zwei Mal die richtige Projektion einzustellen (einmal die, in der es vorliegt und einmal die, in der man es ansehen will) und es dürfte nichts mehr schief gehen. Eventuelle Verzerrungen oder nicht zusammenpassende Übergänge zwischen den beiden Einzelaufnahmen wären die Schuld von Kamera/App.

Wird das Bild dagegen in hugin zusammengesetzt, sollte es mit etwas Übung im Umgang mit hugin recht gut klappen – zumindest tut es das bei Fotos mit normalen Kameras und Objektiven (inklusive Fisheye-Objektiven)


Bei deiner Nachfrage beim Entwickler von FSPViewer ist wohl leider nichts herausgekommen (sonst hättest du es bestimmt berichtet)?
(Ohne die Abhängigkeit zur alten Java-Version wäre ptviewer eigentlich eh ok.)

Benutzeravatar
hikaru
Moderator
Beiträge: 11882
Registriert: 09.04.2008 12:48:59

Re: "immersiver" Betrachter für Doppelfischaugen-Bilder (FLOSS)?

Beitrag von hikaru » 01.09.2021 12:53:05

smutbert hat geschrieben: ↑ zum Beitrag ↑
01.09.2021 12:04:25
Wenn nicht hugin sondern bereits die Kamera bzw. die Smartphone-App das Bild zusammensetzt, geht es eigentlich nur mehr darum das Bild in hugin zu laden, zwei Mal die richtige Projektion einzustellen (einmal die, in der es vorliegt und einmal die, in der man es ansehen will) und es dürfte nichts mehr schief gehen.
Ja, das geht im Prinzip, ist aber für die Präsentation zu statisch, denn dann hast du genau eine Perspektive und musst jede neu von Hand einstellen.
Was der FSPviewer und die App machen ist, die Perspektive beim Panning dynamisch anzupassen. Man hat so nicht den Eindruck, von außen auf das Bild zu schauen, sondern im Bild zu stehen.
Wenn du einen groben Vergleich haben willst, stell dich mit einer Kamera an eine fixe Position, drehe dich frei um dich selbst und schaue dabei auf das Display/durch den Sucher! Das ist nicht der selbe Eindruck, wie hinterher auf das Foto zu schauen.
smutbert hat geschrieben: ↑ zum Beitrag ↑
01.09.2021 12:04:25
Eventuelle Verzerrungen oder nicht zusammenpassende Übergänge zwischen den beiden Einzelaufnahmen wären die Schuld von Kamera/App.
Die App scheint aber einen besseren Job beim Stitching zu machen als Hugin. Wenn man so ein exportiertes Doppelfischaugenbild in Hugin lädt und es auf eine Kugel projizieren lässt, dann muss es an den Kanten des Bildes gestitcht werden. Das ist in Hugin eine unübersehbare Zackenlinie.
Wenn man weiß wo diese Kante ist, dann erkennt man sie auch ansatzweise im FSPviewer. Aber hier sind es nur kleine unscharfe Linien in der Nähe der Pole des projizierten Bildes, schätzungsweise bis 80° Breite. Ohne die technischen Hintergründe zu kennen, könnte man auch meinen, das seien Staubkörner auf der Linse.
smutbert hat geschrieben: ↑ zum Beitrag ↑
01.09.2021 12:04:25
Bei deiner Nachfrage beim Entwickler von FSPViewer ist wohl leider nichts herausgekommen (sonst hättest du es bestimmt berichtet)?
Nein, da kam keine Antwort.

Antworten