Halcon不支持I16灰度图像
经过一些验证发现,Halcon好像不支持I16的图像。
-32768~32767范围的标准I16灰度图像
上面是一幅使用LabVIEW生成的I16标准图像-1000x1000.png,值范围是-3278~32767,NI视觉中是可以正常判断类型并返回值的:
NI视觉中的I16标准图像-1000x1000.png:图像类型是signed 16-bit(有符合16位)
但是这幅图像在HDevelop环境中打开时,则处理成了uint2类型(无符号16位)的图像,取值范围也变成了0-65535:
HDevelop环境中的I16标准图像-100x1000.png:图像类型是uint2(无符号16位)
而且,在验证时也发现,如果是12位ADC工业相机保存的I16图像真实图像,在NI视觉中值范围是0~4095(2^12-1=4095):
I16.tif:NI视觉正常处理
但是在Halcon中则处理成了33119~36863。从值来看,应该直接加了一个2^16=32768,也就是I16的值,加32768后,将I16[-32768~32767]的转换成U16[0~65535]。NI视觉中的值范围[351,4095],加32768后,则变成Halcon中的值范围[33119,36863]。
I16.tif:Halcon按照U16来处理且值范围映射到了不同的值区域
如果用Halcon读取图像或采集图像确定是I16的图像,在Halcon中是直接处理成了U16,而如果要在LabVIEW中进行描述,可以再减去32768,这样就能在LabVIEW中使用I16来描述了。
标准I16灰度图像下载:
Halcon不支持I16灰度图像
http://visionbbs.com/thread-32364-1-1.html
(出处: 石鑫华视觉论坛)