我尝试使用 openCV/c++ 从 LI-USB30_V024 立体相机捕获左右图像,而不自动将其转换为 RGB。相机输出 YUYV 格式的图像。
我尝试使用 videoCapture.set(CV_CAP_PROP_CONVERT_RGB, false) 但收到消息“HIGHGUI 错误:V4L:设备不支持属性 (16)”。
我想避免转换为 RGB 的原因是因为相机将左右视频打包到单个 YUYV 图像中。两个摄像头都是单色的,据我所知,左侧图像信息编码在 Y 通道中,而右侧图像信息编码在 U 和 V 通道中。例如,如果我运行 guvcview,我会得到一个包含叠加的左图像和右图像的单个图像。它看起来像一个黑白图像(左侧图像在 Y 通道中编码),顶部有一个绿色和粉色图像(右侧相机在 UV 通道中编码)。我知道这听起来很不寻常,所以如果您有任何其他想法/问题,请不要犹豫。
我的目标是将图像捕获为 YUYV,以便我可以使用 split() 将左图像(Y 通道)与右图像(U 和 V 通道)分开,并将它们显示为单色图像。然而,一旦图像转换为 RGB,亮度通道和色度通道就会混合在一起,并且不可能将两个图像分开。
总而言之,我需要捕获视频而不将其转换为 RGB,以便保留 YUYV 格式。这将使我能够分离左右图像。
OR我需要一种分别捕获左右图像的方法,但我认为这不太可能。
我认为这在 v4l 中是可能的,但如果可能的话我宁愿只使用 openCV。
Thanks!
我认为 openCV 中没有办法做到这一点。最后,用 V4L2 捕获帧并将其存储在 openCV Mats 中并没有太麻烦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)