get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 (Operator)
Name
get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 — Zugriff auf die Zeiger eines Farbbildes.
Signatur
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)
def get_image_pointer3(image_rgb: HObject) -> Tuple[Sequence[int], Sequence[int], Sequence[int], Sequence[str], Sequence[int], Sequence[int]]
def get_image_pointer3_s(image_rgb: HObject) -> Tuple[int, int, int, str, int, int]
Beschreibung
get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3get_image_pointer3 liefert einen C-Pointer auf die
drei Kanäle eines Farbbildes (ImageRGBImageRGBImageRGBImageRGBimageRGBimage_rgb).
Außerdem wird der Bildtyp (TypeTypeTypeTypetypetype = 'byte', 'int2', 'float' etc.)
und die Bildgröße (WidthWidthWidthWidthwidthwidth und HeightHeightHeightHeightheightheight) 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_pointer3GetImagePointer3GetImagePointer3GetImagePointer3get_image_pointer3 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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ImageRGBImageRGBImageRGBImageRGBimageRGBimage_rgb (input_object) multichannel-image(-array) → objectHImageHObjectHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)
Eingabebild.
PointerRedPointerRedPointerRedPointerRedpointerRedpointer_red (output_control) pointer(-array) → HTupleSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Zeiger auf die Pixel des ersten Kanals.
PointerGreenPointerGreenPointerGreenPointerGreenpointerGreenpointer_green (output_control) pointer(-array) → HTupleSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Zeiger auf die Pixel des zweiten Kanals.
PointerBluePointerBluePointerBluePointerBluepointerBluepointer_blue (output_control) pointer(-array) → HTupleSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)
Zeiger auf die Pixel des dritten Kanals.
TypeTypeTypeTypetypetype (output_control) string(-array) → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Typ des Bildes.
Werteliste: 'byte'"byte""byte""byte""byte""byte", 'complex'"complex""complex""complex""complex""complex", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'direction'"direction""direction""direction""direction""direction", 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'int4'"int4""int4""int4""int4""int4", 'int8'"int8""int8""int8""int8""int8", 'real'"real""real""real""real""real", 'uint2'"uint2""uint2""uint2""uint2""uint2", 'vector_field_absolute'"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""vector_field_relative"
WidthWidthWidthWidthwidthwidth (output_control) extent.x(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Breite des Bildes.
HeightHeightHeightHeightheightheight (output_control) extent.y(-array) → HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Höhe des Bildes.
Ergebnis
get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3GetImagePointer3get_image_pointer3 liefert den Wert 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>)set_system("no_object_result",<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
read_imageread_imageReadImageReadImageReadImageread_image
Alternativen
set_grayvalset_grayvalSetGrayvalSetGrayvalSetGrayvalset_grayval,
get_grayvalget_grayvalGetGrayvalGetGrayvalGetGrayvalget_grayval,
get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1GetImagePointer1get_image_pointer1
Siehe auch
paint_regionpaint_regionPaintRegionPaintRegionPaintRegionpaint_region,
paint_graypaint_grayPaintGrayPaintGrayPaintGraypaint_gray
Modul
Foundation