Linux下通过V4L2驱动USB摄像头

V4L2是Video for Linux 2的简称,为Linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video*下。如果只有一个视频设备,通常为/dev/video0。V4L2是针对UVC(USB Video Class,即USB视频类,是一种为USB视频捕获设备定义的协议标准)免驱USB设备的编程框架,主要用于采集USB摄像头。

以海康威视USB摄像头为例:

基于ROS驱动:

1.安装V4L USB 相机ROS驱动

安装参考

创建ROS工作环境

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make

下载usb_cam包

cd catkin_ws/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git   
cd ..   
catkin_make

2.接入设备,执行find 命令,确定设备能够被识别

在这里插入图片描述

3.启动摄像头终端运行以下命令

一个终端运行

roscore

另一个终端运行

roslaunch usb_cam usb_cam-test.launch

拍摄画面

在这里插入图片描述
基于qv4l2界面程序

1.安装qv4l2

sudo apt install qv4l2

2.运行软件

界面如下,可以调整参数

在这里插入图片描述
设定好参数后,点击运行拍摄的画面

在这里插入图片描述

Logo

更多推荐