如何将摄像头采集的YUV图像数据保存成图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将摄像头采集的YUV图像数据保存成图片相关的知识,希望对你有一定的参考价值。

我用v4l2能够采集到图像数据帧了,并且已经映射到内存了,但是我不知道如何把这些数据转化成图片,摄像头支持的格式是YUV,但是直接尝试把这些数据写入到文件,然后保存为jpg,或者bmp,都是无效的图片。求解

直接把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等,需要有针对性的处理,希望对你有帮助。追问

谢谢你的回答,还有一点不明,那转化为rgb格式数据之后呢?之后在将数据写入到一个bmp文件里就可以了是么?是不是需要在这些数据的前面插入一个文件头呢?里面包含图像文件的信息?是么?
现在最主要不明白的是,图像数据,图像数据格式,以及图片三者的的关系。
谢谢

参考技术A 我想知道怎么采集的视频怎么存成YUV格式,求楼主知道。

以上是关于如何将摄像头采集的YUV图像数据保存成图片的主要内容,如果未能解决你的问题,请参考以下文章

labview中,我想显示灰度图像,数据是我自己用摄像头采集的yuv,只取y值,我自己的搞的总是显示彩色

如何使用ffmpeg库把从摄像头传回的bmp图像不断保存成视频?

opencv怎么采集yuy2图像

opencv 设置摄像头采集图像编码格式

v4l2 mjpeg格式 采集图像不完整

yuv420视频输入用h264编码以后保存成文件,可以用播放器 直接播放出正常的图像来吗?