HALCON算子描述:get_image_pointer1

名字

get_image_pointer1 获取一个通道的Pointer(指示器)

函数签名

get_image_pointer1(Image : : : Pointer, Type, Width, Height)
图像对象输出为空,控制输入参数为空。

描述

这个算子返回输入图像对象Image的第一个通道的Pointer(指示器)。另外,这个算子也返回图像类型和图像的大小(width和height)。这样的话,在使用HALCON的编程语言中,就可以通过这个Pointer(描述子)访问在HALCON数据库的图像数据。
在HALCON中存储的图像是按主行序的,就是一行一行的,但是当图像类型是complexvector_type时,是用一种特殊的方式存储的,具体来说,类型是conplex时,实部和虚部是交替存储的,相反,图像类型是vector_type时,有两个矩阵,一个是存储行一个存储列,两个矩阵在HALCON数据库中一个接一个存储。

注意

只有在输入的图像对象Image在HALCON数据库存在的时候,这个算子才返回对应的Image的Pointer(指示器),在使用HALCON的编程语言中,只要对应的变量是有效的就可以,若不能满足这样的条件,可能会导致未定义行为或者程序崩溃。
如果通过返回的Pointer(指示器)修改(写回)到图像数据中,所有引用这个图像的图像对象(Image Object)都被修改,巴拉巴拉。。。

并行化

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

参数

  • Image(输入对象):输入的图像对象

  • Pointer(输出控制):对应图像对象的指示器,类似于句柄

  • Type(输出控制):输出图像的类型

  • Width(输出控制):图像的宽度

  • Height(输出控制):图像的高度

C语言实例

Hobject  Image;
char     typ[128];
Hlong     width,height;
unsigned char *ptr;

read_image(&Image,"fabrik");
get_image_pointer1(Image,(Hlong*)&ptr,typ,&width,&height);

结果

如果输入的图像有效(passed),那么这个算子返回值是2(H_MSG_TRUE),当输入图像无效时,返回值是根据set_system(‘no_object_result’,)具体决定的,如果有必要的话,就回有一个异常抛出。

可能的前置操作

read_image
必须读取图像,才能获取图像的指示器

可供选择的算子

  • SetGrayval, GetGrayval, GetImagePointer3, GetImageSize, GetImageType

猜你喜欢

转载自blog.csdn.net/qust_waiwai/article/details/50716361