文章目录
配置
V4L2介绍
基于V4L2的图像采集流程
平台 内核版本 安卓版本
RK3399 Linux4.4 Android7.1
配置
使用 USB 接口的 UVC 摄像头进行图像采集, 只有配置好驱动, 才能进行图像的采集和帧提取, 在图像采集时, 需要加载 USB 驱动和 V4L2 摄像头驱动。
进入 Device Drivers --> Multimedia support,选择V4L2 sub-device userspace API选项, 选择V4L platform devices选项, 配置 V4L平台为 Rockchip, 选择Media USB Adapters选项, 配置系统支持 UVC 驱动。
V4L2介绍
V4L2(Video for Linux2) 是 Linux 内核提供给应用程序访问视频设备的统一接口,在 Linux 系统中, 一切皆文件, 用户可以通过 V4L2 提供的 API 编写程序直接调用位于/dev 的视频设备文件videoN, N 可能为 0, 1, 2, 3…, 获取视频设备的参数信息, 而不需要关心底层硬件的具体类型。 在 Linux 内核中,V4L2 驱动框架位于底层硬件驱动程序与用户空间接口程序之间,如下图为 V4l2 的驱动框架结构图。
基于 V4l2 的视频框架为用户提供了丰富的 API 接口函数, 用户可以直接在应用程序调用这些接口函数, 设置视频设备的相关参数, 其中常用的接口函数主要有: open,read, write, ioctl 和 close 等。 从打开视频设备到结束图像采集的过程中, 主要用到的结构体有:
结构体 含义
struct v