如何将摄像头采集的YUV图像数据保存成图片
我用v4l2能够采集到图像数据帧了,并且已经映射到内存了,但是我不知道如何把这些数据转化成图片,摄像头支持的格式是YUV,但是直接尝试把这些数据写入到文件,然后保存为jp...
我用v4l2能够采集到图像数据帧了,并且已经映射到内存了,但是我不知道如何把这些数据转化成图片,摄像头支持的格式是YUV,但是直接尝试把这些数据写入到文件,然后保存为jpg,或者bmp,都是无效的图片。求解
展开
2个回答
展开全部
直接把YUV格式的图像数据保存为bmp格式图片肯定是不行的,如果想要把YUV格式图像显示出来的话可以先把YUV数据转换成对应的RGB数据,近似变换公式如下:
R= 1.0Y + 0 +1.402(V-128)
G= 1.0Y - 0.34413 (U-128)-0.71414(V-128)
B= 1.0Y + 1.772 (U-128)+0
详细可参考:http://www.vckbase.com/document/viewdoc/?id=1780
http://apps.hi.baidu.com/share/detail/22274605
当然这还和你摄像头采集的YUV图像的格式有关,因为YUV格式有好几种,如4:1:1, 4:2:2等,需要有针对性的处理,希望对你有帮助。
R= 1.0Y + 0 +1.402(V-128)
G= 1.0Y - 0.34413 (U-128)-0.71414(V-128)
B= 1.0Y + 1.772 (U-128)+0
详细可参考:http://www.vckbase.com/document/viewdoc/?id=1780
http://apps.hi.baidu.com/share/detail/22274605
当然这还和你摄像头采集的YUV图像的格式有关,因为YUV格式有好几种,如4:1:1, 4:2:2等,需要有针对性的处理,希望对你有帮助。
追问
谢谢你的回答,还有一点不明,那转化为rgb格式数据之后呢?之后在将数据写入到一个bmp文件里就可以了是么?是不是需要在这些数据的前面插入一个文件头呢?里面包含图像文件的信息?是么?
现在最主要不明白的是,图像数据,图像数据格式,以及图片三者的的关系。
谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询