我正在使用照相机,该照相机提供12位RAW输出并封装有YUYV格式。我想将此YUYV数据解码为灰度或RGB图像。我可以用OpenCV做到这一点吗?对此的任何其他方法也表示赞赏。谢谢
以YUYV格式,您得到:
如果您想要灰度,那将只是Y值,因此在不查看或无法测试您的数据的情况下,您应该能够做到:
Grey = YUYV[0:2:]
应该选择第一个,第三个,第五个,依此类推。然后,您需要reshape()
到图像的大小:
Grey = YUYV[0:2:].reshape((height,width))
由于您的数据是12位的,因此您可能需要向右移4位以构成8位。
Grey8 = (YUYV[0:2:].reshape((height,width)) >> 4).astype(np.uint8)
检查您的dtype
。