`

linux下的V4L2提取USB摄像头图像(三)-----YUV420

 
阅读更多

经过了几个星期终于有了一点的收货了,呵呵

下面讲下关于YUV格式的存储,也算是对自己的一个总结了,呵呵。

YUV4:4:4采样,每一个Y对应一组UV分量。
YUV4:2:2采样,每两个Y共用一组UV分量。
YUV4:2:0采样,每四个Y共用一组UV分量。
首先看下采样格式YUV420(YU12 YV12 V4L2_PIX_FMT_YVU420),我们一圈圈表示Y分量,叉叉表示UV分量,这在图片中的采样如下如:

那么在数据中的存储顺序,这里我就讲我自己用到的部分就是YUV420其中的YV12 和NV12两种存储格式:

YV12存储顺序为:

按此中结果图片效果为:

 

NV12存储顺序为:


 

按此中结果图片效果为:

 

分享到:
评论

相关推荐

    linux下基于V4L2/Qt的usb摄像头采集显示程序

    综上所述,这个项目是一个结合了Linux底层驱动技术(V4L2)和高级UI框架(Qt)的实用示例,展示了如何在Linux环境下实现USB摄像头的实时视频捕获和显示。对于学习Linux设备驱动开发和Qt GUI编程的开发者来说,这是一...

    v4l2读取USB摄像头

    V4L2(Video for Linux Two)是Linux内核中用于多媒体设备,特别是视频捕获设备(如USB摄像头)的接口。本节将深入探讨如何使用C++编程语言通过V4L2 API来读取USB摄像头的数据,尤其是MJPG(Motion JPEG)和YUYV...

    基于v4l2的摄像头抓图程序,简单的从yuv到bmp转化-v4l2,video to bmp.zip

    标题中的“基于v4l2的摄像头抓图程序”指的是使用Video for Linux Two(V4L2)框架来实现从摄像头捕获图像的功能。V4L2是Linux内核的一部分,提供了一种标准接口,使得应用程序可以访问各种类型的视频设备,如USB...

    linux下利用v4l2打开本地摄像头

    在Linux操作系统中,使用Video for Linux version 2 (V4L2) API来访问和控制本地摄像头是一种常见的方法。V4L2是Linux内核的一部分,它为用户空间应用程序提供了与视频捕获设备(如摄像头)交互的接口。在本文中,...

    USB摄像头通过v4l2技术采集、储存视频

    在Linux系统中,USB摄像头的视频采集通常涉及到了一个核心的技术接口——Video for Linux version 2(v4l2)。v4l2是Linux内核为数字视频设备提供的一种驱动程序接口,它允许用户空间程序直接与硬件进行交互,进行...

    v4l2 USB摄像头图像采集程序(C)

    V4L2(Video for Linux Two)是Linux操作系统下的一个接口,用于与视频捕获设备交互,如USB摄像头。这个接口提供了对视频流、音频流以及相关设备控制的全面支持。在开发C语言的USB摄像头图像采集程序时,V4L2 API是...

    Linux(Ubutun)V4L2采集YUV422转YUV420,ALSA采集pcm、QT播放音频QOpenGL显示

    V4L2 API提供了转换功能,可以将YUV422转换为更常见的YUV420格式,后者在内存占用和处理上更有效率,适合于视频编码和显示。 2. ALSA 音频采集: ALSA是Linux系统下广泛使用的音频子系统,它提供了一组低级API来...

    基于V4L2的USB摄像头采集程序

    【标题】"基于V4L2的USB摄像头采集程序"涉及的是在Linux系统下使用Video for Linux Second(V4L2)接口进行USB摄像头数据采集的技术。V4L2是Linux内核的一部分,为视频捕获和播放设备提供了一种标准化的编程接口,...

    linux下QT通过v4l2的方式采集摄像头并显示到界面上

    以上就是利用Qt和v4l2在Linux下采集摄像头数据并显示的基本步骤。实际应用中,还需要处理错误、线程同步等问题,以及可能的性能优化,如多线程读取、异步处理等。在学习过程中,参考开源项目、阅读文档和实践操作都...

    使用V4L2驱动USB摄像头

    V4L2(Video for Linux Two)是Linux内核中用于多媒体设备,特别是视频捕获设备(如USB摄像头)的一个接口。它提供了与硬件设备进行交互的API,使得开发者能够编写应用程序来控制和获取视频流。这篇博客文章详细介绍...

    ARM Linux 下V4L2驱动摄像头拍照代码

    本文将深入探讨如何在ARM Linux环境下利用V4L2(Video for Linux Two)框架驱动摄像头进行拍照,并分析提供的两个示例代码:`v4l2_snapshot_mmap.c`和`v4l2_snapshot.c`。 V4L2是Linux内核为视频捕获和视频输出设备...

    linux qt4.7 v4l2 YUV(YUYV) mmap 显示视频 可直接编译

    总体来说,这个项目提供了一个基础示例,展示了如何在Linux环境下使用Qt和V4L2 API来实时处理和显示YUYV格式的USB摄像头视频流。对于想要了解这些技术结合的开发者来说,这是一个宝贵的参考资料。

    Linux 下V4l2摄像头采集图片,实现yuyv转RGB,RGB转BMP,RGB伸缩,RGB转JPEG(保存到内存中),JPEG经UDP发送功能

    ARM Cortex-A8平台Linux下V4l2摄像头采集图片程序,实现yuyv转RGB,RGB转BMP保存,RGB缩放等功能。利用jpeglib实现RGB转JPEG,并且压缩结果保存至内存中,无需再用文件操作来保存JPEG图片,JPEG经UDP发送至远程服务器...

    v4l2的jpg摄像头采样并存储

    V4L2(Video for Linux Two)是Linux系统下用于处理多媒体输入/输出的API,主要应用于摄像头和其他视频捕获设备。在这个项目中,我们关注的是如何使用V4L2来从摄像头采集JPEG图像并进行存储。下面将详细介绍这个过程...

    v4l2抓取图像并保存到当地

    v4l2编程抓取摄像头yuv数据,并将该yuv数据转换为rgb,rgb再转换为bmp图像保存到本地,并保存yuv数据,可通过tuvtools工具查看

    V4L2抓取USB摄像头YUV视频数据代码/v4l2.tar

    也可以自行下载。具体参考: https://quantum6.blog.csdn.net/article/details/122527708

    linux下v4l2视频采集源代码

    1、在linux下使用v4l2框架采集视频 2、使用socket tcp发送采集到的视频数据,下载一个接收yuv数据的显示软件就可以播放 3、使用select、多线程、线程锁等技术,值得参考 4、程序逻辑清晰,代码简单 包含文件video.c

    Opencv4+v4l2以mjpeg读取双目摄像头

    在本文中,我们将深入探讨如何使用OpenCV4和V4L2库来读取双目摄像头的MJPEG视频流。双目摄像头是一种特殊类型的摄像头,它由两个并排的传感器组成,可以捕捉到立体图像,进而实现深度感知。OpenCV4是一个强大的...

    v4l2采集+yuyv转yuv420p+h264编码+tcp传输

    摄像头通过V4L2采集yuyv格式图像数据 2.yuyv转yuv420p格式 3.yuv420p通过x264编码压缩为h264码流 4.将h264码流通过tcp传输到显示端 5.显示端接收h264码流,并保存为本地文件,程序运行结束后可通过VLC播放器直接...

    qt+v4l2 摄像头视频捕捉--源代码

    `V4L2`(Video for Linux Two)是Linux内核中的一个驱动程序接口,用于与各种视频设备(如摄像头)交互。它提供了一种标准化的方式来访问视频输入和输出设备,包括捕获视频流、控制摄像头参数等操作。V4L2接口的使用...

Global site tag (gtag.js) - Google Analytics