| Operatoren |
expand_domain_gray — Expansion des Definitionsbereiches eines Bildes inklusive der Grauwerte.
expand_domain_gray(InputImage : ExpandedImage : ExpansionRange : )
expand_domain_gray expandiert die Grauwerte am Rand des Definitionsbereiches nach außen. Das Maß dieser Expansion wird durch den Parameter ExpansionRange festgelegt, der den Expansionsradius in Pixel beschreibt. Alle Filter in HALCON --- die stets auf den Definitionsbereich des Bildes angewendet werden --- beziehen abhängig von ihrer Filterweite auch eine bestimmte Anzahl von Grauwerten außerhalb des Definitionsbereiches mit in ihre Berechnung ein. Dies kann im Randbereich des Definitionsbereiches zu unerwünschten Effekten führen. Dieser Nachteil macht sich vor allem dann bemerkbar, wenn sich Vordergrund (Definitionsbereich) und Hintergrund des Bildes in ihrer Helligkeit stark voneinander unterscheiden. In diesem Fall kann es z.B. bei Anwendung eines Glättungsfilters zu unerwünschten Aufhellungen oder Abdunkelungen im Randbereich des Definitionsbereiches kommen. Um dies zu vermeiden, wird durch expand_domain_gray der Definitionsbereich im Vorfeld künstlich erweitert, indem die Grauwerte seiner Randpixel nach außen fortgesetzt werden. Mit der Expansion der Grauwerte wird auch der Definitionsbereich entsprechend erweitert, um die neu besetzten Pixel zu kennzeichnen. Daher ist es in vielen Fällen sinnvoll, nach expand_domain_gray ein reduce_domain oder change_domain auszuführen und anschließend die Filteroperation auf den reduzierten Definitionsbereich anzuwenden. Als Wert für ExpansionRange sollte die Hälfte der Filterbreite bzw. -höhe gewählt werden.
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.
Eingabebild mit zu erweiterndem Definitionsbereich.
Ausgabebild mit neu berechneten Grauwerten im erweiterten Definitionsbereich.
Radius der Grauwertexpansion in Pixel.
Defaultwert: 2
Wertevorschläge: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16
Restriktion: ExpansionRange >= 1
read_image(Fabrik, 'fabrik')
gen_rectangle2(Rectangle_Label,243,320,-1.55,62,28)
reduce_domain(Fabrik, Rectangle_Label, Fabrik_Label)
* Character extraction without gray value expansion:
mean_image(Fabrik_Label,Label_Mean_normal,31,31)
dyn_threshold(Fabrik_Label,Label_Mean_normal,Characters_normal,10,'dark')
dev_display(Fabrik)
dev_display(Characters_normal)
* The characters in the border region are not extracted !
stop()
* Character extraction with gray value expansion:
expand_domain_gray(Fabrik_Label, Label_expanded,15)
reduce_domain(Label_expanded,Rectangle_Label, Label_expanded_reduced)
mean_image(Label_expanded_reduced,Label_Mean_expanded,31,31)
dyn_threshold(Fabrik_Label,Label_Mean_expanded,\
Characters_expanded,10,'dark')
dev_display(Fabrik)
dev_display(Characters_expanded)
* Now, even in the border region the characters are recognized
Sei L der Umfang des Definitionsbereiches. Die Laufzeit-Komplexität ist dann näherungsweise O(L)*ExpansionRange.
expand_domain_gray liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
reduce_domain, mean_image, dyn_threshold
Foundation
| Operatoren |