get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 (Operator)

Name

get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 — Access the pointers of a colored image.

Signature

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)

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]

Description

The operator get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 returns a C pointer to the three channels of a colored image (ImageRGBImageRGBImageRGBimageRGBimage_rgb). Additionally the image type (TypeTypeTypetypetype = 'byte', 'int2','float' etc.) and the image size (WidthWidthWidthwidthwidth and HeightHeightHeightheightheight) are returned. Consequently a direct access to the image data in the HALCON database from the HALCON host language via the pointer is possible. An image is stored in HALCON as a vector of image lines. The image types 'complex' and 'vector_type' are handled in a specific way. In particular, 'complex' images are interleaved, i.e., the real and the imaginary parts are alternating, whereas 'vector_field' images consist of two matrices, one for the rows and one for the columns, which are stored in the HALCON database one after the other. The three channels must have the same pixel type and the same size.

Attention

Only one image can be passed. The operator get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 should only be used for entry into newly created images, since otherwise the gray values of other images might be overwritten (see relational structure).

Execution Information

Parameters

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

Input image.

PointerRedPointerRedPointerRedpointerRedpointer_red (output_control)  pointer(-array) HTupleSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Pointer to the pixels of the first channel.

PointerGreenPointerGreenPointerGreenpointerGreenpointer_green (output_control)  pointer(-array) HTupleSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Pointer to the pixels of the second channel.

PointerBluePointerBluePointerBluepointerBluepointer_blue (output_control)  pointer(-array) HTupleSequence[int]HTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Pointer to the pixels of the third channel.

TypeTypeTypetypetype (output_control)  string(-array) HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Type of image.

List of values: '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) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of image.

HeightHeightHeightheightheight (output_control)  extent.y(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of image.

Result

The operator get_image_pointer3get_image_pointer3GetImagePointer3GetImagePointer3get_image_pointer3 returns the value 2 ( H_MSG_TRUE) if exactly one image is passed. The behavior in case of empty input (no input images available) is set via the operator set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary an exception is raised.

Possible Predecessors

read_imageread_imageReadImageReadImageread_image

Alternatives

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval, get_grayvalget_grayvalGetGrayvalGetGrayvalget_grayval, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1

See also

paint_regionpaint_regionPaintRegionPaintRegionpaint_region, paint_graypaint_grayPaintGrayPaintGraypaint_gray

Module

Foundation