文档章节

Linux下基于v4l2框架的图像采集

坡后村
 坡后村
发布于 2016/04/21 18:29
字数 393
阅读 289
收藏 5

      对于linux下笔记本内置摄像头图像采集,一开始也挺头大的,怎样去驱动笔记本内置摄像头呢?伟大的互联网告诉我们这都不叫事。通过 lsusb查看摄像头信息,如果不明显,可以用lsusb -v|less 查看详细信息,确定摄像头是usb设备后,v4l2框架才是可用的。

       V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口,它图像采集的操作步骤:

打开设备-> 检查和设置设备属性-> 设置帧格式-> 设置一种输入输出方法(缓冲 区管理)-> 循环获取数据-> 关闭设备。

       V4L2接口的介绍可参考http://blog.csdn.net/g_salamander/article/details/8107692,具体V4L2采集数据的源码http://download.csdn.net/detail/xiaohouye/9499342,但过程中应该注意的是摄像头所支持视频输出的格式,可以用V4L2提供的指令去通过ioctl获得,也可以用比较懒的方法,先安装luvceiw,然后命令行luvceiw -L,查看相应摄像头输出的详细信息。

      由于我的摄像头是YUV422输出,采集到的数据还要相应转成图片格式输出,先把YUV422转成RGB,再从RGB转到bmp格式。


© 著作权归作者所有

共有 人打赏支持
坡后村
粉丝 0
博文 2
码字总数 919
作品 0
天津
私信 提问
01@ V4L2框架分析学习一

1、概述. Video4Linux2是Linux内核中关于视频设备的内核驱动框架,为上层的访问底层的视频设备提供了统一的接口。 凡是内核中的子系统都有抽象底层硬件的差异,为上层提供统一的接口和提取出...

singledevil0
2018/04/17
0
0
V4L2 driver -整体架构

我的uvc开源地址:gitee-uvc 字符设备驱动程序核心:V4L2本身就是一个字符设备,具有字符设备所有的特性,暴露接口给用户空间。 V4L2 驱动核心:主要是构建一个内核中标准视频设备驱动的框架...

yooooooo
2018/08/16
0
0
Camera driver&V4L2驱动架构介绍

基于Mavell Pxa920 1.Camera相关介绍 1.1. 手机Camera介绍 手机的数码相机功能指的是手机通过内置数码相机进行拍摄静态图片或短片拍摄,作为手机的一项新的附加功能,手机的数码相机功能得到...

Jerikc
2013/12/19
0
0
v4l2采集的一些问题

一般操作流程(视频设备): 1. 打开设备文件。 int fd=open(”/dev/video0″,O_RDWR); 2. 取得设备的capability,看看设备具有什么功能,比如是否具有视频输入,或者音频输入输出等。VIDIOC_...

justdoman
2011/06/10
352
2
QT调用的新库V4L2如何交叉编译

最近在做Linux下利用V4L2来进行USB摄像头的视频采集,遇到了一点问题一直无法解决,就是添加了V4L2库以后,交叉编译后无法用QTE4.7编译,请问如何添加交叉编译工具链,以融入该库,生成支持A...

buaadmj
2014/04/16
222
0

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
14分钟前
0
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
2
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
1
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部