目录

1. 安装v4l-utils

2. 查找连接的摄像头列表

3. 查看各相机支持的分辨率、帧率、像素格式等参数

4. 注意事项

5. OpenCV(C++)调用摄像头代码


本博文描述了在Ubuntu系统下如何使用v4l-utils工具来查看所连接摄像头(包含USB摄像头及树莓派摄像头)信息,主要内容如下:
1. 获取摄像头列表;
2. 获取各摄像头支持的分辨率、帧率、像素格式;
3. 基于OpenCV抓取摄像头图像。

1. 安装v4l-utils

sudo apt-get install v4l-utils

如果有以下报错:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package v4l-utils is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another sourceE: Package 'v4l-utils' has no installation candidate

则先更新源,再安装即可。

sudo apt-get update

2. 查找连接的摄像头列表

ls /dev/video*

输出

/dev/video0  /dev/video1

v4l2-ctl --list-devices

输出

vi-output, imx219 7-0010 (platform:54080000.vi:0):/dev/video0USB Camera (usb-70090000.xusb-2.3):/dev/video1

3. 查看各相机支持的分辨率、帧率、像素格式等参数

v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMTIndex       : 0Type        : Video CapturePixel Format: 'RG10'Name        : 10-bit Bayer RGRG/GBGBSize: Discrete 3264x2464Interval: Discrete 0.048s (21.000 fps)Size: Discrete 3264x1848Interval: Discrete 0.036s (28.000 fps)Size: Discrete 1920x1080Interval: Discrete 0.033s (30.000 fps)Size: Discrete 1640x1232Interval: Discrete 0.033s (30.000 fps)Size: Discrete 1280x720Interval: Discrete 0.017s (60.000 fps)
v4l2-ctl -d /dev/video1 --list-formats-ext
ioctl: VIDIOC_ENUM_FMTIndex       : 0Type        : Video CapturePixel Format: 'MJPG' (compressed)Name        : Motion-JPEGSize: Discrete 1920x1080Interval: Discrete 0.033s (30.000 fps)Size: Discrete 1280x720Interval: Discrete 0.033s (30.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)Index       : 1Type        : Video CapturePixel Format: 'YUYV'Name        : YUYV 4:2:2Size: Discrete 1920x1080Interval: Discrete 0.200s (5.000 fps)Size: Discrete 1280x720Interval: Discrete 0.100s (10.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)

4. 注意事项

(1)如上所示的/dev/video1 USB摄像头支持 MJPG 和 YUYV 两种像素格式,每种格式支持多种分辨率及帧率。如果需要实时抓取1080p的图像,则需要采用MJPG格式,默认的YUYV格式不能满足实时抓取需求。

(2)另外,调用摄像头时传入的摄像头设备、图像帧宽、帧高、帧率,应与v4l2-ctl 打印的参数一致。调用代码如下。

5. OpenCV(C++)调用摄像头代码

#include <iostream>
#include <opencv2/opencv.hpp>int main()
{cv::VideoCapture capture;capture.open("/dev/video1", cv::CAP_V4L2);capture.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M','J','P','G'));capture.set(cv::CAP_PROP_FRAME_WIDTH, 1920);capture.set(cv::CAP_PROP_FRAME_HEIGHT, 1080);capture.set(cv::CAP_PROP_FPS, 30);cv::Mat frame;while (1){capture >> frame;if (!frame.empty()){cv::imshow("frame", frame);}if (cv::waitKey(1) == 27)break;}return 0;
}

