image_to_memory_blockT_image_to_memory_blockImageToMemoryBlockImageToMemoryBlockimage_to_memory_block (Operator)

Name

image_to_memory_blockT_image_to_memory_blockImageToMemoryBlockImageToMemoryBlockimage_to_memory_block — Schreiben eines Bildes in einen Speicherblock in verschiedenen Grafikformaten.

Signatur

image_to_memory_block(Image : : Format, FillColor : MemoryBlockHandle)

Herror T_image_to_memory_block(const Hobject Image, const Htuple Format, const Htuple FillColor, Htuple* MemoryBlockHandle)

void ImageToMemoryBlock(const HObject& Image, const HTuple& Format, const HTuple& FillColor, HTuple* MemoryBlockHandle)

HMemoryBlock HImage::ImageToMemoryBlock(const HString& Format, const HTuple& FillColor) const

HMemoryBlock HImage::ImageToMemoryBlock(const HString& Format, Hlong FillColor) const

HMemoryBlock HImage::ImageToMemoryBlock(const char* Format, Hlong FillColor) const

HMemoryBlock HImage::ImageToMemoryBlock(const wchar_t* Format, Hlong FillColor) const   (Nur Windows)

static void HOperatorSet.ImageToMemoryBlock(HObject image, HTuple format, HTuple fillColor, out HTuple memoryBlockHandle)

HMemoryBlock HImage.ImageToMemoryBlock(string format, HTuple fillColor)

HMemoryBlock HImage.ImageToMemoryBlock(string format, int fillColor)

def image_to_memory_block(image: HObject, format: str, fill_color: Union[int, float]) -> HHandle

Beschreibung

image_to_memory_blockimage_to_memory_blockImageToMemoryBlockImageToMemoryBlockImageToMemoryBlockimage_to_memory_block schreibt das angegebene Bild ImageImageImageImageimageimage im Format FormatFormatFormatFormatformatformat in den Speicherblock MemoryBlockHandleMemoryBlockHandleMemoryBlockHandleMemoryBlockHandlememoryBlockHandlememory_block_handle. Falls die Domäne im gewünschten FormatFormatFormatFormatformatformat nicht abgespeichert werden kann (das ist der Fall bei 'jpeg'), erhalten die Pixel außerhalb der Region die durch FillColorFillColorFillColorFillColorfillColorfill_color definierte Farbe. Für Grauwertbilder muss ein Wert zwischen 0 (Schwarz) und 255 (Weiß) angegeben werden, bei Farbbildern können direkt die RGB-Werte angegeben werden, z.B. hexadezimal: 0xffff00 für einen gelben Hintergrund (Rot=255, Grün=255, Blau=0).

Es können folgende Formate in FormatFormatFormatFormatformatformat gesetzt werden:

'jpeg': JPEG-Format (verlustbehaftete Komprimierung), Dateiendung *.jpg

Dieses Format kann nur Bilder mit einem Kanal (Grauwertbilder) oder mit drei Kanälen (RGB-Farbbilder) speichern.

Für dieses Format werden nur Bilder mit dem Pixeltyp byte unterstützt.

Zusammen mit dem Format kann ein Qualitätsmaß angeben werden, das die Komprimierungsrate und die Qualität des gespeicherten Bildes bestimmt. Große Werte (Maximum 100) erzeugen einen relativ großen Speicherblock mit hoher Qualität, bei kleinen Werten nimmt die Qualität und die Größe des Speicherblocks deutlich ab.

Mögliche Werte: 'jpeg'"jpeg""jpeg""jpeg""jpeg""jpeg", 'jpeg 30'"jpeg 30""jpeg 30""jpeg 30""jpeg 30""jpeg 30", 'jpeg 60'"jpeg 60""jpeg 60""jpeg 60""jpeg 60""jpeg 60".

Achtung: Bilder, die zu einem späteren Zeitpunkt noch ausgewertet werden müssen, sollten aufgrund der Verluste nicht im JPEG-Format abgespeichert werden!

'png': PNG-Format (verlustfreie Komprimierung), Dateiendung *.png

Dieses Format kann nur Bilder mit einem Kanal (Grauwertbilder) oder mit drei Kanälen (Farbbilder) speichern. Die maximal unterstützte Bildgröße (Breite x Höhe) für PNG beträgt , auch in HALCON XL.

Im PNG Format können Bilder vom Typ byte und uint2 abgespeichert werden.

Zusammen mit dem Format kann ein Komprimierungsgrad zwischen 0 und 9 angegeben werden, wobei 0 keiner Komprimierung und 9 der bestmöglichen Komprimierung entspricht. Alternativ kann die Komprimierung über Stringkonstanten ausgewählt werden.

Mögliche Werte: 'png'"png""png""png""png""png", 'png 7'"png 7""png 7""png 7""png 7""png 7", 'png none'"png none""png none""png none""png none""png none", 'png best'"png best""png best""png best""png best""png best", 'png fastest'"png fastest""png fastest""png fastest""png fastest""png fastest".

Falls ein Bild mit eingeschränktem Definitionsbereich übergeben wird, wird die Region als Alpha-Kanal abgespeichert, wobei die Punkte innerhalb des Definitionsbereichs mit dem maximalen Grauwert des Eingabebildtyps abgespeichert werden und die Punkte außerhalb des Definitionsbereichs mit dem Grauwert 0. Falls ein Bild mit vollem Definitionsbereich übergeben wird, wird kein Alpha-Kanal abgespeichert.

Ausführungsinformationen

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

ImageImageImageImageimageimage (input_object)  (multichannel-)image objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / complex / int2 / uint2 / vector_field / int4 / int8 / real)

Zu speicherndes Bild.

FormatFormatFormatFormatformatformat (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Grafikformat.

Defaultwert: 'jpeg' "jpeg" "jpeg" "jpeg" "jpeg" "jpeg"

Wertevorschläge: 'jpeg'"jpeg""jpeg""jpeg""jpeg""jpeg", 'png'"png""png""png""png""png"

FillColorFillColorFillColorFillColorfillColorfill_color (input_control)  number HTupleUnion[int, float]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Grauwert für Bildpunkte, die nicht zur Domäne (Region) des Bildes gehören.

Defaultwert: 0

Wertevorschläge: -1, 0, 255, 65280, 16711680

MemoryBlockHandleMemoryBlockHandleMemoryBlockHandleMemoryBlockHandlememoryBlockHandlememory_block_handle (output_control)  memory_block HMemoryBlock, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Speicherblocks.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert image_to_memory_blockimage_to_memory_blockImageToMemoryBlockImageToMemoryBlockImageToMemoryBlockimage_to_memory_block den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_imageread_imageReadImageReadImageReadImageread_image

Nachfolger

get_memory_block_ptrget_memory_block_ptrGetMemoryBlockPtrGetMemoryBlockPtrGetMemoryBlockPtrget_memory_block_ptr, write_memory_blockwrite_memory_blockWriteMemoryBlockWriteMemoryBlockWriteMemoryBlockwrite_memory_block

Siehe auch

memory_block_to_imagememory_block_to_imageMemoryBlockToImageMemoryBlockToImageMemoryBlockToImagememory_block_to_image

Modul

Foundation