石鑫华视觉论坛

 找回密码
 注册会员
查看: 1308|回复: 0

[原创] LabVIEW Image显示RGB64的Bug

[复制链接]
  • TA的每日心情

    11 小时前
  • 签到天数: 3384 天

    连续签到: 6 天

    [LV.Master]2000FPS

     楼主| 发表于 2023-3-27 18:28:16 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    LabVIEW Vision中的Image在显示16位图像时,是有很多种显示方法的,如全局动态Full Dynamic、90%动态90% Dynamic、最高有效位most significant bit、给定百分比范围Given Percent Range、给定范围Given Range、降档Downshifts等方法:

    QQ截图20230327180434.png
    16位图像的映射方式
    但是这些16位图像的映射方法,好像只对16位的灰度图像有效。对于16位的彩色图像(即RGB64),则无效,打开RGB64时,则使用了16位的最大值65535这样的值来简单粗暴的处理了:
    QQ截图20230327180052.png
    RGB32时,正常显示
    打开RGB32的彩色图像时,灰度平面是8位的,能正常显示。
    QQ截图20230327180152.png
    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中则可以正常显示,也不知道具体是怎么回事。
    QQ截图20230327153822.png
    MAX可以正常显示RGB64
    QQ截图20230327154754.png
    视觉助手不能正常显示RGB64
    QQ截图20230327182635.png
    VBAI不能正常显示RGB64

    QQ截图20230327190012.png
    VDM2023Q1版仍然未解决显示RGB64的Bug
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

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

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-22 19:43

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表