注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
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.com/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版: |