zoukankan      html  css  js  c++  java
  • usb摄像头的检测

    下面写一下过程:

    如果你能在http://www.ideasonboard.org/uvc/找到你的摄像头的ID,即UVC支持的,那么就可以在linux下使用了。至于从哪个版本开始内核支持UVC,官方的话是“Linux 2.6.26 and newer includes the Linux UVC driver natively.”

    1、查看摄像头ID:

    [root@151 dev]# lsusb

    Bus 002 Device 013: ID 0ac8:3313 Z-Star Microelectronics Corp.

    0xc8:3313在UVC中支持了。

    2、插入摄像头后,就可以在/dev/下查看是否有video设备文件:

    [root@151 dev]# ls | grep video

    video

    video0

    其中,video是video0的连接。如果没有再现,可能UVC没有配置到内核中,重新配置就可以了(大致在Device DriversàMultimedia devicesàVideo capture adaptersàV4L USB devices下面)。如果内核配置了,还是不出现,可以使用modprobe uvcvideo来加载该模块。

    3、先看看摄像头的相关信息:

    lshal | grep Cam

    出现:

      info.product = 'Vega USB 2.0 Camera.'  (string)

      usb_device.product = 'Vega USB 2.0 Camera.'  (string)

      usb.interface.description = 'Vega USB 2.0 Camera.'  (string)

      info.product = 'Vega USB 2.0 Camera.'  (string)

      input.product = 'Vega USB 2.0 Camera.'  (string)

      info.product = 'Vega USB 2.0 Camera.'  (string)

    对USB有研究的,就很熟悉这些字段。

     

    再看一下系统能不能识别出摄像头:

    [root@151 log]# dmesg  | grep Cam

    uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)

    input: Vega USB 2.0 Camera. as /class/input/input6

    usb 2-7: Product: Vega USB 2.0 Camera.

    uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)

    input: Vega USB 2.0 Camera. as /class/input/input7

    usb 2-7: Product: Vega USB 2.0 Camera.

    uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)

    input: Vega USB 2.0 Camera. as /class/input/input8

    usb 2-7: Product: Vega USB 2.0 Camera.

     

    [root@151 ~]# dmesg | grep video

    pci 0000:05:00.0: Boot video device

    Linux video capture interface: v2.00

    usbcore: registered new interface driver uvcvideo

    uvcvideo 2-7:1.0: usb_probe_interface

    uvcvideo 2-7:1.0: usb_probe_interface - got id

    uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)

    uvcvideo 2-7:1.0: usb_probe_interface

    uvcvideo 2-7:1.0: usb_probe_interface - got id

    uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)

    uvcvideo 2-7:1.0: usb_probe_interface

    uvcvideo 2-7:1.0: usb_probe_interface - got id

    uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)

    哈哈,识别出来了!可以测试了。

    4、我使用的软件是luvcview,这个软件google就可以找到的。安装过程很简单,——make,make install就可以了。

    下面这个过程是测试过程,从看到图像到结束的过程:

    [root@151 dev]# luvcview -d /dev/video0 -f yuv -s 640x480

    uvcview verion 0.1.4

     size 640 height: 480

    Video driver: x11

    A window manager is available

    video /dev/video0

     

    Stop asked

     Clean Up done Quit

    [root@151 dev]# 

    解释命令:

    -d 设备名,这里/dev/video或/dev/video0都可以,因为它们都是一个文件

    -f 格式,有yuv和jpg两种,后者测试不行

    -s 大小,能支持的最大尺度可能由luvcview决定,也可能由摄像头决定,(应该是后者,暂没有研究)

    更具体的参见luvcview目录下的README文件。

    另外,如果没有插入摄像头,即使modprobe uvcvideo也不会出现/dev/video设备文件;插入摄像头,即使没有modprobe uvcvideo,也会出现/dev/video设备文件,当然这是我的测试,没有代表性,也没有理论根据的。

  • 相关阅读:
    二开案例.开发环境.从零开发第一个插件和数据字典
    二开案例.开发环境.调试插件代码
    C#中@的用法总结
    金蝶云社区年度资料合辑
    MySQL知识框架[博文汇总-持续更新]
    Redis基础篇(五)AOF与RDB比较和选择策略
    Redis基础篇(四)持久化:内存快照(RDB)
    单调栈技巧总结
    Redis基础篇(三)持久化:AOF日志
    Redis基础篇(二)高性能IO模型
  • 原文地址:https://www.cnblogs.com/zxouxuewei/p/5012138.html
Copyright © 2011-2022 走看看