LabVIEW Image显示RGB64的Bug
LabVIEW Vision中的Image在显示16位图像时,是有很多种显示方法的,如全局动态Full Dynamic、90%动态90% Dynamic、最高有效位most significant bit、给定百分比范围Given Percent Range、给定范围Given Range、降档Downshifts等方法:16位图像的映射方式
但是这些16位图像的映射方法,好像只对16位的灰度图像有效。对于16位的彩色图像(即RGB64),则无效,打开RGB64时,则使用了16位的最大值65535这样的值来简单粗暴的处理了:
RGB32时,正常显示
打开RGB32的彩色图像时,灰度平面是8位的,能正常显示。
RGB64时,不正常显示
打开RGB64时,灰度平面是16位。可以看到,16位的灰度图像其实能正常显示,亮的地方非常亮,暗的地方比较暗。
相机的像素格式是BayerRG12,最大值是4095,所以看灰度图像最大值也是4095,并且将其显示为了白色。但是这个时候的彩色图像,显示的信息是64bit RGB,也就是RGB64,看鼠标处值也是4095,4095,4095,正常情况下这个应该是显示白色很亮的。但是在实际显示时,整个图像都比较暗。因为4095相对于2^16的最大值65535来说,其实是非常小的,也就是4095映射到8位下的值其实是4095/65536*255=16,也就是这个时候的图像,其效果类似于8位灰度图像时的最大16时的灰度图像。所以,看起来图像就非常暗了。
这里应该是一个Bug了,16位的映射方法,并不能映射到RGB64的彩色图像中,只能映射到I16和U16的灰度图像中。验证版本是2020SP1版本,不知道最新的2023Q1版有没有解决这个问题,待验证(后面已经验证,未解决该问题)。这个在视觉助手、LabVIEW、VBAI等环境中,都不能正常显示。但是在MAX中则可以正常显示,也不知道具体是怎么回事。
MAX可以正常显示RGB64
视觉助手不能正常显示RGB64
VBAI不能正常显示RGB64
VDM2023Q1版仍然未解决显示RGB64的Bug
页:
[1]