石鑫华视觉 发表于 2023-3-27 18:28:16

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]
查看完整版本: LabVIEW Image显示RGB64的Bug

LabVIEW HALCON图像处理入门教程(24.09)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24