gray_histo
— Verteilung der Grauwerte.
gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto)
gray_histo
berechnet für das übergebene Bild
(Image
) innerhalb von Regions
das absolute
(AbsoluteHisto
) und relative (RelativeHisto
)
Histogramm der Grauwerte.
Beide Histogramme sind Tupel von 256 Werten, die (beginnend mit 0) die Häufigkeiten der einzelnen Grauwerte im Bild enthalten.
AbsoluteHisto
gibt dabei die absoluten Häufigkeiten der
Grauwerte durch ganze Zahlen an, RelativeHisto
die
relativen, d.h. die absoluten Häufigkeiten dividiert durch die
Fläche des Bildes, als Gleitpunktzahlen.
'real' - 'int2' -, 'uint2' - und 'int4' -Bilder
werden in 'byte' -Bilder umgewandelt (zuerst wird der größte und der
kleinste Grauwert im Bild bestimmt und anschließend werden die
Originalgrauwerte linear in den Bereich 0..255 abgebildet) und dann
wie oben verarbeitet. Mit set_paint(::WindowHandle,'histogram':)
und
disp_image
kann das Histogramm auch direkt als Graphik
ausgegeben werden.
Der Operator gray_histo
berücksichtigt nur die mittels
Regions
übergebenen Regionen und ignoriert jede Domäne, die zuvor
für das Eingabebild Image
festgelegt wurde.
real-, int2, uint2 und int4-Bilder werden auf 256 Grauwerte reduziert.
Für byte-, int1-, direction- und cyclic-Bilder kann gray_histo
auf
OpenCL Geräten ausgeführt werden, sofern das Gerät die in OpenCL 1.0
optionalen Erweiterungen cl_khr_local_int32_base_atomics und
cl_khr_global_int32_base_atomics unterstützt. Im Gegensatz zu den meisten
anderen HALCON Operatoren kann gray_histo
auf OpenCL Geräten deutlich
langsamer laufen, wenn das Bild Image
sich nicht komplett innerhalb
der Regionen Regions
befindet.
In HALCON XL ist keine Ausführung mit OpenCL möglich, da atomare 64-Bit-Festkommaarithmetik erforderlich wäre.
Regions
(input_object) region(-array) →
object
Region, in der das Histogramm berechnet werden soll.
Image
(input_object) singlechannelimage →
object (byte* / cyclic* / direction* / int1* / int2 / uint2 / int4 / real) *erlaubt für Compute Devices
Bild, dessen Grauwertverteilung berechnet werden soll.
AbsoluteHisto
(output_control) histogram-array →
(integer)
Absolute Häufigkeiten der Grauwerte.
RelativeHisto
(output_control) histogram-array →
(real)
Häufigkeiten, normiert auf die Fläche der Region.
Sei F die Fläche der Region, dann beträgt die Laufzeitkomplexität O(F + 255).
gray_histo
liefert den Wert 2 (H_MSG_TRUE), falls das Bild definierte
Grauwerte hat und die Parameter korrekt sind. Das Verhalten bei
leerer Eingabe (keine Eingabebilder) wird mit
set_system(::'no_object_result',<Result>:)
,
das bei leerer Region mit
set_system(::'empty_region_result',<Result>:)
festgelegt. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
histo_to_thresh
,
gen_region_histo
min_max_gray
,
intensity
,
gray_histo_abs
,
gray_histo_range
set_paint
,
disp_image
,
histo_2dim
,
scale_image_max
,
entropy_gray
Foundation