Panoramen - Universität Osnabrück
Transcrição
Panoramen - Universität Osnabrück
Panoramen Dorit Borrmann Universität Osnabrück Virtuelle Panoramen bieten einen 360 Grad Rundumblick auf Webseiten. Hierzu werden zunächst teilweise überlappende Einzelbilder durch einen Stitching-Prozess zu einem länglichen Pixelbild zusammengesetzt, welches dann eine interaktive Rundumsicht durch perspektive Verzerrung im abspielenden Plugin ermöglicht. In dieser Arbeit werden Panoramen vorgestellt. Hierbei wird zuerst auf die grundlegenden Schritte beim Erstellen von Panoramen und dabei auch auf die Schwierikeiten eingegangen. Anschließend werden Werkzeuge vorgestellt, mit denen diese Schritte durchgeführt werden können. Abschließend wird auf die Darstellung im Web eingegangen. Inhaltsverzeichnis 1 Einleitung................................................................................................................................................... 2 1.1 Panoramaformate.............................................................................................................................. 2 2 Erstellen eines Panoramabildes.............................................................................................................. 2.1 Bilder aufnehmen............................................................................................................................... 2.2 Stitching............................................................................................................................................. 2.3 Blending............................................................................................................................................. 2.4 Cropping............................................................................................................................................ 4 4 5 7 9 3 Tools zur automatischen Panoramaerstellung....................................................................................... 3.1 Panoramen aus Einzelbildern............................................................................................................ 3.1.1 Hugin........................................................................................................................................ 3.1.2 PTgui........................................................................................................................................ 3.1.3 PanoTools................................................................................................................................. 3.1.4 Enblend.................................................................................................................................... 3.1.5 Autopano.................................................................................................................................. 3.2 Panorama-Filme................................................................................................................................. 3.2.1 Pano2VR.................................................................................................................................. 3.3 Microsoft Photosynth......................................................................................................................... 10 10 10 14 17 17 18 18 18 22 4 Darstellung im Web................................................................................................................................... 4.1 Bild..................................................................................................................................................... 4.2 QuickTime.......................................................................................................................................... 4.3 Flash.................................................................................................................................................. 4.4 Applet................................................................................................................................................. 24 24 24 25 26 5 Zusammenfassung.................................................................................................................................... 28 1 Einleitung 2 1 Einleitung Panoramabilder sind Bilder mit besonders großem Sichtfeld oder Blickwinkel. Sie unterliegen einer langen Tradition. Landschaften und historische Ereignisse wurden oftmals als riesige Gemälde dargestellt, die teilweise ganze Säle schmückten. Mit fortschreitender Entwicklung der Fotografie jedoch verloren Panoramen an Bedeutung, da herkömmliche Kameras über geringe Öffnungswinkel verfügen. Das Interesse an Panoramen verschwand hingegen nicht vollkommen. So wurde 1845 vom Optiker Friedrich Martens die erste Panoramakamera entwickelt. Mit Hilfe eines schwenkbaren Objektivs konnte er mit dieser Kamera Panoramabilder aufnehmen, wie das Panorama von Paris in 'Abb. 1'. Abb. 1: Panoramabild von Paris, circa 1845-1850, Fotograf unbekannt Mit der Verbreitung von Digitalkameras entwickelt sich ein neuer Trend in der Panoramafotografie. Einzelbilder werden zu Panoramen zusammengefügt. Diese Arbeit beschreibt diesen Vorgang unter besonderer Berücksichtigung der anschließenden Darstellung im Web. Dabei werden zuerst die einzelnen Schritte erläutert, die notwendig sind um ein Panorama aus Einzelbildern zu erstellen. Anschließend werden einige Programme vorgestellt, mit denen Panoramen automatisch erstellt werden können. Zum Schluss wird auf die konkrete Darstellung im Web eingegangen. 1.1 Panoramaformate Für die Darstellung von Panoramen kommen eine Vielzahl von Projektionstypen in Frage, die eine unterschiedliche Betrachtungsweise ermöglichen. In diesem Abschnitt werden die vier grundlegenden Typen vorgestellt. Die weiteren Typen sind zum größten Teil eine Ableitung dieser, die durch leichte Änderungen der Parameter entstehen. 1. Zylindrische Panoramen: Zylindrische Panoramen erwecken den Eindruck als befände man sich im inneren eines Zylinders auf dessen Fläche die Umgebung projiziert ist. Eine komplette Rundsicht hat einen horizontalen Blickwinkel von 360 Grad. Die vertikale Projektion ist hingegen auf die Ränder des Zylinders eingeschränkt. 2. Sphärische Panoramen: Sphärische Panoramen sind auf die Oberfläche einer Kugel projiziert, in deren Inneren der Betrachter sich befindet. Der Rundblick ist auf 360 Grad horizontal und 180 Grad vertikal beschränkt. Man kann sich also komplett im Kreis drehen und auch senkrecht nach oben und nach unten blicken. 3. Kubische Panoramen: Bei kubischen Panoramen befindet man sich im Zentrum eines Würfels, auf dessen 6 Seiten die Umgebung mit einem Blickwinkel von jeweils 90°, horizontal und vertikal, projiziert wird. Dies ermöglicht ebenfalls wie beim sphärischen Panorama ein Blickfeld von 360° (horizontal) und 180°(vertikal). Für die Speicherung solcher kubischen Panoramen werden die Würfelseiten entweder einzeln abgespeichert oder als Bildstreifen. Diese Streifen stellen dann alle Seiten des Würfels als Kreuz, T (siehe 'Abb. 2') oder Streifen dar. 1 Einleitung 3 Abb. 2: Würfelseiten eines kubischen Panoramas als T dargestellt. Weitere Formate erlauben die Betrachtung einer Kugel von außen oder verwenden unterschiedlichen Verzerrungen der hier beschriebenen Formate. 2 Erstellen eines Panoramabildes 4 2 Erstellen eines Panoramabildes So einfach die Idee ein Panoramabild aus Einzelbildern zu erstellen doch erscheint, so erkennt man beim Versuch die Bilder zusammen zu setzen sehr schnell die Schwierigkeiten. 'Abb. 3' zeigt auf der linken Seite acht Einzelaufnahmen des Osnabrücker Schlosses und in der Mitte das Ergebnis, wenn man diese übereinander legt. Im Gegensatz dazu zeigt das rechte Bild ein tatsächliches Panoramabild. Abb. 3: Panorama vom Osnabrücker Schloss Im Folgenden werden die Probleme beim Erstellen von Panoramabildern erläutert und die Schritte vorgestellt, mit denen diese Probleme gelöst werden können. 1. 2. 3. 4. Bilder aufnehmen Bilder zusammenfügen (Stitching) Farbe korrigieren (Blending) Ränder anpassen (Cropping) Diese vier Schritte zum Erstellen eines Panoramabildes, die hier nur aufgelistet sind, werden in den nächsten Abschnitten detailliert beschrieben. 2.1 Bilder aufnehmen Im ersten Schritt müssen Bilder aufgenommen werden. Dabei gilt es darauf zu achten, dass jedes Foto von der gleichen Position aufgenommen wird, da durch mehrere Bilder nur der Blickwinkel vergrößert werden soll. Verändert man die Kameraposition, führt das dazu, dass Bilder sich nicht mehr zusammenfügen lassen. So passiert es, dass Objekte, in einem Bild ein anderes Objekt verdecken, im anderen jedoch nicht. Des Weiteren führen Objekte die von unterschiedlichern Positionen betrachtet werden zu unnatürlich wirkenden Bildern. Dieses Problem ist in 'Abb. 4' veranschaulicht, wo das Ergebnisbild der beiden Einzelbilder drei Würfelseiten zeigt. Abb. 4: Links: Aufsicht auf einen Würfel mit vier verschieden farbenen Seiten und zwei Kamerapositionen. Rechts: Zusammengesetztes Bild aus den beiden Kamerabildern. 2 Erstellen eines Panoramabildes 5 2.2 Stitching Damit die Bilder aneinandergefügt werden können, ist es notwendig Homomorphien zu erkennen. Homomorphien sind Strukturähnlichkeiten in zwei Bildern, die darauf schließen lassen, dass die beiden Bilder an eben dieser Stelle das Gleiche abbilden. Das automatisierte Finden von Homomorphien geschieht über Analyse der Bilder mit Mitteln der Computer Vision. Es gibt verschiedene Möglichkeiten Strukturmerkmale in Bildern wiederzuerkennen, die mehr oder weniger geeignet sind. Pixelwerte: Die einfachste aber zugleich auch fehlerbehafteste Methode ist der Vergleich von Pixelwerten. Hierbei spielen die unterschiedlichen Eigenschaften der Pixel eine Rolle, die durch Darstellung mit verschiedenen Farbmodellen zum Vorschein kommen. Vergleichbar sind Farbwerte, Helligkeit oder Sättigung. Auf eine weitere Beschreibung der Farbräume wird hier jedoch verzichtet, da der Vergleich von Pixelwerten deutliche Nachteile 1 mit sich bringt. Der interessierte Leser sei auf das Computergrafikskript verwiesen. Kanten, Ecken, Linien: Kanten sind markante Stellen in Bildern. Große einfarbige Flächen lassen sich nicht fehlerfrei aneinanderfügen. Erst durch strukturierte Merkmale kann man Bildbereiche aus zwei Bildern eindeutig einander zuordnen. Merkmale, die intuitiv verwendet werden können, sind somit Kanten in Bildern. Zur Detektion von Kanten gibt es einige wohlbekannte Verfahren, die auf der Suche nach Maxima der Gradienten 2 basieren . Bei der Canny Edge Detection wird die Ableitung ein Gaussfilters auf das Bild angewandt. Ein Bildfilter manipuliert Bildpixel durch eine Funktion in Anhängigkeit der Nachbarpixel. Bei der Ableitung einer 2-dimensionalen Gaussfunktion (Vgl. 'Abb. 5') bestimmt die Magnitude der Gaussfunktion den Eintrag in die Filtermaske. Auf diese Weise werden Bereiche markiert, die einen scharfen Übergang haben, also Kanten. Abb. 5: 2-dimensionale Gaussfunktion Auch Ecken lassen sich erkennen, indem man die Gradienten in x- und y-Richtung des Bildes bestimmt und diese beide mit einem Schwellwert vergleicht. Vergleicht man nun die Anordnung von Kanten oder Ecken in zwei Bildern so lassen sich durch Beziehungen, Abstände und Orientierungen zwischen Kanten oder Ecken Beziehungen zwischen zwei Bildern erstellen. Somit wird deutlich, wie diese zueinander gehören. Dabei ist die Verwendung von Ecken etwas zuverlässiger. Linien bereiten dann Probleme, wenn alle Merkmale parallel zueinander sind. Man kann die Bilder entlang der Linien beliebig aufeinander verschieben. Werden jedoch zwei Ecken als korrespondierend erkannt, so ist die Zuordnung eindeutig. Geometrische Formmerkmale: Es gibt unterschiedliche geometrische Formmerkmale, die verwendet werden 3 können um geometrische Objekte zu beschreiben . Zu den einfachsten Merkmalen gehören Objektfläche und Umfang, Kreisförmigkeit, Seitenverhältnis, Füllungsgrad und Radienverhältnis. Oberfläche und Umfang sind zwar invariant gegenüber Rotation und Translation, nicht aber gegenüber Skalierung. Kreisförmigkeit stellt ein Verhältnis aus Fläche und Umfang einer Kontur dar, reicht von 0 bei einer Linie bis zu 1 bei einem Kreis und ist invariant gegenüber Rotation, Skalierung und Translation. Das Seitenverhältnis eines Rechtecks, das eine Kontur umschließt ist skalierungs- und translationsinvariant. Rotationsinvarianz erreicht man erst wenn man 1 http://www-lehre.inf.uos.de/~cg/2008/skript/node55.html 2 David A. Forsynth, Jean Ponce, 2003. Computer Vision: A Modern Approach 3 Vgl. Stefan Stiene, Januar 2006. Konturbasierte Objekterkennung in Tiefenbildern eines 3D Laserscanners, Masterthesis. 2 Erstellen eines Panoramabildes 6 die Orientierung der Rechtecke beliebig hält. Der Füllungsgrad kann als Verhältnis der Fläche zu diesem umschließenden Rechteck bestimmt werden. Invarianz ist also identisch zu der des Seitenverhältnisses. Das Radienverhältnis ist das Verhältnis zwischen dem größten Kreis der in die Kontur passt und dem kleinsten Kreis der die Kontur umfasst und ist rotations-, skalierungs- und translationsinvariant. Erweiterte Formmerkmale sind sogenannte geometrische Momente. Reguläre oder diskrete geometrische Momente einer zweidimensionalen Bildfunktion B(x,y), werden berechnet durch M X N X mp,q = B(x, y)xp y q mit p, q = 0, 1, 2, ... x=1 y=1 Dabei bezeichnet N die Zeilen- und M die Spaltenanzahl. Das Moment besitzt die Ordnung j=(p+q), und zu jeder Ordnung j gibt es j+1 Momente. Durch Verschiebung der x und y Koordinaten um den Schwerpunkt werden diese Momente zu zentralen Momenten umgewandelt, die translationsinvariant sind. Durch Normierung erreicht man auch skalierungsinvarianz. Rotationsinvarianz wird jedoch erst durch geeignete Kombination zum 4 Beispiel nach Hu erreicht. Selbst wenn diese Merkmale invariant gegenüber Skalierung, Translation und Rotation sind, so ist die Bestimmung doch oftmals sehr aufwändig. Es müssen zuerst Flächen extrahiert werden, von denen dann die Eigenschaften bestimmt werden und diese mit Flächen aus anderen Bildern verglichen werden. 5 SIFT-Merkmale: SIFT (Scale-invariant feature transform) Merkmale sind in der Computer Vision häufig verwendete Merkmale, deren großer Vorteil darin liegt, dass sie invariant gegenüber Rotation, Skalierung und auch gegenüber Belichtungsunterschieden sind. Das heißt ein Merkmal, beispielsweise die Kante eines Objekts, das in einem Bild erkannt wird, wird auch in einem korrespondierenden Bild erkannt, in dem die Szene rotiert oder skaliert ist und das unterschiedliche Belichtung aufweist. Die Extraktion von SIFT-Merkmalen besteht aus vier Schritten, die im Folgenden erläutert werden. 1. Scale-Space extrema detection: Im ersten Schritt der Berechnung werden Extrema in allen Orientierungen und Skalierungen gesucht. Mit Hilfe von Difference of Gaussion Funktionen (DoG) werden potentielle interessante Punkte detektiert, die invariant gegenüber Rotation und Skalierung sind. DoG bedeutet die Differenz aus zwei Faltungen des gleichen Bildes mit unterschiedlichen Gauss-Filtern. 2. Keypoint localization: Bei jedem potentiellen Keypoint wird ein Modell zur Bestimmung von Ort und Skalierung erstellt. Anhand eines Stabilitätsmessung werden Keypoints ausgewählt. Dabei werden Kanten, die einen geringen Stabilitätswert haben elimiert und Ecken bevorzugt hinzugefuegt. 3. Orientation assignment: Entsprechend der Richtungen der lokalen Bildgradienten in der Umgebung eines jeden Keypoints werden dem Keypoint eine oder mehrere Richtungen zugewiesen. Bei der weiteren Verwendung werden die Bildausschnitte relativ zu der Hauptrichtung eines jeden Keypoints transformiert. Dies garantiert Invarianz gegenüber Rotation. 4. Keypoint descriptor: Die lokalen Bildgradienten werden mit der ausgewählten Skalierung in der Umgebung um jeden Keypoint gemessen. Daraus erstellt man Keypoint-Deskriptoren, anhand derer man Signifikante Änderungen im Bild klassifizieren kann, die aber invariant gegenüber Belichtungsunterschieden des gesamten Bildes sind. 'Abb. 6' zeigt die Bildgradienten eines Beispielbildes und die daraus enstandenen Keypoint-Deskriptoren. Aus diesen Merkmalen erstellt man nun einen kD-Baum, in dem man nach Nachbarn suchen kann um Korrespondenzen zu bestimmen. 4 Hu, M.K., 1962. Visual pattern recognition by moments invariants. IRE Trans. Information Theory, 8: 179- 87. 5 David G. Lowe, 2004. Distinctive Image Feature Tranform from Scale-Invariant Keyppints. 2 Erstellen eines Panoramabildes 7 Abb. 6: Links: Bildgradienten und daraus resultierende Keypoint-Deskriptoren. Rechts: Bild mit darin detektierten SIFT-Merkmalen. Geometrische Transformation: Nachdem Korrespondenzen in Nachbarbildern bestimmt worden sind, muss ein Bild so transformiert werden, dass seine Merkmale auf die des anderen Bildes abgebildet werden. Dies entspricht der Transformation eines Rechtecks auf ein beliebiges Viereck. Sei g(x,y) eine Transformation die auf eines der Bilder angewandt werden soll und k die Anzahl der Merkmale, dann gilt es das Minimum von min k X 2 g(xil , yil ) − (x′jl , yj′ l ) l=1 zu bestimmen, das heißt eine Transformation, welche die beiden Bilder so aufeinander abbildet, dass der Abstand zwischen den korrespondierenden Merkmalspunkten minimal ist. 2.3 Blending Sollen zwei Bilder aneinandergefügt werden, so entstehen deutliche Ränder an den Übergängen von einem zum anderen Bild. Grund dafür sind Belichtungsunterschiede aber auch natürliche Faktoren, wie Vignettierung. Vignettierung ist ein Effekt der durch die Krümmung der Kameralinse verursacht wird und zu einem Helligkeitsanstieg an den Bildrändern führt. Um diese Effekte im zusammengesetzten Bild zu vertuschen, müssen die Übergänge angepasst werden. Dabei gilt es zu beachten, dass bei Bildern mit hoher Raumfrequenz weichere Übergänge erwartet werden, als bei Bereichen mit niedriger Raumfrequenz. Des Weiteren stellen sich bewegende Objekte Probleme dar. 6 Das hier beschriebene Verfahren verfolgt die Idee, die Einzelbilder nach Raumfrequenz zu unterteilen und mit unterschiedlichen Blendmasken zu überlagern. Bereiche mit bewegten Objekten müssen dafür zuerst manuell aus einem der beiden Bilder entfernt werden. Als erstes wird aus den beiden zu überlagernden Bilder eine Transitionsline berechnet, die Linie entlang derer die Bilder aneinandergefügt werden sollen. Nun wird basierend auf dieser Transitionslinie eine Blendmaske erstellt, die auf einer Seite der Transitionslinie schwarz, auf der anderen Seite weiss ist. Die Transitionslinie soll dabei möglichst weit entfernt von den Rändern der Überlappenden Ausschnitte liegen. 7 Aus der so erstellten Blendmaske wird eine Gauss-Pyramide gebildet . Dabei wird das Bild mit einem Gauss-Filter Tiefpass gefiltert. In jeder Ebene wird das Bild verkleinert und somit der Übergang zwischen schwarz und weiss weicher. 'Abb. 7' zeigt eine exemplarische Blendmaske für die erste und die vierte Ebene. Dabei wurde die Blendmaske für die vierte Ebene vergrößert um die Unterschiede in der Breite der Maske zu verdeutlichen. 6 Vgl. http://enblend.sourceforge.net/details.htm 7 David A. Forsynth, Jean Ponce, 2003. Computer Vision: A Modern Approach 2 Erstellen eines Panoramabildes 8 Abb. 7: Erste (links) und vierte (rechts) Ebene einer Gauss-Pyramide für eine exemplarische Blendmaske Die Ebenen der Gauss-Pyramide sollen nun mit den beiden Fotos kombiniert werden. Dazu muss auch aus jedem Foto eine Bild-Pyramide erstellt werden. Hierbei soll jede Ebene eine unterschiedlich hohe Raumfrequenz besitzen. Formell bedeutet Raumfrequenz den kleinsten räumlichen Abstand, nach dem sich räumlich periodische Erscheinungen wiederholen. Für Fotos lässt sich daraus ableiten, dass Teile mit besonders feiner Struktur eine hohe Raumfrequenz, also viele kleine Kanten haben, während Bereiche mit niedriger Raumfrequenz sanfte große Flächen ohne Übergänge besitzen, so zum Beispiel bei weichen Bereichen, wie dem Himmel. Von den beiden aneinanderzufügenden Bildern wird jeweils eine Laplace-Pyramide gebildet um die Bilder nach Raumfrequenz aufzubrechen. Hierzu wird wiederholt ein Hochpassfilter angewandt. Jede Filterung wählt aus dem Bild die Elemente mit der höchsten Raumfrequenz aus und reicht den Rest weiter an die folgende Ebene. Da jede tiefere Ebene über weniger Informationen verfügt, die feinsten Kanten entfernt wurden, kann das Bild skaliert werden, so dass die Struktur einer Pyramide entsteht. Das linke Bild in 'Abb. 8' zeigt die oberste Ebene einer Laplace-Pyramide für ein Beispielbild. Es wird deutlich, dass hier nur die feinsten Kanten abgebildet sind, also nur die höchste Raumfrequenz. Die unterste Ebene besteht aus der geringsten Anzahl von Pixeln, repräsentiert aber die größten Flächen im Originalbild, die Bereiche mit den weichsten Übergängen. Dies liegt daran, das jedes Pixel eine große Anzahl von Pixeln aus dem Originalbild beeinflusst. Dies ist demonstriert in 'Abb. 8', wo aus dem Beispielbild nur noch die Bereiche mit niedrigster Raumfrequenz übrig geblieben sind. Abb. 8: Links: Oberste Ebene der Laplace-Pyramide eines Beispielbildes. Nur die Merkmale mit der höchsten Raumfrequenz, also die feinsten Strukturen sind hier enthalten. Rechts: Die Komponenten des Beispielbildes mit niedrigster Raumfrequenz. Das tatsächliche Blending ist nun die Kombination der beiden Pyramiden. Hierbei werden die Bilder ebenenweise zusammengesetzt. Die unterste Ebene der Laplace-Pyramide wird mit der untersten Ebene der Gauss-Pyramide geblendet. Dabei wird jedes Pixel des Ergebnisbildes entsprechend der Blendmaske unterschiedlich stark von den beiden Originalbildern beeinflusst. Ein schwarzes Pixel in der Blendmaske bedeutet, dass das Pixel komplett aus dem linken Originalbild übernommen wird, bei weißen Pixeln komplett aus dem rechten. Bei Grauwerten wird ein gewichteter Mittelwert aus den Farbwerten der Pixel aus den beiden Originalbildern übernommen. Ebenso verfährt man mit den anderen Ebenen der Bild- und Blendmaskenpyramiden. Auf diese Weise erhält man weiche Übergänge bei hoher Raumfreqeunz und schärfere Übergänge bei niedrigerer Raumfrequenz. Um das Endergebnis zu erhalten müssen nun noch die kombinierten Ebenen überlagert werden. 2 Erstellen eines Panoramabildes 9 2.4 Cropping Beim Stitchen der Einzelbilder zum Panoramabild werden Rechtecke auf beliebige Vierecke projiziert. Aus diesem Grund verfügt das Panorama nicht über gerade Ränder. Für ein schönes Panoramabild müssen folglich die Ränder geglättet werden. Dies gilt es auch bereits bei der Aufnahme der Bilder zu berücksichtigen. Es sollte ausreichend Rand zur Verfügung stehen, der abgeschnitten weden kann ohne dabei das Motiv des Panoramas zu abzuschneiden. 3 Tools zur automatischen Panoramaerstellung 10 3 Tools zur automatischen Panoramaerstellung Panoramen manuell zu erstellen ist eine schwierige Aufgabe. Mit Mitteln der Computergrafik und der Computer Vision lässt sich dieses jedoch stark vereinfachen. In diesem Kapitel werden zuerst Werkzeuge vorgestellt, mit denen Einzelbildern zu Panoramen zusammengefügt werden. Im Anschluss daran werden Möglichkeiten zur Konvertierung dieser Bilder in Panoramafilme vorgestellt. 3.1 Panoramen aus Einzelbildern Zur Erstellung von Panoramen aus Einzelbildern gibt es unterschiedliche Programme, von denen einige hier vorgestellt werden. 8 Hugin ist ein plattformunabhängiges OpenSource Projekt mit dem man basierend auf den PanoTools Panoramabilder aus Einzelbildern zusammenfügen kann. Dabei können der Reihe nach alle in Kapitel 2 vorgestellten Schritte durchgeführt werden. Die Verwendung dieses Programmes wird im Abschnitt Hugin im Detail beschrieben. 9 PTgui ist eine Anwendung zum Stitchen von Panoramen. Es ist entstanden aus dem Versuch eine graphische Oberfläche für die Panorama Tools zu erstellen. Inzwischen ist es zu einer eigenständigen Stiching Anwendung entwickelt worden, in der weiterhin die Programme der Panorama Tools verwendet werden können. 10 Die PanoTools , ursprünglich als Panorama Tools entwickelt, sind eine Sammlung von Anwendungen zu Erund Darstellung von Panoramen. Sie stellen Funktionalitäten für alle Schritte der Panoramaerstellung zur Verfügung. Sowohl Hugin als auch PTGui können als graphische Oberfläche für diese Applikationen verwendet werden. 11 Enblend ist eine Anwendung zur Komposition zweier überlappender Bilder ohne scharfe Übergänge durch Überblenden. Enblend ist in Hugin und PTGui integrierbar, kann aber auch über Kommandozeilenbefehl als eigene Anwendung gestartet werden. 12 Autopano ist eine kommandozeilenbasierte Anwendung zur Extraktion von SIFT-Merkmalen aus Bildern. 3.1.1 Hugin Nach dem Starten von Hugin erscheint zuallererst die Hauptoberfläche ('Abb. 9'), von der aus alle weiteren Schritte möglich sind. In diesem Kapitel werden zuerst die notwendigen Schritte beschrieben und dann die Schritte, die allein der Verbesserung des Ergebnisses dienen. 8 http://hugin.sourceforge.net/ 9 http://www.ptgui.com/ 10 http://panotools.sourceforge.net/ 11 http://enblend.sourceforge.net/ 12 http://autopano.kolor.com/ 3 Tools zur automatischen Panoramaerstellung 11 Abb. 9: Hauptfenster von Hugin Bilder laden: Durch Druck auf die Schaltfläche "Bilder laden" öffnet sich ein Fenster ('Abb. 10'), in dem man seine Festplatte nach Bildern durchsuchen und diese gleichzeitig in die Applikation laden kann. Bestätigt man die Auswahl öffnet sich ein Weiteres Fenster, in dem man Kameraeigenschaften angeben muss. Diese bestehen aus dem Objektivtyp, der Brennweite und dem Öffnungswinkel der Kamera. Der Einfluss dieser Angaben auf das Ergebnis ist jedoch in der Regel gering. Abb. 10: Einstellung der Linseninformationen Ausrichten: Beim Laden der Bilder werden automatisch Kontrollpunkte erstellt, anhand dieser nun die Ausrichtung der Bilder nach Druck auf den Knopf "Ausrichten" berechnet wird. Erstelle das Panoramabild: Im letzten Schritt wird nun noch das Panoramabild erstellt. Ein Druck auf "Erstelle das Panoramabild" öffnet ein Fenster, in dem weitere Einstellungen getätigt werden können. 3 Tools zur automatischen Panoramaerstellung 12 Abb. 11: Fenster zur Eingabe der Parameter für das Ausgabepanorama Dabei wird in das Register "Zusammenfassung" gewechselt. Neben der Größe und der Kompression des Ergebnisbildes kann auch der Algorithmus fürs Stitching ausgewählt werden sowie die Kurve für die Interpolation beim Zusammenfügen. Außerdem kann angegeben werden, ob die Übergänge zwischen den Bildern mit Enblend geglättet werden sollen. Feinjustierungen: Die hier beschriebenen Schritte reichen aus um schnell ein Panoramabild aus Einzelbildern zu erstellen. Für gute Ergebnisse ist es manchmal aber nötig, einige Einstellungen zu verändern. Diese werden im folgenden Kapitel erläutert. 3.1.1.1 Erweiterte Einstellungen Die drei grundlegenden Schritte zur Erstellung eines Panoramabildes mit Hugin wurden im vorherigen Kapitel beschrieben. Hier folgen nun einige weitere Einstellungen, die besonders dann helfen, wenn eine rein automatische Erzeugung nicht das gewünschte Ergebnis bringt. Nach dem Laden der Bilder werden zuerst automatisch Kontrollpunkte erzeugt. Anschließend öffnet sich ein Vorschaufenster: 3 Tools zur automatischen Panoramaerstellung 13 Abb. 12: Vorschaufenster Hier wird das Panorama dargestellt, wie es im Ergebnis zu sehen sein wird. Unten rechts kann zwischen unterschiedlichen Projektionsarten gewählt werden. Daneben kann der Überblendmodus umgestellt werden. Im Vorschaufenster selbst hat man die Möglichkeit mit der Maus das gesamte Panoramabild zu verschieben oder mit den Schiebereglern das Sichtfeld zu verändern. In der oberen Leiste sind Knöpfe zum automatischen Zentrieren, Anpassen an das Sichtfeld und Ausrichten des Panoramas (von links). Daneben gibt es die Möglichkeit anstatt mit der Maus Transformationen numerisch anzugeben. Dies gilt sowohl für Translation als auch für Rotation des Panoramabildes. In der Leiste darunter kann die Anzeige einzelner Bilder abgeschaltet werden um eventuelle Fehlanordnungen besser zu erkennen. Abb. 13: Fenster zum Laden oder Löschen von Bildern und automatischen Bestimmen von Kontrollpunkten. 3 Tools zur automatischen Panoramaerstellung 14 Öffnen des Registers mit dem Titel "Bilder" ('Abb. 13') gibt die Möglichkeit Einzelbilder zu verwalten. Jedes einzelne Bild wird angezeigt mit den aktuell berechneten Transformationen, die nötig sind um es an ein Ankerbild anzupassen. Anker können für Belichtung und Position separat ausgewählt werden. Der Belichtungsanker dient als Referenz für die Helligkeit der Bilder, während der Positionsanker im Ergebnisbild das Blickzentrum bildet, das je nach Projektionsart als nächstes oder entferntestes Bild projiziert dargestellt werden kann. In diesem Fenster gibt es auf der rechten Seite die Möglichkeit neue Bilder zu laden, Bilder aus der Auswahl zu löschen oder die Reihenfolge der Bearbeitung zu verändern. Unten links können Position und Orientierung des Ergebnisses geändert werden. Des Weiteren können hier Bildpaare ausgewählt werden, zwischen denen automatisch korrespondierende Kontrollpunkte bestimmt werden sollen. Die Kontrollpunkte werden im Register "Kontrollpunkte angezeigt": Abb. 14: Kontrollfenster für die Betrachtung und Erstellung von Kontrollpunkten. In zwei Fenstern werden die Bilder eines Paares angezeigt und in diesen jeweils die Kontrollpunkte markiert, die in beiden Bildern vorkommen. Die Kontrollpunkte werden aufgelistet mit ihren Positionen in Bildkoordinaten und den Abständen unter den aktuellen Tranformationen. Es können auch Punkte manuell hinzugefügt werden, oder ein Paar feinjustiert werden sowie fehlerhafte Kontrollpunktpaare gelöscht werden. Nachdem man Kontrollpunkte verändert hat, müssen im Hauptfenster durch den Knopf "Ausrichten" die Bilder entsprechend der neuen Punktpaare ausgerichtet werden. Im Register "Optimieren" gibt es die Möglichkeit die Parameter zum Zusammenfügen der Einzelbilder zu optimieren. Dabei kann ausgewählt werden, welche der Bild- oder Linsenparameter optimiert werden sollen. 3.1.2 PTgui 13 PTGui ist eine Anwendung zum Stitchen von Panoramen. Es ist entstanden aus dem Versuch eine graphische Oberfläche für die Panorama Tools zu erstellen, hat sich aber zu einer eigenständigen Stiching Anwendung entwickelt. PTGui läuft derzeit unter Windows und Mac OSX. 13 http://www.ptgui.com/ 3 Tools zur automatischen Panoramaerstellung 15 In der generellen Funktionalität und auch im Bezug auf die graphische Oberfläche unterscheidet sich PTGui kaum von Hugin. Deswegen wird hier auf eine Vorstellung der grundlegenden Funktionalität verzichtet. Stattdessen werden nur die zusätzlichen Funktionen vorgestellt die PTGui zur Verfügung stellt. Das Hauptfenster wird in 'Abb. 15' gezeigt. Abb. 15 Hauptfenster von PTGui. Im Vorschaufenster gibt es neben der Möglichkeit das gesamte Panorama zu bearbeiten auch die Möglichkeit Bilder einzeln transformieren. Außerdem lässt sich auch eine verbesserte Ergebnisvorschau nur für ausgewählte Bilder erstellen. Des Weiteren bietet PTGui die Möglichkeit Ränder von Bilder abzuschneiden, zu croppen. Diese Anwendung kann für jedes Bild einzeln oder auch für alle Bilder mit den gleichen Parametern durchgeführt werden. 3 Tools zur automatischen Panoramaerstellung 16 Abb. 16 Fenster zum Croppen von Einzelbildern In einem weiteren Unterfenster 'Exposure/HDR' können die Bilder automatisch bezüglich Belichtungsunterschieden und Weißabgleich korrigiert werden. Auch die Effekte durch Vignettierung werden hierbei behoben. Abb. 17 Fenster für automatische Korrektur von Belichtung, Weißabgleich und Vignettierung 3 Tools zur automatischen Panoramaerstellung 17 Ein Mangel in der Trial-Version ist, dass der Optimizer aus den Panorama Tools nicht verwendet werden kann. 3.1.3 PanoTools 14 Die PanoTools sind eine Sammlung von Anwendungen zu Er- und Darstellung von Panoramen. Sie sind 15 eine Weiterentwicklung der Panorama Tools . Die PanoTools bestehen aus • • • • • • • • • PTStitcher, einem Panorama Stitcher für eine große Anzahl an Input und Output Formaten, PTPicker, einer graphischen Oberfläche zum Ausrichten der Bilder, PTStereo, zum Erstellen von 3-dimensionalen Objekten aus mehreren Bildern, PTInterpolate, einem Werkzeug zum Kombinieren zweier Bildern von unterschiedlichen Blickpunkten zu einem Bild, PTMorpher, einem Morphing Werkzeug, PTAverage, das Rauschen in Bildern reduziert, PTStripe, das Bilder zu Filmstreifen kombiniert um sie in einem Objekt-Viewer anzuzeigen, Panorama Tools, Plugins für Photoshop und GraphicConverter zum Erstellen und Editieren von Panoramen, PTEditor, einem visuellen Panorama Editor. Auf eine detaillierte Beschreibung aller Werkzeuge wird hier verzichtet. Der PTViewer, der Teil der Panorama Tools war, wird im Abschnitt Applet genauer vorgestellt. 3.1.4 Enblend 16 Enblend ist eine Anwendung zur Komposition zweier überlappender Bilder. Es fügt Bilder, die zuvor angeordnet wurden, so zusammen, dass keine scharfen Übergänge entstehen, indem es die Bilder überblendet. Sowohl in Hugin als auch in PTGui kann Enblend als Applikation zum Blenden der gestitchten Bilder integriert werden. Die Applikation verwendet das im Kapitel Blending beschriebene Verfahren um Übergänge zwischen Bildern möglichst weich zu gestalten. Enblend kann aber auch manuell gestartet werden. Dazu erstellt man mit einem Tool wie Hugin kein komplettes Panoramabild sondern wählt "Multiple TIFF" als Ausgabe. Diese TIFF-Bilder werden dann mit Enblend überlagert. Der Aufruf enblend -o output.tif input1.tif input2.tif ... überblendet die 'input'-Dateien und erstellt daraus das Ausgabebild output.tif. Dabei müssen die Eingabebilder von links nach rechts angeordnet sein um einen fehlerfreien Ablauf zu ermöglichen. Durch den Parameter -l anzahl wird die maximale Anzahl an Pyramidenebenen bestimmt um den Blendingprozess zu beschleunigen. Mit -w ermöglicht man Blending über die +/-180 Grad Grenze hinaus, wie es zum Beispiel für 360 Grad Panoramen nötig ist. -z verwendet verlustlose Kompression des Ausgabebildes. Weiteren Parametern existieren um beispielsweise die Größe des Ergebnisbildes manuell zu setzen oder die Größe des Caches der für Enblend zur Verfügung steht zu bestimmten. 14 http://panotools.sourceforge.net/ 15 http://www.all-in-one.ee/~dersch/ 16 http://enblend.sourceforge.net/ 3 Tools zur automatischen Panoramaerstellung 18 3.1.5 Autopano 17 Autopano ist ein automatisches Panorama-Erkennungstool für die PanoTools. Gegeben einer Menge von Bildern detektiert es solche, die zusammen ein Panorama ergeben könnten. Dies geschieht durch Extraktion von SIFT-Merkmalen und Detektion von Punktpaaren in einem Bilderpaar. Als Ausgabe generiert es Panorama-Projektdateien inklusive Mengen von Kontrollpunktpaaren. Autopano wird gestartet mit autopano.exe [Verzeichnis] [Optionen] oder autopano.exe /f Datei1 Datei2 .. [DateiN] [Optionen] Die angegebenen Dateien oder die Dateien im angegebenen Verzeichnis werden analysiert und Ausgabedateien panorama1.oto, panorama2.oto, ... autopanoN.oto erstellt, welche die Informationen über die detektierten Panoramen enthalten. Diese Ausgabedateien können von Programmen wie PTGui oder Hugin geöffnet werden. Autopano ist in der Lage selbständig aus einer Menge von Bildern jene zu bestimmen, die zu einem Panorama gehören und ebenso die Anordnung der Bilder. Aus diesem Grund ist es auch bei Applikationen, die Autopano verwenden, wie Hugin oder PTGui, nicht nötig die Einzelbilder in der richtigen Reihenfolge anzugeben. 3.2 Panorama-Filme Die bislang vorgestellten Programme erstellen Panoramen als einfache Bilder. In diesem Kapitel wird eine Anwendung zum Erstellen von Panorama"filmen" aus Panoramabildern vorgestellt. Ein Panoramafilm ist eine Darstellungsweise von Panoramen. Hierbei wird das Panoramabild nicht flach auf dem Bildschirm dargestellt, sondern der Benutzer erhält die Möglichkeit sich in dem Bild zu bewegen und erhält somit den Eindruck eines tatsächlich vergrößerten Blickwinkels ohne Verzerrungen. Dabei kann die Bewegung durch das Bild entweder manuell gesteuert werden oder aber eine automatische Bewegung in den Film eingebaut sein. Durch Verknüpfung mehrerer Panoramafilme ergibt sich so die Möglichkeit eines virtuellen Rundgangs. Ein eindrucksvolles Beispiel 18 dafür sind die Panoramen aus der Osnabrücker Innenstadt . Zwei Filmformate, die sich zur Darstellung von Panoramen eignen sind Quicktime VR und Macromedia Flash. Ein Programm zur Erstellung von Panoramafilmen ist Pano2VR, das im folgenden Unterkapitel vorgestellt wird. 3.2.1 Pano2VR 19 Pano2VR 2.0 ist eine Applikation, die Panoramabilder in QuickTime VR und Macromedia Flash Formate konvertiert. Dabei ist die Möglichkeit gegeben Hotspots zu definieren und Auto-Rotation hinzuzufügen. Unterstützt werden die Panoramaformate Sphärisch, Würfelflächen, Kreuz-, T- und Streifen-Eingabeformate. Aus einem Format kann auch ein anderes generiert werden, um zum Beispiel die Möglichkeit zu erhalten, Würfelflächen zu retuschieren. Pano2VR 2.0 gibt es in Beta-Versionen für Linux, Mac OS und Windows. Pano2VR basiert auf der älteren Variante Pano2QTVR 1.6, das in drei verschiedenen Ausführungen, jedoch nur für Windows, 20 existiert. In der aktuellen Version sind einige Features aus Pano2QTVR noch nicht in Pano2VR integriert, während andere besser funktionieren. Ein Vergleich der Features befindet sich im nächsten Abschnitt. 17 http://autopano.kolor.com/ 18 http://www.stadtpanoramen.de/osnabrueck/ 19 http://gardengnomesoftware.com/pano2vr.php 20 'Stand 21.12.2007' 3 Tools zur automatischen Panoramaerstellung 19 Die grundlegende Funktion der Anwendung ist sehr simpel gehalten. Alle Funktionalitäten sind direkt vom Hauptfenster aus zu erreichen: Abb. 18: Hauptfenster von Pano2VR Zuerst wird ein Panoramabild in das Programm geladen (rot markiertes Feld). Man kann einerseits per Drag-and-Drop ein Bild mit der Maus in das Fenster ziehen oder aber mit dem "Select Input" Knopf ein weiteres Fenster öffnen, in dem man bequem nach einem Eingabebild browsen kann, für dieses das Format angeben und auch eine Hotspotdatei laden kann. Wird kein Eingabeformat angegeben, so wird dieses automatisch bestimmt. Der grün markierte Bereich ist für die Einstellung der Ansichtsparameter. Ein Knopfdruck auf "Modify" öffnet ein Fenster ('Abb. 19'), in dem die Startparameter für die Orientierung des Bildes und das Sichtfeld eingestellt werden können. Des Weiteren lassen sich hier die Grenzen für die Rotation angeben. Das blau markierte Feld dient der Angabe von Benutzerdaten sowie dem Titel des Panoramas oder dem Erstellungsdatum. Der magentafarbene Bereich dient der Erstellung von Hotspots im Panorama. Ein Hotspot ist ein Zugriffsbereich innerhalb des Panoramas. In einem eigenen Fenster können im Panorama Hotspots angelegt werden. Dazu markiert man Bereiche des Bildes und belegt sie mit einem Titel, wie in 'Abb. 20' zu sehen. Bewegt man nun bei der Anzeige des Panoramas die Maus über den markierten Bereich so erscheint ein Tooltip mit dem Titel. Des Weiteren gibt man eine Ziel-URL an, die mit dem Hotspot assoziiert und geöffnet werden soll, sobald auf den Hotspot geklickt wird. Durch Angabe eines Targets wird spezifiziert, ob die Seite im gleichen Fenster oder in einem anderen Fenster geöffnet werden soll. Die URL kann als Ziel entweder eine beliebige Webseite oder auch einen weiteren Panoramafilm beinhalten. 3 Tools zur automatischen Panoramaerstellung 20 Abb. 19: Einstellung der Ansichtsparameter Abb. 20: Definition von Hotspots Im cyan markierten Bereich des Hauptfensters können Ausgabeformate spezifiziert werden. Zur Wahl stehen QuickTime VR Macromedia Flash und Konvertierung in andere Panoramabilder. Für QuickTime und Flash können neben Qualität und Fenstergröße auch noch Autorotation eingestellt werden. Dies bedeutet, dass eine bestimmte Zeit nach Laden des Videos das Panoramabild in vorgegebener Geschwindigkeit rotiert. 3 Tools zur automatischen Panoramaerstellung 21 Ergebnisse der Videos, die mit diesem Programm erstellt wurden folgen im Kapitel 'Darstellung im Web'. 3.2.1.1 Features von Pano2VR Pano2VR ist eine komplett neu geschriebene Applikation für deren Funktionalität PanoQTVR als Vorbild dient. Da Pano2QTVR von der Bedienerfreundlichkeit und Übersichtlichkeit weit hinter Pano2VR zurückliegt und auch in der kostenlosen Version bezüglich der Funktionalität eingeschränkter ist, wird hier auf eine genauere Beschreibung der Anwendung verzichtet. 'Tab. 1' liefert eine Übersicht über die unterschiedlichen Funktionalitäten der verschiedenen Versionen. Wesentlichen Features Läuft unter Microsoft Windows Läuft Mac OS X (Universal) Läuft unter Linux Kubische Panoramen Zylindrische Panoramen Erstellt Objektfilmen Exportiert Panoramen als QuickTime (.mov) Exportiert Panoramen als Macromedia Flash 8 (.swf) Exportiert Panoramen als Macromedia Flash 9 (.swf) Exportiert Objektfilme als QuickTime (.mov) Exportiert Objektfilme als Macromedia Flash (.swf) Erstellt bis zu 255 Hotspots Erstellt Grau- oder Farbvorschau mit gewähltem Reduktionsfaktor Erstellt Sepiavorschau Erzeugt Subtiles für Progressiven Download Setzen der wichtigsten QuickTimeVR Parameter z.B. fov, pan, tilt, protection, compressed headers, userdata,... Erkennt Details für initiale Anzeigeparameter, und übernehme diese Position Erkennt Details im nächsten verlinkten Film für virtuelle Touren Extrahiert Würfelflächen zum Retuschieren und vereinige sie für die Ausgabe Unterstützung für die PanoTools pano12.dll (sofern installiert) Mehrere, strukturierte Konfigurationsdateien Droplets für Drag & Drop Batch Processing mehrerer Dateien Verwendung von Sprite-Tracks in QuickTime VR Dateien Importiert Bilder als Overlays Interaktive Oberflächen mit Kontrollsymbolen Hintergrundmusik für Panoramen Importiert Autorotationssprites für Panoramen Erstellt Thumbnails von Quellbildern (GIF, TIFF und PNG auch mit transparenten Kanälen) Live Vorschau für Thumbnail Erzeugung Erstellt HTML Dateien für QuickTime, DevalVR und PTViewer Erstellt vertikale Bildstreifen for SPi-V and Immervision Pure Player Verbesserte Performanz durch mehrere Prozessorkerne Unabhängig von Apple's QuickTime Objekte: Spezifikation von Animation and Autoplay Geschwindigkeit Objekte: Unbegrenzte Ansichten und Animationen Objekte: Unterschiedliche Controller wie Grabber, Joystick oder absolute Position Verwendung der Ergebnisse für kommerzielle Zwecke Pano2VR 2.0 + + + + + + + + + + + + + + Pano2QTVR 1.6 free pro flash-pack + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + (planed) + + + - + + + + + + + + + + + - + + + + + + + + + Tab. 1: Vergleich der Features von Pano2VR und den unterschiedlichen Varianten von Pano2QTVR 3 Tools zur automatischen Panoramaerstellung 22 Die Funktionalitäten zusammenfassend lässt sich sagen, dass der Mangel des neuen Projektes Pano2VR in der fehlenden Möglichkeit zur Erstellung von Objektfilmen und der fehlenden Unterstützung der PanoTools, die ausgereifte Funktionalitäten zur Verfügung stellen, liegt. Andererseits ist aber die Unabhängigkeit von QuickTime durch die Möglichkeit der Erstellung von Flash Filmen gegeben, die Anwendung wird durch Fähigkeit zur Verwendung mehrerer Prozessorkerne beschleunigt und ist zusätzlich neben Windows auch für Linux und Mac OS verfügbar. Außerdem sind in der kostenlosen Version auch viele Features vorhanden, die in der kostenlosen Pano2QTVR Variante fehlen. Nachteil bleiben hier nur die Wasserzeichen in den Ergebnissen. 3.3 Microsoft Photosynth Microsoft ueber Photosynth: Photosynth is an amazing new technology from Microsoft Live Labs that will change forever the way you think about digital photos. Microsoft Photosynth ist eine StandAlone Application zur Darstellung von 3D-Modellen aus Kamerabildern. Die Anwendung soll neben der Verbindung der Bilder eines einzelnen Nutzers auch Verlinkungen zwischen Bildern anderer Benutzer ermöglichen. In der derzeitigen Version existiert es nur als Tech-Preview, der jedoch bereits tiefe Einblicke in die tatsächliche Applikation ermöglicht. Ein Nachteil der Applikation sind die hohen Systemanforderungen, insbesondere bezüglich der Grafikkarte. So läuft Photosynth nur mit einer Grafikkarte, die Vista Aero Ready ist und über DirectX9 Unterstützung mittels WDDM Treiber verfügt. Die 3D-Modelle werden folgendermaßen erstellt: 1. 2. 3. 4. 5. Lade eine Sammlung von Fotos hoch Linke Fotos mit korrespondierenden Merkmalen Bestimme 3D Positionen mehrfach vorkommender Merkmale Erstelle Photosynth-Modell aus Punktwolke der Merkmale Projiziere Originalbilder auf die Merkmalspunkte Auf diese Weise wird ein 3D-Modell der Szene generiert. Der Benutzer hat die Möglichkeit sich durch die Szene zu bewegen und die Photos aus verschiedenen Blickwinkeln zu betrachten sowie nahtlos in die Szene hereinzuzoomen. Die Kamerapositionen der einzelnen Bilder können angezeigt werden. Für ein Bild lassen sich aus den eigenen Bildern und auch aus fremden Bildern ähnliche Motive automatisch suchen. Ansichten und ganze Sammlungen können an Freunde geschickt werden und mit Notizen oder URLs versehen werden. Abb. 21: Microsoft Photosynth 3 Tools zur automatischen Panoramaerstellung 23 21 Einen Überblick über Microsoft Photosynth bietet die Video-Tour von der Photosynth-Webseite . Im 22 Tech-Preview kann ausserdem die grundlegende Funktionalität der Anwendung bereits getestet werden. 21 http://labs.live.com/photosynth/videodemo.html 22 http://labs.live.com/photosynth/view.html?collection=sanmarco/index1.sxs&st=coll 4 Darstellung im Web 24 4 Darstellung im Web Eine große Anwendungsbreite haben Panoramen im WorldWideWeb. Zur Darstellung von Orten zur Orientierung und zur einfachen Betrachtung bieten sich Panoramen an, da hier hier nur eine zweidimensionale Betrachtung möglich ist, diese aber zur Anschaulichkeit nur wenig hilfreich ist. Als Darstellungsweise bieten sich Bilder, QuickTime VR und Macromedia Flash Formate an, sowie die weit verbreitete Verwendung von Applets. Diese Möglichkeiten werden in diesem Kapitel erläutert. 4.1 Bild Die Darstellung von Panoramabildern unterscheidet sich nicht von der Darstellung anderer Bilder. 1 <img src="Schloss/Schloss.jpg" width="800" height="300" alt="Osnabruecker Schloss"> zeigt das Bild in angegebener Breite und Höhe an: Abb. 22: Panoramabild vom Osnabrücker Schloss 4.2 QuickTime 23 'QuickTime VR' ist eine von Apple entwickelte Technologie zur Darstellung von Panoramen. In einem QuickTime ähnlichen Format werden dabei Panoramabilder angezeigt, in denen gezoomt und navigiert werden kann. Auf diese Weise entsteht der Eindruck, man befände sich direkt in der Szene und könne um sich herum blicken. Daher kommt auch der Name "QuickTime VR" der für "virtuelle Realität" steht. Das Einbinden von Panoramen im QuickTime VR Format in Webseiten geschieht über das embed-Tag. 1 <embed 2 src="Schlossrundsicht/Rundsicht_out.mov" 3 height="500" 4 width="650" 23 http://www.apple.com/quicktime/technologies/qtvr/ 4 Darstellung im Web 5 6 7 8 9 10 11 12 13 14 15 > 25 type="video/quicktime" controller="true" autoplay="true" cache="true" HOTSPOT1="http://www.uni-osnabrueck.de" HOTSPOT2="http://www-lehre.inf.uos.de" HOTSPOT3="http://www.fahrrad-beelmann.de" Target1="_blank" Target2="_blank" Target3="_blank" Abb. 23: Rundsicht vom Osnabrücker Schloss zur Darstellung als QuickTime VR Es gibt eine große Anzahl an Parametern. Neben den Standardeinstellungen für die Größe des Anzeigefensters, den Optionen Kontrollsymbole anzuzeigen und automatisches Starten zu erlauben, können zum Beispiel die 24 Hotspots neu definiert werden. Apple bietet eine vollständigere Auflistung der möglichen Parameter . Die Navigation in QuickTime VR ist möglich über die Maus oder über Tastenkombination: • Umschalt-Taste zum hereinzoomen, • Strg-Taste zum herauszoomen, • Pfeil-Tasten zum navigieren. Bewegt man die Maus über einen Hotspot, so erscheint eine Notiz mit dem Namen des Hotspots. Ein Klick auf diesen öffnet das bei der Erstellung oder in html definierte Ziel. 4.3 Flash 25 Adobe Flash (ehemals Macromedia Flash) ist eine Anwendung zum erstellen von "Flash-Filmen" im SWF-Format, die auf Vektorgrafiken basieren. Durch Animation und Programmierung lassen sich in diesem Format identisch zu QuickTime VR auch Panoramen anzeigen, in denen gezoomt und navigiert werden kann. Das Einbinden erfolgt wiederum über das embed-Tag. 1 <embed src="Schlossrundsicht/Rundsicht_out.swf" 2 quality="high" 3 pluginspage="http://www.macromedia.com/shockwave/download/index.cgi? 4 P1_Prod_Version=ShockwaveFlash" 5 type="application/x-shockwave-flash" 6 width="500" 7 height="500"> 8 </embed> 24 http://www.apple.com/quicktime/tutorials/embed2.html 25 http://www.adobe.com/support/documentation/de/flash/ 4 Darstellung im Web 26 Abb. 24: Rundsicht vom Osnabrücker Schloss zur Darstellung als Flash-Film Die Navigation geschieht auch hier per Maus oder durch Tastenkombination: • Umschalt-Taste zum Hereinzoomen, • Strg-Taste zum Herauszoomen, • Pfeil-Tasten zum Navigieren. Auch der Umgang mit Hotspots ist identisch zu dem bei QuickTime VR. 4.4 Applet 26 PTViewer ist ein Teil der Panorama Tools. Es handelt sich hierbei um ein Java-Applet mit großem Funktionsumfang zum Anzeigen von Panoramen. PTViewer unterstützt sphärische und zylindrische Darstellung von equirektangulären Panoramen mit 360 Grad horizontalem Blickfeld sowie in einer Erweiterung auch das QuickTime VR Format. Die grundlegende Verwendung des PTViewers ist sehr einfach: 1 <APPLET archive=ptviewer.jar code=ptviewer.class width=320 height=200> 2 <PARAM name=file value="RundsichtBild.jpg"> 3 </APPLET> Man stellt das Applet mit vorgegebener Höhe und Breite dar und übergibt diesem als "file"-Parameter den Namen des anzuzeigenden Bildes. Dieses wird dann wie in 'Abb. 25' dargestellt. Abb. 25: Panoramabild vom Osnabrücker Schloss im Applet dargestellt 26 http://www.all-in-one.ee/~dersch/PTVJ/doc.html 4 Darstellung im Web 27 Zahlreiche weitere Parameter stehen zur Verfügung. Einige sind in folgender html-Seite verwendet: 1 <APPLET name="ptviewer" archive=ptviewer.jar code=ptviewer.class width=320 height=200 mayscript=true> 2 . 3 . 4 . 5 <PARAM name=pano0 value=" {file=images/pano.jpg} 6 {pan=-45} 7 {tilt=-50} 8 {fov=80} 9 {fovmax=120} 10 {fovmin=30} 11 {auto=0.5} 12 {hotspot0=x1141 y207 cff0000 n'Marburger Schloss' u'Controls.html'} 13 {hotspot1=x311 y265 c00ff00 n'Pfarrkirche' u'Controls.html'} 14 {hotspot6= x776 y124 n'Lamp' m'images/lmask.gif' i'ptviewer:PlaySound(0)' u'Controls.html'} 15 {hotspot8= x776 y124 p i'images/popup.gif'} 16 > 17 <PARAM name=wait value="images/wait.jpg"> Hier sind als Beispiel initiale Rotationen (tilt, pan) vorgegeben, das Blickfeld eingeschränkt (fovmax, fovmin), eine Autorotationsgeschwindigkeit (auto) vorgegeben und Hotspots durch x- und y-Koordinate im Bild festgelegt. Mit pano0/1/2 können auch mehrere Panoramen geladen werden deren Anzeige durch Kontrollfunktionen aktiviert werden kann. Eine komplette Liste aller Parameter und Kontrollfunktionen bietet 27 die API . Kontrollfunktionen können mit Javascript aufgerufen werden. Sie dienen der Navigation im Bild, der Anzeige von Hotspots, dem Abspielen von Musikdateien und vielen weiteren Funktionen. 'Abb. 26' zeigt ein Applet mit Kontrollleiste. Abb. 26: PTViewer mit Kontrollleiste Unten rechts neben dem Kompass der die Orientierung anzeigt, befinden sich Symbole zum Starten und Stoppen der Autorotation, zum Zoomen, zum Markieren der Hotspots und zum Springen zu einem bestimmten Hotspot. Die Knöpfe auf der linken Seite lassen das Applet neu laden, zum Schloss-Hotspot springen, Autorotation einschalten und einen Ton abspielen. Zum Testen befindet sich dieses Applet unter http://www-lehre.inf.uos.de/~dborrman/Panoramen/PTVJ_EX/. 27 http://www.all-in-one.ee/~dersch/PTVJ/ptviewer.html 5 Zusammenfassung 28 5 Zusammenfassung Das Blickfeld eines Menschen ist größer als die Bilder, die wir mit herkömmlichen Kameras erfassen können. Durch Stiching-Prozesse lassen sich aus Einzelbildern längliche Pixelbilder erzeugen. Solche virtuellen Panoramen bieten können einen Rundumblick von bis zu 360 Grad erzeugen. In dieser Arbeit wurden zuerst die Schwierigkeiten bei der Erstellung von Panoramen aufgeführt. Im zweiten Teil wurden Werkzeuge vorgestellt, welche die Probleme der Panoramaerstellung weitestgehend beherrschen. Mit Programmen wie Hugin und PTGui lassen sich unterstützt durch die PanoTools, Enblend und Autopano in kurzer Zeit mit geringem Aufwand Panoramen erstellen. Selbst die Bilder einer herkömmlichen 2.0 Megapixel-Kamera können dabei überzeugende Ergebnisse liefern, ohne dass der Benutzer großen manuellen Aufwand betreiben muss. Pano2VR und PTViewer bieten darüber hinaus die Möglichkeit die Panoramen so darzustellen, dass man sich in ihnen virtuell bewegen kann. Auf diese Weise kann man ganze Rundgänge erzeugen. Dies eröffnet neue Möglichkeiten auf Webseiten. Wegbeschreibungen, Ortsangaben oder Ortsbeschreibungen können durch einen Panoramafilm mit einfachen Mitteln eindrucksvoll unterstützt werden.