ubuntu调用外接摄像头

2023-12-18 11:50
文章标签 ubuntu 摄像头 调用 外接

本文主要是介绍ubuntu调用外接摄像头,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、ubuntu20.04调用外接摄像头(如果是Ubuntu18.04用melodic放在第二行)

1.检查是否连接摄像头

ls /dev/video*

输出/dev/video0  /dev/video1  /dev/video2  /dev/video3 ...表示可以

2.命令行下载软件调用USB摄像头

2.1使用应用程序camorama

输入命令:

sudo apt-get install camorama

安装完成后,在终端中输入命令:

camorama

即可显示出视频信息;

(如果指定打开video2,输入命令:camorama -d /dev/video2)

2.2 使用应用程序茄子(cheese)

输入命令:

sudo apt-get install cheese

(如果指定打开video1,输入命令:cheese -d /dev/video1)

装好后,用命令:

cheese

cheese的页面如下:

3.在yolov5上调用外接摄像头

通过第二步一直调试调用video0-3,你应该知道哪个video是外接摄像头了

那只需在调用yolov5的detect.py时给定--source='2'这个参数。其中要注意的是这个'2'是一个字符串,且这个2代表的就是外接摄像头的序号。

最终调用yolov5的检测函数的命令行应该是这样的:

python detect.py --weights runs/train/exp/weights/best.pt --save-txt --source='2'

其中的--weights和--save-txt不必与文中相同

二、使用ROS的ros-noetic-usb-cam调用相机

1 ros-noetic-usb-cam使ROS的官方示例程序之一,用于启动摄像头,获取图像,并显示在屏幕上。这里记录ros-noetic-usb-cam的安装、接口调试和使用方法。

ros-noetic-usb-cam的安装流程
ros-noetic-usb-cam的安装包括两种,第一种是使用Ubuntu的apt-get安装:

(如果是Ubuntu18.04用melodic放在第二行)

sudo apt-get install ros-noetic-usb-cam
sudo apt-get install ros-melodic-usb-cam

其中,"ros-noetic-usb-cam"中的"noetic"与用户当前的Ubuntu20.04版本相匹配

ros-noetic-usb-cam的接口调试方法
考虑ros-noetic-usb-cam默认调用的摄像机接口为/dev/video0,与RealSense的接口编号不一致,若直接运行ros-noetic-usb-cam,将无法启动RealSense的摄像机。接口的修改方法可参考(https://blog.csdn.net/benchuspx/article/details/108765979):

第一步,进入ros-noetic-usb-cam的源代码位置:

roscd usb_cam



第二步,打开文件

vim launch/usb_cam-test.launch



第三步,调整接口参数

<param name="video_device" value="/dev/video2" />  

其中,接口号为video2,若运行,则调用RealSense的黑白相机。也可以调整为其它,若运行,则调用RGB相机。

ros-noetic-usb-cam的运行方法
打开终端,运行命令如下,

roslaunch usb_cam usb_cam-test.launch 

2 使用Python和OpenCV调用相机
OpenCV是常用的计算机视觉库和机器学习库,本工作使用OpenCV打开和处理RealSense的相机数据,编程语言选择Python 启动相机的代码如下,

import cv2
import numpycap = cv2.VideoCapture(4) #调整参数实现读取视频或调用摄像头while cap.isOpened():ret, frame = cap.read()cv2.imshow("cap", frame)if cv2.waitKey(1) & 0xff == ord('q'):breakcap.release()
cv2.destroyAllWindows()


3 在ROS下使用RVIZ调用Realsense相机
在ROS下启动RealSense

工作中准备两个终端,分别执行ROS的RealSense和RVIZ。

其中,第一个终端运行RealSense 命令如下:

roslaunch realsense2_camera rs_camera.launch

第二个终端运行RVIZ命令如下:

rviz

接着在RVIZ界面中,增加RGB相机和深度相机


参考文章:https://blog.csdn.net/qq_32454557/article/details/112692201

参考文章:https://blog.csdn.net/weixin_48250354/article/details/109309042

这篇关于ubuntu调用外接摄像头的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508284

相关文章

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

python如何调用java的jar包

《python如何调用java的jar包》这篇文章主要为大家详细介绍了python如何调用java的jar包,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录一、安装包二、使用步骤三、代码演示四、自己写一个jar包五、打包步骤六、方法补充一、安装包pip3 install

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

java对接海康摄像头的完整步骤记录

《java对接海康摄像头的完整步骤记录》在Java中调用海康威视摄像头通常需要使用海康威视提供的SDK,下面这篇文章主要给大家介绍了关于java对接海康摄像头的完整步骤,文中通过代码介绍的非常详细,需... 目录一、开发环境准备二、实现Java调用设备接口(一)加载动态链接库(二)结构体、接口重定义1.类型

Java调用C#动态库的三种方法详解

《Java调用C#动态库的三种方法详解》在这个多语言编程的时代,Java和C#就像两位才华横溢的舞者,各自在不同的舞台上展现着独特的魅力,然而,当它们携手合作时,又会碰撞出怎样绚丽的火花呢?今天,我们... 目录方法1:C++/CLI搭建桥梁——Java ↔ C# 的“翻译官”步骤1:创建C#类库(.NET

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

C/C++和OpenCV实现调用摄像头

《C/C++和OpenCV实现调用摄像头》本文主要介绍了C/C++和OpenCV实现调用摄像头,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录准备工作1. 打开摄像头2. 读取视频帧3. 显示视频帧4. 释放资源5. 获取和设置摄像头属性