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.
[...]
Inhaltsverzeichnis
1 ERSTE SCHRITTE
1.1 Aufgabenstellung
1.2 Lösungsansatz
1.3 Denkarbeit
2 UMSETZUNG
2.1 Initialisierung
2.2 Erster Durchlauf
2.3 Zweiter Durchlauf
2.4 Zählen der Regionen
3 ERGEBNISSE
3.1 Testbilder
3.2 ...und was das Programm daraus macht
4 ZUSAMMENFASSUNG
4.1 Probleme
4.2 Zusammenfassung
4.3 Arbeitsaufteilung
Zielsetzung & Themen
Das Hauptziel dieser Arbeit ist die Entwicklung eines Java-basierten Plug-ins für das Bildbearbeitungsprogramm ImageJ, das in der Lage ist, zusammenhängende Regionen in Binärbildern automatisch zu erkennen, farblich zu markieren und zu zählen.
- Entwicklung eines effizienten Algorithmus zur Regionen-Erkennung in Binärbildern
- Implementierung eines zweistufigen Verfahrens (Pass-throughs) zur Label-Vergabe und Kollisionsauflösung
- Einsatz einer geeigneten Datenstruktur (Fusion-Table) zur korrekten Verschmelzung zusammengehöriger Label
- Visualisierung erkannter Regionen durch Zuweisung homogener Graustufen
- Validierung des Verfahrens anhand verschiedener Testbilder von unterschiedlicher Komplexität
Auszug aus dem Buch
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 Label, so wird dem aktuellen Pixel derselbe Labelwert zugewiesen, andernfalls ein neuer Wert angelegt.
Zusammenfassung der Kapitel
1 ERSTE SCHRITTE: Dieses Kapitel definiert die Aufgabenstellung, den gewählten Lösungsansatz unter Verwendung von Bildverarbeitungsalgorithmen und die theoretischen Überlegungen zur Strukturierung des Programms.
2 UMSETZUNG: Hier wird die technische Implementierung erläutert, insbesondere die Initialisierung der Datenstrukturen sowie die Durchführung der beiden Bilddurchläufe zur Label-Vergabe und Regionen-Zusammenführung.
3 ERGEBNISSE: Dieses Kapitel präsentiert die Testergebnisse des Plug-ins anhand von Beispielbildern und zeigt die Leistungsfähigkeit des Programms bei unterschiedlichen Bildkomplexitäten.
4 ZUSAMMENFASSUNG: Die Autoren reflektieren über aufgetretene Herausforderungen während der Programmierung, bestätigen die Erfüllung der Aufgabenstellung und geben einen Ausblick auf mögliche Verbesserungen.
Schlüsselwörter
ImageJ, Java, Binärbild, Bildbearbeitung, Regionen-Erkennung, Labeling, Algorithmus, Kollisionsauflösung, Fusion-Table, Graustufen, Bildsegmentierung, Programmierung, Plug-in, Datenstruktur, Automatisierung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit beschreibt die Programmierung eines Plug-ins für das Bildbearbeitungstool ImageJ, das in der Lage ist, zusammenhängende Flächen (Regionen) in einem Binärbild automatisch zu identifizieren und hervorzuheben.
Was sind die zentralen Themenfelder der Dokumentation?
Die zentralen Themen umfassen die Algorithmenentwicklung zur Bildsegmentierung, die Wahl effizienter Datenstrukturen zur Kollisionsverwaltung und die praktische Implementierung in Java.
Was ist das primäre Ziel oder die Forschungsfrage?
Das primäre Ziel war es, ein effizientes Programm zu schreiben, das zusammenhängende weiße Regionen in schwarzen Binärbildern erkennt, diese durch Graustufen visualisiert und deren Anzahl exakt bestimmt.
Welche wissenschaftliche Methode wird verwendet?
Es wird ein zweistufiger Scan-Algorithmus verwendet: Im ersten Durchlauf werden Label vergeben und Kollisionen in einer sogenannten "Fusion-Table" gespeichert; im zweiten Durchlauf werden die Regionen basierend auf diesen Informationen fusioniert und eingefärbt.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in den Lösungsansatz, die detaillierte technische Umsetzung mit Code-Beispielen und die Vorstellung der Ergebnisse anhand einer Testbild-Reihe.
Welche Schlüsselwörter charakterisieren die Arbeit am besten?
Die wichtigsten Begriffe sind ImageJ, Regionen-Erkennung, Binärbild-Segmentierung, Java-Programmierung und Kollisionsauflösung in der Bildverarbeitung.
Warum war die "Fusion-Table" für das Programm so wichtig?
Die Fusion-Table war notwendig, um bei komplexen Formen (z.B. U-Formen), bei denen sich zwei Label berühren, diese als eine einzige zusammenhängende Region zu erkennen und nicht fälschlicherweise als getrennte Objekte zu zählen.
Welche Einschränkung hat das Programm laut den Autoren?
Die derzeitige Implementierung begrenzt die Anzahl der verwaltbaren Labels auf 8192, da das Array für die Fusion-Table eine fixe Größe hat. Dies lässt sich jedoch durch eine Anpassung des Quellcodes leicht erweitern.
- Quote paper
- Stephan Enzinger (Author), Markus Gerhard (Author), 2001, Auffinden und Markieren von Regionen in einem Binärbild, Munich, GRIN Verlag, https://www.grin.com/document/3091