illuminate
— Ausleuchten von Bildern.
illuminate(Image : ImageIlluminate : MaskWidth, MaskHeight, Factor : )
illuminate
dient der Kontrastverbesserung. Sehr dunkle
Bildteile werden besser „ausgeleuchtet“, sehr helle „abgedunkelt“.
Sei orig der Original Grauwert und mean der mittels
mean_image
und Filtergröße MaskHeight
x
MaskWidth
ermittelte zugehörige Grauwert des
tiefpassgefilterten Bildes. Bei byte-Bildern ist val gleich 127, bei
int2-Bildern und uint2-Bildern ist val gleich dem Mittelwert.
Dann ist der Ergebnisgrauwert new:
new = round ( (val - mean) * Factor + orig ).
Der Tiefpass sollte dabei recht groß dimensioniert werden (30 x 30 bis
200 x 200). Vernünftige Parameterkombinationen sind etwa:
Height Width Factor
---------------------
40 40 0.55
100 100 0.7
150 150 0.8
d.h. je größer die Tiefpassmaske gewählt wird, desto größer sollte auch
Factor
eingestellt werden.
Hingewiesen sei noch auf folgenden „Scheinwerfereffekt“: Befindet sich in
einem Bild beispielsweise ein dunkles Objekt vor einer hellen Wand, so wird
das Objekt, in unmittelbarer Nähe der Objektkontur aber auch die ohnehin
schon helle Wand durch die Anwendung von illuminate
aufgehellt. Dies entspricht in etwa dem Effekt, der sich durch Anstrahlen
des Objekts mit einem starken Scheinwerfer ergeben. Analoges gilt auch für
helle Objekte vor einem dunklen Hintergrund. Der fiktive „Scheinwerfer“
verdunkelt nun allerdings Objekte.
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.
Image
(input_object) (multichannel-)image(-array) →
object (byte / int2 / uint2)
Zu verbesserndes Bild.
ImageIlluminate
(output_object) (multichannel-)image(-array) →
object (byte / int2 / uint2)
„Ausgeleuchtetes“ Bild.
MaskWidth
(input_control) extent.x →
(integer)
Breite der Tiefpassmaske.
Defaultwert: 101
Wertevorschläge: 31, 41, 51, 71, 101, 121, 151, 201
Typischer Wertebereich: 3
≤
MaskWidth
≤
299
Minimale Schrittweite: 2
Empfohlene Schrittweite: 10
MaskHeight
(input_control) extent.y →
(integer)
Höhe der Tiefpassmaske.
Defaultwert: 101
Wertevorschläge: 31, 41, 51, 71, 101, 121, 151, 201
Typischer Wertebereich: 3
≤
MaskHeight
≤
299
Minimale Schrittweite: 2
Empfohlene Schrittweite: 10
Factor
(input_control) real →
(real)
Damit wird der „Korrekturgrauwert“, der zu den Original Grauwerten addiert wird, skaliert.
Defaultwert: 0.7
Wertevorschläge: 0.3, 0.5, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0
Typischer Wertebereich: 0.0
≤
Factor
≤
5.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.2
Restriktion: 0 < Factor && Factor < 5
read_image(Image,'fabrik') dev_display (Image) illuminate(Image,Better,40,40,0.55) dev_display (Better)
illuminate
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter
korrekt sind.
Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt
sich mittels set_system(::'no_object_result',<Result>:)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
scale_image_max
,
equ_histo_image
,
mean_image
,
sub_image
Foundation