Access the pointers of a colored image.
The operator get_image_pointer3 returns a C pointer to the three channels of a colored image (ImageRGB). Additionally the image type (Type = 'byte', 'int2','float' etc.) and the image size (Width and Height) 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 three channels must have the same pixel type and the same size.
Only one image can be passed. The operator get_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).
|
ImageRGB (input_object) |
image -> object : byte / direction / cyclic / int1 / int2 / uint2 / int4 / real / complex / dvf |
| Input image. | |
|
PointerRed (output_control) |
pointer -> integer |
| Pointer to the pixels of the first channel. | |
|
PointerGreen (output_control) |
pointer -> integer |
| Pointer to the pixels of the second channel. | |
|
PointerBlue (output_control) |
pointer -> integer |
| Pointer to the pixels of the third channel. | |
|
Type (output_control) |
string -> string |
| Type of image. | |
| List of values: 'int1', 'int2', 'uint2', 'int4', 'byte', 'real', 'direction', 'cyclic', 'complex', 'dvf', 'lut' | |
|
Width (output_control) |
extent.x -> integer |
| Width of image. | |
|
Height (output_control) |
extent.y -> integer |
| Height of image. | |
The operator get_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>). If necessary an exception handling is raised.
get_image_pointer3 is reentrant and processed without parallelization.
set_grayval, get_grayval, get_image_pointer1
Foundation