石鑫华视觉 手机微信QQ:13450001061 / 18038383457

图像编程

LabVIEW如何显示RGB64彩色图像

文章来源:石鑫华视觉网时间:2024-04-17 18:28:34 点击:33

LabVIEW如何显示RGB64彩色图像

LabVIEW如何显示RGB64彩色图像视频号(短版,不能超过30分钟)

LabVIEW如何显示RGB64彩色图像B站(长版)

在LabVIEW环境中,并不能很好的显示RGB64彩色图像,除非RGB64彩色图像的像素格式本身就是16位的,最大值能达到65535;而如果像素格式只是12位最大值是4095或10位最大值是1023,那么这种RGB64彩色图像在LabVIEW中显示的话,则是一个比较黑的彩色图像,毕竟4095对于65535来说,还是非常小的。LabVIEW Vision中的Image控件对于U16、I16的灰度图像是可以正常映射成U8值范围内进行显示,但是彩色图像则不能正常映射到RGB32值范围内进行显示。这里则使用了两种方法,也能将RGB64的彩色图像映射到其他范围内进行正常显示。当然,和MAX中的映射显示或灰度图像的映射显示还是有差别的,会改变彩色图像像素本身的值,这里对于图像处理来说并不会有什么影响,因为VDM中能处理RGB64的函数非常少,这里只是为显示效果上能更好一些,因此才做此研究。

使用的彩色相机的像素格式是BayerRG12,ADC是12位,那么其像素值最大值则为4095。使用RGB64来输出图像并保存图像。默认情况下LabVIEW、视觉助手、VBAI等环境中打开RGB64图像时,均显示的是比较黑的图像,只有在MAX中采集图像时才会显示的比较明亮。这个可以参考论坛的LabVIEW Image显示RGB64的Bug,http://visionbbs.cn/thread-30194-1-1.html

这里使用了两种方法,一种是将RGB64转换为RGB32来显示。需要将RGB64中的4095映射到RGB32中的255;另一种方法,仍然使用RGB64来显示,但是会将RGB64中的4095映射到65535,这样也是可以正常显示的。但是无论哪种方法,都是会改变原始图像的像素值的,并不能像灰度16位图像那样能映射到8位的灰度图像显示,并保持灰度值不变。

RGB64到RGB32

RGB64到RGB32的显示效果

RGB64将4095映射到65535

RGB64将4095映射到65535

         使用上面的两种方法,均可将实际显示的比较黑的RGB64彩色图像显示为比较明亮的彩色图像。虽然说值改变了,但是效果上还是比较明显的。

VI示例LV2020版:

LabVIEW如何显示RGB64彩色图像

http://visionbbs.cn/thread-31485-1-1.html

(出处: 石鑫华视觉论坛)


首页
84162741QQ
联系