5 Image Processing Software
Um die Wiederholgenauigkeit der Drehvorrichtung nachzuweisen, wurden
mit den bestehenden Messkameras Bilderserien erstellt (siehe Absch.
9.5). Um diese Daten
quantitativ auswerten zu können müssen 2 Bilder, die nacheinander
aus der gleichen Winkelposition nach einer oder mehreren Umdrehungen
der Vorrichtung erstellt wurden, miteinander verglichen werden.
Zum Auswerten dieser Bilder wurde ein weiteres Programm erstellt,
das es ermöglicht, 2 ,,Images'' pixelweise zu vergleichen und Abweichungen
optisch darzustellen.
Dieses Programm, mit dem Namen ,,Simple Image Processor'', weist
eine Reihe von Features auf, mit denen 2 Bilder ,,quantitativ''
verglichen werden können.
- einlesen von 2 Bitmap-Dateien und speichern des Ergebnisses als Bitmap-Datei
- direkter optischer Vergleich, durch ,,Umschalten'' zwischen Bild
1 und Bild 2
- Anzeige der Grauwerte, bzw. RGB-Komponenten auf Bildpunktbasis
- Distanzmessung zwischen 2 Bildpunkten (in mm und Bildpunkten)
- Beschneidung des Bildes auf einen beliebigen rechteckigen Bereich
(Cropping)
- Beliebige Vergrößerung und Verkleinerung um den Faktor 2 (Pixel Duplicating
und Pixel Subsampling)
- ,,Überlagern'', Löschen und Verschieben von Markierungen (Image-Marker)
zum lokalen optischen Vergleich in Form von einzelnen waagrechten
und senkrechten Linien, Ellipsen, Kreisen und einem Linienraster
- Bildmanipulation durch Verschieben der Graustufen (abdunkeln oder
aufhellen), Erhöhung und Verminderung des Kontrastes, obere und untere
Schwellwert-Isolierung und Invertierung des Grauwertes
- Berechnung eines ,,Differenzbildes'' auf Pixelebene, wobei die Grauwert-Abweichungen
in Helligkeits- oder Farbstufen umgerechnet werden
Figure 7.4:
Simple Image Processor
|
Die Abbildungen werden grundsätzlich in dem, für Bildschirme üblichen
RGB-Farbraum mit 8-Bit Farbtiefe behandelt [12] S. 585.
Da das Messsystem nur Schwarzweißbilder liefert, sind bei den verwendeten
Graustufenbildern die Rot-, Grün- und Blauanteile jeweils gleich.
Die ,,Image-Marker'' werden farbig dargestellt um sie leichter von
den Nutzdaten unterscheiden zu können.
Die Bildmanipulations-Operationen lassen sich am einfachsten mathematisch
beschreiben.
- Grey shifting
- Zu jedem Farbwert eines Bildpunktes wird ein konstanter
Wert hinzugezählt, der Bereich dieser Korrekturwerte reicht von -254...254.
Formel:
- Contrast stretching
- Der Grauwert jedes Bildpunktes wird mit einer
exponentiellen Konstanten multipliziert, der Wert der Konstanten reicht
von -3...3.
Formel:
- Threshold low
- Jeder Bildpunkt, dessen Grauwert einen definierten
Grenzwert unterschreitet, wird auf 0 (=Schwarz) gesetzt (unterer Schwellwert).
Dieser Bereich kann von 0...254 festgelegt werden.
Formel:
- Threshold high
- Jeder Bildpunkt, dessen Grauwert einen definierten
Grenzwert überschreitet, wird auf 255 (=Weiß) gesetzt (oberer Schwellwert),
diese Werte liegen ebenfalls im Bereich von 0...254.
Formel:
- Color Inverting
- Jeder Bildpunkt wird im Farbbereich invertiert.
Formel:
Es bedeuten:
... Grauwert des ursprünglichen Bildpunktes
... Grauwert des Ergebnis-Bildpunktes
... Konstanter Wert, der über die ,,Schieberegler'' der
Software eingestellt wird
Zusätzlich gilt für jede Bildpunktoperation, dass bei Unterschreiten
des Minimalwertes der Grauwert mit 0 und beim Überschreiten des Maximalwertes
der Grauwert mit 255 begrenzt wird.
Mit den so ,,vorbereiteten'' Eingabebildern kann dann ein ,,Differenzbild''
errechnet und dargestellt werden, wobei unterschiedliche Algorithmen
zur Berechnung eines Ergebnispunktes gewählt werden können. Das errechnete
Ergebnisbild kann wiederum als Bitmapdatei gespeichert.
Als grundlegender Mechanismus bei der Berechnung wird pro Pixel der
Differenzwert der Graukomponenten der beiden ,,vorbearbeiteten''
Eingabedateien ermittelt und das Ergebnis stellt den neuen ,,Grauwert''
dar. Nachdem diese Differenz auch negativ werden kann, wird ein negatives
Ergebnis als Differenz vom Maximalwert und dem ermittelten Differenz-Grauwert
umgesetzt (siehe auch die Operation ,,Color Inverting'' bei den
,,Bildmanipulations-Operationen'' oben), dies führt bei einem Grauwert-Nulldurchgang
(z.B. von +1...-1) zu einem abrupten Helligkeitsübergang. Der
Differenzwert 0 (d.h. die Grauwerte sind identisch) wird in den verschiedenen
Modi unterschiedlich behandelt.
Bemerkung:
Das bedeutet aber auch, dass beim Vertauschen der beiden Eingabebilder
ein anderes Ergebnis erzielt wird, da die Subtraktion als mathematische
Operation nicht kommutativ ist.
Zur Visualisierung des ,,Differenz-Bildes'' können mehrere Darstellungsmodi
verwendet werden.
- Monochrom-Normal Modus
- Diese ,,normale'' Berechnung ermittelt
den Differenzwert über den vorhin beschriebenen Mechanismus. Der Differenzwert
0 (beide Eingabe-Bildpunkt haben den selben Grauwert) wird immer als
weiß (RGB 0xffffff) dargestellt.
- Monochrom-Invers Modus
- Alle Punkte werden nach derselben Methode
errechnet und anschließend invertiert
(
).
Der Differenzwert 0 bleibt weiß dargestellt.
- Farb-Normal Modus
- Dieser Modus errechnet die Grauwert-Differenz
und setzt die Differenz in Farbwerte um. Negative Differenzen werden
gelb, positive Differenzen blau, Null-Differenzwerte werden schwarz
dargestellt. Damit ist es möglich, die 3 Zustände, positive, negative
Differenzen und identische Grauwerte darzustellen.
- Farb-Invers Modus
- In diesem Modus erfolgt die Berechnung analog
zum Normal-Modus, negative Differenzen werden blau, positive gelb
und Nullwerte weiß dargestellt, wobei die Farbkomponenten (abgesehen
von der 0-Differenz) für die Farbwertdefinition invertiert werden.
Auch hier sind die 3 Zustände (Punkt 1 ist heller, Punkt 2 ist heller
oder beide Bildpunkte sind gleich hell) unterscheidbar.
Der ,,Simple Image Processor'' wurde ebenfalls in der Programmiersprache
Tcl/Tk (siehe 7.4.2.4) geschrieben und verwendet
die freie Tcl/Tk Widget-Bibliothek BWidgets[13].
gerhard.reithofer@tech-edv.co.at