![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
Das Use Case Modell der Infrarotbildanalyse gibt einen Überblick über die existierenden Funktionen und Steuerungsprozeduren, welche exportiert nach aussen werden. Das folgende Bild repräsentiert das Modell.
|
||
|
|
||
|
Am Anfang der Analyse hat der Nutzer dieser Entwicklung einige Eingaben zu erledigen. Wichtig für den Verlauf ist, dass er die richtige Bildsequenz zur Analyse auswählt. Da mehrere Analysemethoden zur Verfügung stehen, muss man sich für eine entscheiden. Für die Infrarotbildanalyse stehen zwei Bildunterteilungsmethoden zur Verfügung. Dadurch muss wiederum eine für die Analyse gewählt werden. Alle Einstellungen werden über verschiedene Dialoge, welche über Optimasmakros gesteuert und verwaltet werden, durchgeführt.
Die DLL wird nur drei Funktionen zur Verfügung stellen, welche von den Makros aus aufgerufen werden können. Dies sind Die Bildeinteilung, die Bildanalyse sowie die Fouriertransformation. Die letzte Funtkionalität steht noch nicht zur Verfügung, da die Einsatzmöglichkeiten derzeit den Rahmen der Entwicklung übersteigen würden.
|
||
|
Da die vorgegebene Programmiersprache C nur ein eingeschränktes Objektorientiertes Design ermöglicht, wurde auf die alte Verfahrensweise des strukturierten Designs mit Hilfe von verschiedenen Modulen zurückgegriffen.
Für die Analyse mussten folgende Module entwicklet werden:
|
||
|
Das Module für die Bildeinteilung enthält Funktionen, welche für die Unterteilung eines Bildes in unterschiedliche Regionen ermöglicht.
Dies kann mit Hilfe von bestehenden Konfigurationsdateien oder per Hand durchgeführt werden. Für die weitere Analyse wird diese Einteilung als Schablone
verwendet. Für die Einteilung der Bilder in unterschiedliche Regionen wird der Bresenham-Algorithmus angewendet. Mit diesem wird um die gewünschte Region
ein Umriß gelegt. Um den nun erzeugten Umriß zu füllen, wird der Scanline Algorithmus eingesetzt. Das folgende Bild zeigt den Scanline Algorithnmus
in Aktion.
|
||
|
|
||
|
Das Modul für die morphologischen Operationen wird unter anderem auch für die Bildverbesserung eingesetzt. Hier kommen Operationen wie Dilation, Erosion, Opening und Closing zum Einsatz. Durch den richtigen Einsatz können Störungen die bei den zu analysierenden Bildern auftauchen weitesgehend entfernt werden.
|
||
|
Im Modul Bewegung werden die sehr wichtigen Berechnungen durchgeführt, um Bewegungen des Gesamtbildes zu erkennen und von den weiteren Berechnungen auszuschliessen. In diesem Modul werden aber nicht nur Szenenbewegungen berechnet, sondern auch Bewegungen einzelner Objekte in der Szene.
|
||
|
Das Kennzeichnungsmodul enthält alle Funktionen zum Markieren der erkannten Objekte. Hierfür wird die sogenannte 8-er Nachbarschaftsbeziehung als Grundlage genutzt.
|
||
|
Das Module zur Objektanalyse wird eingesetzt um die einzelnen Merkmale der erkannten Objekte zu extrahieren, welche für eine Klassifizierung dieser notwendig sind.
|
||
|
Statistische Berechnungen sind hier vor allem die Berechnungen, die Auskunft über die Helligkeit, und somit die Wärme jedes erkannten Objektes geben. Hier sind ebenfalls Funktionen zum Abspeicherne der gesammelten Objektdaten integriert.
|
||
|
Ein Modul zur Klassifizierung ist nicht enthalten, ist aber anhand der ermittelten Daten jedes Objektes möglich zu implementieren. Eine gute Klassifizierung würde anhand eines neuronalen Netzes eingebetet werden, welches die gesammelten Daten als Basis für seine Entscheidungen nutzen könnte. Dies war aber nicht Bestandteil und Ziel der Aufgabe und wurde unter anderem deshalb nicht implementiert.
|
||
|
|
|
Für die Infrarotbildanalyse sind verschiedene Datenstrukturen zu entwicklen. Diese helfen bei der Objektbeschreibung, nehmen Daten für Statistiken der Objekte oder ganzer Regionen auf oder enthalten so einfache Dinge wie die Koordinaten von einzelnen Pixeln des Strukturelements.
|
||||||
|
Die umfangreichste Struktur OBJECT enthält alle Daten eines erkannten Objekts. Statistische Angaben werden hier ebenfalls gespeichert, da eine Trennung in zwei Strukturen als nicht praktikabel angesehen wird.
|
||||||
|
||||||
|
Die STAT Struktur ist trotz der Zusammenführung von OBJECT und STAT in die OBJECT Struktur noch verfügbar, aufgrund der Möglichkeit statistische Daten über die einzelnen Bildregionen sammeln zu können.
|
||||||
|
||||||
|
Das Bildunterteilungsmodule benötigt zwei Strukturen, welche zur Beschreibung der gesamten Region benutzt werden. Dies sind die EDGE-Struktur, zur Beschreibung der Linienpunkte zwischen zwei Endpunkten einer Linie, sowie die POINT_DATA-Struktur. Diese erlaubt die genaue Zuordnung einzelner Punkte zu den berechneten Linien oder Kanten.
|
||||||
|
||||||
|
Farbbilder werden für die Visualisierung von erkannten Objekten als beste Lösung betrachtet. Dies erzwingt aber die Spreizung der einkanaligen 8bit Bilder in dreikanalige 24bit Bilder. Für diesen Fall wird die RGB_OPT-Struktur verwendet. Die bereits existierende Microsoft Struktur für die Darstellung von RGB Farbbildern kann nicht genutzt werden, da die Reihenfolge der eingesetzten drei Farben unter Optimas nicht mit dieser übereinstimmt.
|
||||||
|
|
Der Dateiname der Datei, welche alle gesammelten Objektdaten einer Sequenz beinhaltet, lautet "Object.xls". Der Name der Datei, welche die Konfigurationsdaten für die geometrische Bildunterteilung enthält ist "maskN.ini", wobei das N die Maskennummer spezifiziert. Das folgende Bild zeigt die Konfigurationsdatei-Spezifikation. Es werden nur Dateien, die diese Spezifikation einhalten akzeptiert.
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
Die Datei ist eine typische ini-Datei. Es werden bestimmte Sektionen und Schlüsselwörter eingesetzt, um ein schnelles Verständnis der vorliegenden Datei zu gewähren. Die Anzahl der integrierten Sektionen ist auf drei begrenzt. Jede Sektion enthält ihrerseits bestimmte Einstellungen. Die folgende Tabelle definiert alle integrierten Sektionen und Schlüsselwörter.
|
|||||||||||||||||||||||
|