名字
get_image_pointer1 获取一个通道的Pointer(指示器)
函数签名
get_image_pointer1(Image : : : Pointer, Type, Width, Height)
图像对象输出为空,控制输入参数为空。
描述
这个算子返回输入图像对象Image
的第一个通道的Pointer(指示器)。另外,这个算子也返回图像类型和图像的大小(width和height)。这样的话,在使用HALCON的编程语言中,就可以通过这个Pointer(描述子)访问在HALCON数据库的图像数据。
在HALCON中存储的图像是按主行序的,就是一行一行的,但是当图像类型是complex
和vector_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