一、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-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的摄像机。接口的修改方法可参考():
第一步,进入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 = ad()cv2.imshow("cap", frame)if cv2.waitKey(1) & 0xff == ord('q'):lease()
cv2.destroyAllWindows()
3 在ROS下使用RVIZ调用Realsense相机
在ROS下启动RealSense
工作中准备两个终端,分别执行ROS的RealSense和RVIZ。
其中,第一个终端运行RealSense 命令如下:
roslaunch realsense2_camera rs_camera.launch
第二个终端运行RVIZ命令如下:
rviz
接着在RVIZ界面中,增加RGB相机和深度相机
参考文章:
参考文章:
本文发布于:2024-02-02 07:13:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170682923642205.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |