KURZFASSUNG
Das von uns erstellte Programm ist ein Plug-In für das auf Java basierende Bildbearbeitungsprogramm ImageJ. Das Plugin mit dem Titel „regionLabelling“ identifiziert Regionen in einem Binärbild und markiert diese. Das heißt, dass z.B. weiße zusammenhängende Flächen in einem Bild erkannt und mit Grauwerten eingefärbt werden. Dazu sind zwei Durchläufe durch das Bild notwendig. Der erste Durchlauf erkennt einzelne Flächen, die in unserem Programm durch “Labels” repräsentiert werden. Dabei wird auch zeitgleich gespeichert, welche einzelnen Labels zusammenstoßen und so eine Region bilden. In einem zweiten Durchlauf werden unter Berücksichtigung eben dieser Informationen die einzelnen Labels zu Regionen zusammengefasst und entsprechend eingefärbt. Am Ende des Programmes werden noch die insgesamt im Bild vorkommenden Regionen gezählt und ausgegeben.
ii
ABSTRACT
Our work consisted of programming a plugin for the known image processing tool “ImageJ”. The program named “regionLabelling” should scan a binary image, which contains only black and white pixels, and trace continuous coherent regions. To visualise the detection, our plugin should color the different regions in different colors and count the regions. To realise this requirements, it was necessary to program two pass-throughs that scanned the image. The first run should distribute new labels and continue labels where adjacent labels are existent. In this first pass-through our program also saves information about colliding labels in a so-called fusion table. Labels “collide” when two label values come in touch at a specific pixel position. In a second run, our program combines coherent regions by using information from the actual pixel’s label value and the appropriate entry in the fusion table. In this part of the plugin, the effective regions in the image are colored in several different grayscales. Finally, our program counts the regions in the image and shows the calculated number.
iii
INHALTSVERZEICHNIS
Kurzfassung ii
Abstract iii
Inhaltsverzeichnis. iii
1 ERSTE SCHRITTE. 1
1.1 Aufgabenstellung. 1
1.2 Lösungsansatz. 1
1.3 Denkarbeit. 3
2 UMSETZUNG 6
2.1 Initialisierung. 6
2.2 Erster Durchlauf 6
2.3 Zweiter Durchlauf. 8
2.4 Zählen der Regionen 9
3 ERGEBNISSE. 10
3.1 Testbilder. 10
3.2 und was das Programm daraus macht. 10
4 ZUSAMMENFASSUNG 14
4.1 Probleme 14
4.2 Zusammenfassung 14
4.3 Arbeitsaufteilung 14
ANHANG: SourceCode. 16
iv
1 ERSTE SCHRITTE
1.1 Aufgabenstellung
Zu schreiben war ein PlugIn für das Bildbearbeitungstool ImageJ, das auf Java basierende PlugIns unterstützt. Das Programm sollte die einfache Funktionalität besitzen, ein binäres, das heißt rein aus schwarzen und weißen Bildpunkten bestehendes, Bild zu scannen und alle zusammenhängenden weißen Regionen in diesem Bild zu zählen und zu visualisieren. Zur einfachen Sichtbarkeit der unterschiedlichen Regionen war die Anforderung, alle Regionen durch homogene Graustufen zu ersetzen. Die graphische Ausgabe des Programmes sollte sich auf das Ausgeben der Anzahl der gefundenen Regionen sowie das eingefärbte Originalbild beschränken.
Vermutete Probleme waren bereits zu Beginn die Wahl der richtigen Datenstrukturen im Programm sowie ein geeignetes Verfahren, um komplexere Regionen korrekt zu erkennen.
1.2 Lösungsansatz
Die uns zur Verfügung gestellten Unterlagen [Sonka, Hlavac, Boyle, Image Processing, Analysis and Machine Vision] halfen uns bei der Erstellung eines ersten Lösungsansatzes und einer Realisierungsidee. In der Literatur besteht der Algorithmus aus einem zweimaligen Durchlaufen des zu verarbeitenden Bildes, das Pixel für Pixel vorgenommen wird. Im ersten Durchlauf werden neue Teilflächen erkannt, indem ein Filter zur Erkennung von bereits gesetzten Teilflächen eingesetzt wird. Jeder eigenen Teilfläche wird ein spezifischer Wert zugewiesen, der dann im zweiten Durchlauf zur Berechnung des effektiv sichtbaren Grauwertes herangezogen wird.
Um neue Teilflächen richtig setzen zu können, beziehungsweise, falls das entsprechende Pixel an ein vorhandenes Label angrenzt, das besagte Label fortzusetzen, das heißt der neuen Teilfläche den Wert der angrenzenden Teilfläche zuzuweisen, verwendet der Referenzalgorithmus einen Filter, der die Pixel links und oberhalb des aktuellen Pixels betrachtet und deren Labelwerte ermittelt. Stößt der Filter dabei auf einen Wert für ein
1
Label, so wird dem aktuellen Pixel derselbe Labelwert zugewiesen, andernfalls ein neuer Wert angelegt.
Dieser Algorithmus funktioniert bereits sehr gut bei einfachen Bildern, die keine komplexen Regionen enthalten oder verschachtelte Anordnungen von Regionen aufweisen.
Bei Bildern, die jedoch komplexere Formen aufweisen, stößt dieser Algorithmus jedoch an seine Grenzen. Der verwendete Filter meldet in so einem Fall an Stellen, an denen sich zwei Labels berühren, dass hier zwei erkannte Regionen zusammenstoßen, die eigentlich nur eine einzige Region ergeben müssten. Solche Fälle treten relativ schnell auf, einfache Beispiele sind Regionen in Form eines „U“ oder auch eines gespiegelten „E“.
Die in der Literatur ersichtliche weitere Vorgehensweise beschäftigt sich mit dem Erkennen dieser sogenannten „Kollisionen“, die bei Zusammenstoßen zweier bereits vergebener Labels auftreten. Anschließend werden die Werte der beiden Labels in eine geeignete
2
Arbeit zitieren:
Stephan Enzinger, Markus Gerhard, 2001, Auffinden und Markieren von Regionen in einem Binärbild, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Ein Vergleich rechtlicher Grun...
Psychologie - Sozialpsychologie
Hausarbeit (Hauptseminar), 23 Seiten
Über die Bildlichkeit von Tod und Vergänglichkeit im 'Armen Heinri...
Germanistik - Ältere Deutsche Literatur, Mediävistik
Hausarbeit (Hauptseminar), 18 Seiten
Empowerment und Selbstbestimmung bei Menschen mit geistiger Behinderun...
Pädagogik - Heilpädagogik, Sonderpädagogik
Hausarbeit, 43 Seiten
War der Dreissigjährige Krieg (1618-1648) ein Konfessionskonflikt?
Geschichte Europa - and. Länder - Mittelalter, Frühe Neuzeit
Seminararbeit, 23 Seiten
Humanes Leben, Wohnen und Arbeiten von Menschen mit geistiger Behinder...
Sozialpädagogik / Sozialarbeit
Hausarbeit, 23 Seiten
Psychische Auffälligkeiten bei Menschen mit geistiger Behinderung
Sozialpädagogik / Sozialarbeit
Diplomarbeit, 105 Seiten
Jean Paul im Kontext der Naturwissenschaft
Germanistik - Neuere Deutsche Literatur
Hausarbeit (Hauptseminar), 23 Seiten
Selbstbestimmung bei Menschen mit geistiger Behinderung - eine Studie ...
Sozialpädagogik / Sozialarbeit
Diplomarbeit, 84 Seiten
Stephan Enzinger hat den Text Auffinden und Markieren von Regionen in einem Binärbild veröffentlicht
Stephan Enzinger hat einen neuen Text hochgeladen
Sprachliche Individuation in mehrsprachigen Regionen Osteuropas II
Ukraine
Klaus Bochmann, Vasile Dumbrava
Identitätsbildung: Implikationen für globale Unternehmen und Regionen
Dt. /Franz.
Christian Scholz
La otra cara de la region: Region y desarrollo regional en el contexto...
Otra cara de la region
La Intendencia de Valladolid de Michoacan: 1786-1809: Reforma Administ...
Ivan Franco Caceres
0 Kommentare