• 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    

    少壮不识cpp,老大方知cpp可怕
  • 相关阅读:
    基于XML的声明式事务控制
    spring中JdbcTemplate使用
    四种常用的通知类型(xml)
    AOP配置步骤(XML)
    12388. 图论割边
    12389. 割点
    12206. 电缆网络
    12178. 破坏牛棚
    java反射笔记
    java单元测试
  • 原文地址:https://www.cnblogs.com/Jacket-K/p/7326017.html
Copyright © 2020-2023  润新知