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
(出处: 石鑫华视觉论坛)