Ubuntu系统下查看摄像头参数并基于OpenCV调用相关推荐

  1. 【linux】Ubuntu 系统下查看显卡相关信息

    Ubuntu 系统下查看显卡相关信息 查看显卡信息 root@ubuntu:/home/ubuntu# lspci |grep -i vga 显示当前 GPU 使用情况 root@ubuntu:/ho ...

  2. Ubuntu系统下查看显卡相关信息

    今天抄了<PyTorch深度学习>书上的一个代码,看看识别效果和训练过程,同时想看一下显卡的状态,所以就找了篇博客参考,这里进行记录. Ubuntu系统下查看显卡相关信息 nvidia-s ...

  3. Ubuntu 系统下查看CPU和GPU温度

    Ubuntu 系统下查看CPU和GPU温度 lm-sensors lm-sensors软件可以帮助我们来监控主板,CPU 的工作电压,风扇转速.温度等数据.这些数据我们通常在主板的 BIOS 也可以看 ...

  4. Linux、ubuntu系统下查看显卡型号、显卡信息详解

    本文将介绍Linux系统下查看显卡硬件信息内容如下: 如何在ubuntu系统中查看显卡型号.(其他文章大多只介绍了命令而未介绍如何对应显卡型号) 在ubuntu系统中显卡详细信息,以及所代表的含义. ...

  5. ubuntu 如何查看计算机名称,ubuntu系统下查看电脑配置的详细教程

    一小伙伴的电脑是装的ubuntu系统,一天,我去他那,他问我,你看我电脑配置如何?我当时肯定不会,不过现在会了,这里便分享给大家如何看配置. 方法一: 1.因为朋友安装的是14.10版ubuntu,所 ...

  6. ubuntu系统下mysql数据库的备份与恢复

    shell脚本的形式备份/恢复mysql数据库(可通过定时任务定时执行). 1.mysql数据库的备份脚本如下: #!/bin/sh #mysqldump备份程序执行路径 DUMP=/usr/bin/ ...

  7. Ubuntu 系统实时查看CPU温度和GPU温度

    Ubuntu 系统实时查看CPU和GPU温度: 方式一:lm-sensors 安装lm-sensors: sudo apt install lm-sensors 实时查看CPU和GPU 的温度(每1s ...

  8. 基于虚拟机Ubuntu系统下C语言简单编写程序

    目录描述 前言 一.修改系统参数 1.查看Ubuntu版本 2.原文件备份 3.下载清华源 二.编写"hello world"C语言程序 1.安装vim 2.建立hello.c 3 ...

  9. 基于ubuntu系统下的USB设备绑定

    目录 前言 基本原理 实现方法 前言 在Ubuntu系统的使用中,没有对USB进行设备进行绑定的话,每次插拔或者顺序的不同,都会造成ttyUSB端口号的改变,不利于实际应用,一劳永逸地方法就是对其进行 ...

最新文章

  1. 15.1 自定义分词器
  2. python中文开发环境_Eclipse搭建Python开发环境+Python中文处理
  3. 解读GAN及其 2016 年度进展
  4. textmetric结构
  5. 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
  6. HDU5528 - Count a * b
  7. 互联网和大数据是什么意思_大数据和互联网的区别是什么意思
  8. STM32液晶显示HT1621驱动原理及程序代码
  9. MVVM绑定多层级数据到TreeView并设置项目展开
  10. 去阿里面试,被一道 Spring 面试题难倒了
  11. 4月4日 逻辑回归(Logistic Regression-LR)与SVM
  12. MySQL的InnoDB存储引擎
  13. convertTo函数的用法
  14. 职称计算机 将计算机broad_1下的e盘映射为k盘网络驱动器,职称计算机考试网络基础)试题及答案操作.doc...
  15. HTML+CSS+JAVASCRIPT 高仿低配网页版网易云音乐播放器
  16. Android手机简易计时器(Chronometer实现)
  17. 通过码云来学习Git的进阶技能(文末附福利!)
  18. 乡镇级echarts地图json获取、各省市区地图json文件
  19. Redis-5-实际应用
  20. JAVAEE学习day02

热门文章

  1. 【Unity数据持久化_Json】(二)Excel转Json
  2. 计算机二级python证书用处大吗_电磁流量计,涡街流量计,涡轮流量计,V锥流量计,流量计-南京赛亚特福精密仪器有限公司...
  3. ConcurrentHashMap 与 CAS
  4. 用react模仿知乎的用户头像裁剪组件
  5. oracle数据安全管理实验,第四次Oracle数据库上机实验-bistu
  6. 华为鸿蒙系统学习笔记6-方舟编译器深度解析
  7. optionnally mysql_MySQL数据库之关于windows x64安装MySQL-python失败解决
  8. [微语20.12.01] 心静
  9. 全国计算机一级office2010,全国计算机等级考试一级MS Office2010教程
  10. EtherCAT SDO分段下载/上传说明