Linux下学习摄像头使用
刚接触Linux硬件驱动有关的项目,配置摄像头经历的一些操作
(这篇文章是刚接触Linux下V4L时作为记录记下的,感觉只有几个命令还有参考作用)
一 确定摄像头种类
确定是否符合UVC标准协议,一般Linux 2.6.3(好像是,不用在意)以上的版本都在内核集成了。
1.lsusb
使用这条命令能看到USB有关设备。lsusb -v | grep "14 Video",打印信息如下:
bFunctionClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
bInterfaceClass 14 Video
说明是支持UVC的摄像头
2.dmesg
刚插入摄像头的打印信息如下:
[17102.026976] usb 3-4: new high-speed USB device number 23 using xhci_hcd
[17102.155595] usb 3-4: New USB device found, idVendor=1908, idProduct=2311
[17102.155603] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[17102.155606] usb 3-4: Product: USB2.0 PC CAMERA
[17102.155610] usb 3-4: Manufacturer: Generic
[17102.156147] uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (1908:2311)
[17102.156690] input: USB2.0 PC CAMERA as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4:1.0/input/input29
暂时不知道这信息怎么使用。 (1908:2311)这个信息是可以在http://www.ideasonboard.org/uvc/查询是否支持UVC的(然而我没找到自己这摄像相应的,但其实也是支持UVC的)。
二 注意摄像头加载的文件位置。
http://blog.csdn.net/linczone/article/details/48342419(这是一篇如何使usb设备创建指定设备名的博客,暂时未懂也还用不上,以后学习)
摄像头加载到/dev/video*上。通过摄像头插入前后对比知道了摄像头的设备文件名。
三 已有的支持摄像头的软件
luvcview
webcam
spcaview
xawtv
可以通过apt-get install直接安装,也可以尝试自主编译源码,由于嵌入式开发交叉编译需要,我必须尝试自主编译源码。
四 编译软件源码(通过apt-get更方便)
luvcview
1.luvcview编译缺少库文件支持
SDL与linux/videodev.h
SDL(Simple DirectMedia Layer)在网上下载安装。
linux/videodev.h解决方案:
方案1:(其实是有问题的,编译不通过)
sudo apt-get install libv4l-dev
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
方案2:
sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
2.启动luvcview报错(未解决)
luvcview 0.2.6
Couldn't initialize SDL: No available video device
xawtv-3.95
1.make 问题
问题一 :Oops: (n)curses library not found. You need this one, please install.
sudo apt-get install libncurses5-dev
问题二:jpeg library not found.
sudo apt-get install libjpeg-dev
Linux下学习摄像头使用的更多相关文章
- C语言高级应用---操作linux下V4L2摄像头应用程序
我们都知道,想要驱动linux下的摄像头,其实很简单,照着V4L2的手册一步步来写,很快就可以写出来,但是在写之前我们要注意改变系统的一些配置,使系统支持framebuffer,在dev下产生fb0这 ...
- Linux 下V4l2摄像头采集图片,实现yuyv转RGB,RGB转BMP,RGB伸缩,jpeglib 库实现压缩RGB到内存中,JPEG经UDP发送功(转)
./configure CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld --host=arm-linux --prefix=/usr/loca ...
- C语言高级应用---操作linux下V4L2摄像头应用程序【转】
转自:http://blog.csdn.net/morixinguan/article/details/51001713 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://blog ...
- 在 Linux 下学习 C 语言有什么好处?
作者:宅学部落链接:https://www.zhihu.com/question/23893390/answer/832610610来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- Linux下学习王爽老师的汇编语言
坐起来非常容易,找到这条路确实非常曲折,为了后来的同志们不再纠结,特记录如下: 这几天看汇编语言时,很多人都推荐王爽老师的<汇编语言>,老师的书的确写的很好,但是讲的是ms的汇编,但是总不 ...
- 2018.3.26 Linux下学习命令
Linux下的终端文件颜色说明 ---color[=WHEN] 用色彩辨别文件类型 WHEN 可以是'never'.'always'或'auto'其中之一 白色:表示普通文件 蓝色:表示目录 绿色:表 ...
- linux下motion摄像头监控编译与配置
利用linxu下的开源的motion搭建嵌入式视频动态监控系统 所谓移动图像监测,简单来说就是利用摄像头定点监测某个区域,当有移动物体经过时,摄像头便自动抓拍(要监测多大物体.按拍照速率都是可调的), ...
- 在Linux下开始C语言的学习
为什么要在linux下学习C语言? linux下可以体验到最纯粹的C语言编程,可以抛出其他IDE的影响 环境配置简单,一条命令就足够.甚至对于大多数linux发行版本,都已经不需要配置C语言的环境 查 ...
- Linux 下从头再走 GTK+-3.0 (一)
原本由于项目需求在 Linux 下学习过一段时间的 GTK+2.0 图形开发,时隔一段时间,想真正深入学习一下 GTK . 这次直接从头学习 GTK+-3.0 ,并写下博文便于日后查看,也方便新手入门 ...
随机推荐
- adoquery怎样判断数据在缓存中有修改啊
ADOQry.Filtered:=false; ADOQry.Filtered:=true; ADOQry.FilterGroup:=fgPendingRecords ;Fil ...
- KKT条件
kkt条件背下来容易.理解上还有问题 主要是lambda≥0和lambda*f(x)=0这两个条件懵逼. 下面说明一下为什么 参考:https://blog.csdn.net/newthinker_w ...
- HTML查漏补缺 【未完】
1.命名锚 HTML 链接 - name 属性 name 属性规定锚(anchor)的名称. 您可以使用 name 属性创建 HTML 页面中的书签. 书签不会以任何特殊方式显示,它对读者是不可见的. ...
- POJ 1125-Stockbroker Grapevine-最短路
裸最短路 /*--------------------------------------------------------------------------------------*/ // H ...
- Django 下载和初识
Django Django官网下载页面 安装(安装最新LTS版): pip3 install django==1.11.9 创建一个django项目: 下面的命令创建了一个名为"mysite ...
- Subway POJ - 2502 最短路
题意:给出地铁线 起点和 终点 坐地铁速度为v2 走路为v1 求起点到终点的最短距离 (答案需要四舍五入这里坑了好久) 拿给出的地铁站点 和起点终点建边即可 然后跑个迪杰斯特拉 #inclu ...
- POJ 3322 Bloxorz(算竞进阶习题)
bfs 标准广搜题,主要是把每一步可能的坐标都先预处理出来,会好写很多 每个状态对应三个限制条件,x坐标.y坐标.lie=0表示直立在(x,y),lie=1表示横着躺,左半边在(x,y),lie=2表 ...
- 【Luogu2664】树上游戏(点分治)
[Luogu2664]树上游戏(点分治) 题面 洛谷 题解 很好的一道点分治题. 首先直接点分治,考虑过每个分治重心的链的贡献. 我们从分治重心开始找每种颜色,强制令一种颜色只在其到分治重心的链上第一 ...
- 【Luogu3731】[HAOI2017]新型城市化(网络流,Tarjan)
[Luogu3731][HAOI2017]新型城市化(网络流,Tarjan) 题面 洛谷 给定一张反图,保证原图能分成不超过两个团,问有多少种加上一条边的方法,使得最大团的个数至少加上\(1\). 题 ...
- 每天一个linux命令(1):wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...