disp_image
— Ausgeben von Grauwertdaten.
disp_image(Image : : WindowHandle : )
disp_image
gibt die Grauwerte von einem Bild
auf dem Ausgabefenster aus. Es werden dabei diejenigen Grauwerte
verwendet, die innerhalb des Definitionsbereiches
(set_comprise(::WindowHandle,'object':)
) oder des gesamten Bildes
(set_comprise(::WindowHandle,'image':)
) liegen. Voreingestellt ist,
dass nur die definierten Grauwerte verwendet werden.
Bei der Ausgabe von Graubildern wird die Anzahl der Graustufen i.a.
reduziert. Dies ist durch die Tastsache bedingt, dass noch Farben für
die Darstellung von Graphiken (z.B. set_color
) und den
Windowmanager reserviert werden müssen. Zudem stehen abhängig von den
auf der Ausgabemaschine verfügbaren Bitplanes häufig weniger als 256
Farben (acht Bitplanes) zur Verfügung. Die Anzahl der tatsächlich für
die Ausgabe von Graustufen reservierten „Farben“ kann mittels
get_system
abgefragt und vor dem Öffnen des ersten Fensters
mittels set_system
auch verändert werden. Für 8 Bitplanes
sind beispielsweise 200 reale Graustufen voreingestellt.
Die Reduktion der Anzahl der Graustufen ist unproblematisch, solange nur
Grauwertinformation ausgegeben wird, da der Mensch 256 verschiedenen
Graustufen ohnehin nicht unterscheiden kann. Sind jedoch bestimmte Grauwerte
für die Speicherung von Regioneninformation verwendet worden (was nicht
der Vorgehensweise von HALCON entspricht),
so kann dies bei der Darstellung zu Verwechslungen führen, da somit
unterschiedliche Zahlenwerte mit dem gleichen Grauwert auf dem Bildschirm
abgebildet werden. Sollten derartige Bilder vorliegen, empfiehlt es sich,
den Operator label_to_region
zu verwenden, um das Bild mit
den Markierungen in HALCON-Objekte umzuwandeln.
Werden Bilder vom Typ 'int2', 'int4', 'int8', 'real'
oder 'complex' ausgegeben, so wird zunächst
der kleinste und der größte Grauwert bestimmt. Für Bilder vom
Typ 'complex' basiert diese Berechnung auf dem entsprechenden
Leistungsspektrum. Danach werden die Bildpunkte auf die zur
Verfügung stehende Anzahl von Graustufen
(abhängig von der Ausgabemaschine, ca. 200) skaliert.
Hierbei kann es vorkommen, dass einige Pixelwerte extrem andere Werte
als alle übrigen haben. Dies führt dazu, dass entweder ein ganz
weißes oder schwarzes Bild auf dem Fenster erscheint.
Um festzustellen, ob es sich um ein binäres Bild handelt, kann man
z.B. min_max_gray
verwenden. Gegebenenfalls kann das Bild vor
der Ausgabe mit scale_image
und convert_image_type
in der gewünschten Weise angepasst werden.
Wurde bei set_paint
ein falscher Ausgabemodus gesetzt,
dann erfolgt die Fehlermeldung erst bei disp_image
.
Image
(input_object) singlechannelimage →
object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)
Auszugebendes Grauwertbild.
WindowHandle
(input_control) window →
(handle)
Fenster-Handle.
* Output of a gray image: read_image(Image,'monkey') disp_image(Image,WindowHandle)
Falls das übergebene
Bild definierte Werte enthält und ein gültiger Ausgabemodus
eingestellt ist, dann liefert disp_image
den Wert 2 (H_MSG_TRUE).
Andernfalls wird eine Fehlerbehandlung durchgeführt.
open_window
,
set_rgb
,
set_lut
,
set_hsi
,
scale_image
,
convert_image_type
,
min_max_gray
open_window
,
reset_obj_db
,
set_paint
,
set_lut
,
paint_gray
,
scale_image
,
convert_image_type
,
dump_window
Foundation