gen_image1
— Erzeugen eines Bildes aus einem Zeiger auf die Pixel.
gen_image1( : Image : Type, Width, Height, PixelPointer : )
gen_image1
erzeugt ein Bild in der Größe
Width
* Height
.
Die Pixel in PixelPointer
sind zeilensequentiell abgelegt.
Der Typ der übergebenen Pixel
(PixelPointer
) muss mit Type
übereinstimmen
(siehe gen_image_const
für eine detailliertere Beschreibung
der Pixeltypen).
Der Speicher für das neue Bild wird von HALCON neu angelegt.
Der Speicherplatz auf den PixelPointer
kann also
nach dem Aufruf freigegeben werden.
Wie ein Zeigerwert übergeben wird hängt von der benutzten Operatorsignatur
und der Programmierumgebung ab. Es ist sicherzustellen, dass die
tatsächliche Speicheradresse unter der die Bilddaten gespeichert sind
übergeben wird und nicht die Adresse der Zeigervariablen. Es ist darauf zu
achten, dass 64-Bit-Zeiger auf 64-Bit-Architekturen nicht beschnitten
werden.
gen_image1
überprüft nicht, ob PixelPointer
einen
gültigen Wert hat oder nicht.
Es muss also darauf geachtet werden, dass der Wert gültig ist, da es sonst
zum Programmabsturz kommen kann!
Image
(output_object) image →
object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)
Erzeugtes Bild mit neuer Bildmatrix.
Type
(input_control) string →
(string)
Pixeltyp.
Defaultwert: 'byte'
Werteliste: 'byte' , 'cyclic' , 'direction' , 'int1' , 'int2' , 'int4' , 'real' , 'uint2'
Width
(input_control) extent.x →
(integer)
Breite des Bildes.
Defaultwert: 512
Wertevorschläge: 128, 256, 512, 1024
Typischer Wertebereich: 1
≤
Width
≤
512
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Restriktion: Width >= 1
Height
(input_control) extent.y →
(integer)
Höhe des Bildes.
Defaultwert: 512
Wertevorschläge: 128, 256, 512, 1024
Typischer Wertebereich: 1
≤
Height
≤
512
(lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
Restriktion: Height >= 1
PixelPointer
(input_control) pointer →
(integer)
Zeiger auf den ersten Grauwert.
void NewImage(Hobject *new) { unsigned char image[768*525]; int r,c; for (r=0; r<525; r++) for (c=0; c<768; c++) image[r*768+c] = c % 255; gen_image1(new,"byte",768,525,(Hlong)image); }
Sind die Parameterwerte korrekt, dann liefert gen_image1
den Wert 2 (H_MSG_TRUE).
Andernfalls wird eine Fehlerbehandlung durchgeführt.
gen_image_const
,
get_image_pointer1
gen_image3
,
gen_image1_extern
,
gen_image_const
,
get_image_pointer1
reduce_domain
,
paint_gray
,
paint_region
,
set_grayval
Foundation