get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3 (Operator)

Name

get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3 — Zugriff auf die Zeiger eines Farbbildes.

Signatur

get_image_pointer3(ImageRGB : : : PointerRed, PointerGreen, PointerBlue, Type, Width, Height)

Herror get_image_pointer3(const Hobject ImageRGB, Hlong* PointerRed, Hlong* PointerGreen, Hlong* PointerBlue, char* Type, Hlong* Width, Hlong* Height)

Herror T_get_image_pointer3(const Hobject ImageRGB, Htuple* PointerRed, Htuple* PointerGreen, Htuple* PointerBlue, Htuple* Type, Htuple* Width, Htuple* Height)

void GetImagePointer3(const HObject& ImageRGB, HTuple* PointerRed, HTuple* PointerGreen, HTuple* PointerBlue, HTuple* Type, HTuple* Width, HTuple* Height)

void HImage::GetImagePointer3(HTuple* PointerRed, HTuple* PointerGreen, HTuple* PointerBlue, HTuple* Type, HTuple* Width, HTuple* Height) const

void HImage::GetImagePointer3(void** PointerRed, void** PointerGreen, void** PointerBlue, HString* Type, Hlong* Width, Hlong* Height) const

static void HOperatorSet.GetImagePointer3(HObject imageRGB, out HTuple pointerRed, out HTuple pointerGreen, out HTuple pointerBlue, out HTuple type, out HTuple width, out HTuple height)

void HImage.GetImagePointer3(out HTuple pointerRed, out HTuple pointerGreen, out HTuple pointerBlue, out HTuple type, out HTuple width, out HTuple height)

void HImage.GetImagePointer3(out IntPtr pointerRed, out IntPtr pointerGreen, out IntPtr pointerBlue, out string type, out int width, out int height)

Beschreibung

get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3 liefert einen C-Pointer auf die drei Kanäle eines Farbbildes (ImageRGBImageRGBImageRGBImageRGBimageRGB). Außerdem wird der Bildtyp (TypeTypeTypeTypetype = 'byte', 'int2', 'float' etc.) und die Bildgröße (WidthWidthWidthWidthwidth und HeightHeightHeightHeightheight) ausgegeben. In der Folge ist dann über den Zeiger ein direkter Zugriff auf die Bilddaten in der HALCON-Datenbank von der HALCON Wirtssprache aus möglich. Ein Bild ist in HALCON als ein Vektor von Bildzeilen abgelegt. Die Bildtypen 'complex' und 'vector_field' bilden Sonderfälle. Bilder vom Typ 'complex' sind interleaved, d.h., die Real- und Imaginärteile werden abwechselnd abgespeichert. Bilder vom Typ 'vector_field' bestehen dagegen aus zwei Matrizen, eine für die Zeilen und eine für die Spalten, die nacheinander in der HALCON-Datenbank liegen. Die drei Kanäle müssen den gleichen Pixeltyp und die gleiche Größe haben.

Achtung

Es darf nur ein Bild übergeben werden. get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3 sollte nur zum Eintragen in neu erzeugte Bilder verwendet werden, da sonst die Grauwerte von anderen Bildern überschrieben werden könnten (siehe Relationale Struktur).

Ausführungsinformationen

Parameter

ImageRGBImageRGBImageRGBImageRGBimageRGB (input_object)  multichannel-image(-array) objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

Eingabebild.

PointerRedPointerRedPointerRedPointerRedpointerRed (output_control)  pointer(-array) HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Zeiger auf die Pixel des ersten Kanals.

PointerGreenPointerGreenPointerGreenPointerGreenpointerGreen (output_control)  pointer(-array) HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Zeiger auf die Pixel des zweiten Kanals.

PointerBluePointerBluePointerBluePointerBluepointerBlue (output_control)  pointer(-array) HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Zeiger auf die Pixel des dritten Kanals.

TypeTypeTypeTypetype (output_control)  string(-array) HTupleHTupleHtuple (string) (string) (HString) (char*)

Typ des Bildes.

Werteliste: 'byte'"byte""byte""byte""byte", 'complex'"complex""complex""complex""complex", 'cyclic'"cyclic""cyclic""cyclic""cyclic", 'direction'"direction""direction""direction""direction", 'int1'"int1""int1""int1""int1", 'int2'"int2""int2""int2""int2", 'int4'"int4""int4""int4""int4", 'int8'"int8""int8""int8""int8", 'real'"real""real""real""real", 'uint2'"uint2""uint2""uint2""uint2", 'vector_field_absolute'"vector_field_absolute""vector_field_absolute""vector_field_absolute""vector_field_absolute", 'vector_field_relative'"vector_field_relative""vector_field_relative""vector_field_relative""vector_field_relative"

WidthWidthWidthWidthwidth (output_control)  extent.x(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Bildes.

HeightHeightHeightHeightheight (output_control)  extent.y(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Bildes.

Ergebnis

get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3 liefert den Wert 2 (H_MSG_TRUE), falls genau ein Bild übergeben wird. Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_imageread_imageReadImageReadImageReadImage

Alternativen

set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayval, get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayval, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1

Siehe auch

paint_regionpaint_regionPaintRegionPaintRegionPaintRegion, paint_graypaint_grayPaintGrayPaintGrayPaintGray

Modul

Foundation