刚接触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下学习摄像头使用的更多相关文章

  1. C语言高级应用---操作linux下V4L2摄像头应用程序

    我们都知道,想要驱动linux下的摄像头,其实很简单,照着V4L2的手册一步步来写,很快就可以写出来,但是在写之前我们要注意改变系统的一些配置,使系统支持framebuffer,在dev下产生fb0这 ...

  2. 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 ...

  3. C语言高级应用---操作linux下V4L2摄像头应用程序【转】

    转自:http://blog.csdn.net/morixinguan/article/details/51001713 版权声明:本文为博主原创文章,如有需要,请注明转载地址:http://blog ...

  4. 在 Linux 下学习 C 语言有什么好处?

    作者:宅学部落链接:https://www.zhihu.com/question/23893390/answer/832610610来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

  5. Linux下学习王爽老师的汇编语言

    坐起来非常容易,找到这条路确实非常曲折,为了后来的同志们不再纠结,特记录如下: 这几天看汇编语言时,很多人都推荐王爽老师的<汇编语言>,老师的书的确写的很好,但是讲的是ms的汇编,但是总不 ...

  6. 2018.3.26 Linux下学习命令

    Linux下的终端文件颜色说明 ---color[=WHEN] 用色彩辨别文件类型 WHEN 可以是'never'.'always'或'auto'其中之一 白色:表示普通文件 蓝色:表示目录 绿色:表 ...

  7. linux下motion摄像头监控编译与配置

    利用linxu下的开源的motion搭建嵌入式视频动态监控系统 所谓移动图像监测,简单来说就是利用摄像头定点监测某个区域,当有移动物体经过时,摄像头便自动抓拍(要监测多大物体.按拍照速率都是可调的), ...

  8. 在Linux下开始C语言的学习

    为什么要在linux下学习C语言? linux下可以体验到最纯粹的C语言编程,可以抛出其他IDE的影响 环境配置简单,一条命令就足够.甚至对于大多数linux发行版本,都已经不需要配置C语言的环境 查 ...

  9. Linux 下从头再走 GTK+-3.0 (一)

    原本由于项目需求在 Linux 下学习过一段时间的 GTK+2.0 图形开发,时隔一段时间,想真正深入学习一下 GTK . 这次直接从头学习 GTK+-3.0 ,并写下博文便于日后查看,也方便新手入门 ...

随机推荐

  1. Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 Maven中不能引入ojdbc解决方法,错误

    今天从服务器检出Maven项目的时候,遇到了一个问题,就是在pom.xml中引入ojdbc的jar包的时候出错了,提示是Missing artifact com.oracle:ojdbc6:jar:1 ...

  2. python之if使用方法举例

    if使用方法举例: import random #随机生成1-100的整数 n = random.randint(1, 100) if n > 50: print(n, "> 5 ...

  3. source 和 .

    Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile 对 ...

  4. Angular 2 to Angular 4 with Angular Material UI Components

    Download Source - 955.2 KB Content Part 1: Angular2 Setup in Visual Studio 2017, Basic CRUD applicat ...

  5. 基于junit的单元测试类编写

    首先定义抽象类BaseTest package com.geostar.gfstack.operationcenter.common.util; import com.google.gson.Gson ...

  6. IntelliJ cannot log in to GitHub上传github报错解决

    重装系统,新装的Intellij IDEA上新建的项目上传github失败,报错: invalid authentication token ... 此处多为本地git用户的用户名/邮箱,与之前设置的 ...

  7. BZOJ2229[Zjoi2011]最小割——最小割树

    题目描述 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中,则称这个划分 ...

  8. 大学实验3指导:利用单链表实现A-B

    实验目的:深入理解单链表的建立及操作 实验内容: 1.建立单链表A与B 2.实现主要的函数,查找.插入.删除等 3.实现操作A-B 步骤1:包含必要的函数库,对结构体LNode中的抽象数据类型Elem ...

  9. 安卓Android基础第五天

    使用HttpUrlConnection方式提交到服务器2 Get方式:组拼url地址把数据组拼到url上,有大小限制1kb(浏览器)或4kb(http协议) Post方式:post方式提交安全,没有大 ...

  10. 洛谷P1092 虫食算(算竞进阶习题)

    模拟+dfs 这个题就三行,搜索的话我们从右向左,从上到下.. 如果是在1,2行我们就直接枚举0-n所有数,但是到了第三行,最直接的就是填上这一列上前两行的数的和modN,在此基础上判断该填的数有没有 ...