ROS 教程之 vision : 用笔记本摄像头获取图像

如何用笔记本自带的摄像头采集图像

尝试一:安装Webcam 驱动

参考

大神白巧克力亦唯心博客:
链接: ROS 教程之 vision : 用各种摄像头获取图像.

sudo apt-get install git-core
cd ~/catkin_ws/src     #catkin_ws/src对应你自己建立的catkin工作空间
git clone https://github.com/ericperko/uvc_cam.git
rosmake uvc_cam

ROS 教程之 vision : 用笔记本摄像头获取图像_第1张图片
报错:未找到解决原因。我猜没有重新编译的问题

尝试二:重新在ROS下安装usb_cam

参考

w²大大博客:
链接: ROS下usb_cam的安装.

一、下载usb_cam源码并配置环境

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

ROS 教程之 vision : 用笔记本摄像头获取图像_第2张图片

cd ..
catkin_make

在这里插入图片描述
又报错TT:

The devel space at ‘/home/wxh/catkin_ws/devel’ was previously built by ‘catkin build’. Please remove the devel space or pick a different devel space.
解决办法:

catkin clean 
catkin init

ROS 教程之 vision : 用笔记本摄像头获取图像_第3张图片
再次catkin_make:
再次报错!
ROS 教程之 vision : 用笔记本摄像头获取图像_第4张图片

解决办法1:没有用。。

sudo apt-get install ros-melodic-bfl

ROS 教程之 vision : 用笔记本摄像头获取图像_第5张图片
解决办法2:
发现问题:No package ‘libv4l2’ found 搜索后

sudo apt-get install libv4l-dev

ROS 教程之 vision : 用笔记本摄像头获取图像_第6张图片

输入下面语句,ctakin_make成功

catkin clean 
catkin init
catkin_make

ROS 教程之 vision : 用笔记本摄像头获取图像_第7张图片
输入以下语句,配置环境结束

source ./devel/setup.bash

在这里插入图片描述

二、编译usb_cam

cd usb_cam
mkdir build
cd build
cmake ..

ROS 教程之 vision : 用笔记本摄像头获取图像_第8张图片

 make

ROS 教程之 vision : 用笔记本摄像头获取图像_第9张图片

安装完毕,测试电脑摄像头

(1)开一个新终端,运行roscore

roscore

ROS 教程之 vision : 用笔记本摄像头获取图像_第10张图片
(2)在~/catkin_ws/src/usb_cam/launch文件夹下再建一个终端,
运行usb_cam中的launch文件:

roslaunch usb_cam usb_cam-test.launch

ROS 教程之 vision : 用笔记本摄像头获取图像_第11张图片
又又又报错:
ROS 教程之 vision : 用笔记本摄像头获取图像_第12张图片
ROS 教程之 vision : 用笔记本摄像头获取图像_第13张图片
错误:

Opening streaming device /dev/video0
Cannot identify device by name ‘/dev/video0’ (2)
[ERROR] [1681895427.032392265]: Error starting device

找到解决方案:ROS学习记录001:无法打开笔记本摄像头[ERROR] [1575905480.653251919]: CANNOT IDENTIFY ‘/DEV/VIDEO0’: 2, NO SUCH FILE
link:https://www.freesion.com/article/84131042801/

查看虚拟机设置,果然未勾选,

ROS 教程之 vision : 用笔记本摄像头获取图像_第14张图片
解决方法:
第一步:关闭学虚拟机,选usb3,勾上蓝色圈圈
ROS 教程之 vision : 用笔记本摄像头获取图像_第15张图片
第二步:打开虚拟机,虚拟机上能找到摄像头设备,勾选“连接(断开与主机连接)”
ROS 教程之 vision : 用笔记本摄像头获取图像_第16张图片
出现ROS 教程之 vision : 用笔记本摄像头获取图像_第17张图片
点击确定,出现以下提示:
ROS 教程之 vision : 用笔记本摄像头获取图像_第18张图片
点击确定。

再次尝试测试电脑摄像头

尝试:

再运行测试电脑摄像头的(1)(2)步骤
打开一个新终端,运行roscore,在~/catkin_ws/src/usb_cam/launch文件夹下再建一个终端输入:roslaunch usb_cam usb_cam-test.launch

结果:

。。。直接蓝屏了, 我以为我开太多网页了,然后关闭网页,只开虚拟机再次运行还是不行,又蓝屏了

原因:

VMware15会使得蓝屏,重启后下载安装VMware16,再次打开虚拟机,开启usb3接口后不会在蓝屏。
ROS 教程之 vision : 用笔记本摄像头获取图像_第19张图片

VMware16安装教程:https://www.bilibili.com/video/BV1gL4y1H784/?spm_id_from=333.337.search-card.all.click

再次进入launch文件夹,再运行usb_cam中的launch文件,又报错了,不过进步了,摄像头好歹亮起来了,但是没有图像显示。
ROS 教程之 vision : 用笔记本摄像头获取图像_第20张图片
搜索得到:如果出现报错“sh: 1: v4l2-ctl: not found”则需要安装v4l2
运行:

sudo apt-get install v4l-utils

安装后尝试:

roslaunch usb_cam usb_cam-test.launch device:=/dev/video0
roslaunch usb_cam usb_cam-test.launch

都没有直接显示摄像头
ROS 教程之 vision : 用笔记本摄像头获取图像_第21张图片
吐了,别人实现咋那么简单啊?

之后发现是在博客:https://blog.csdn.net/heyijia0327/article/details/41623419得到灵感
1、进入launch文件夹,再运行usb_cam中的launch文件:

roslaunch usb_cam usb_cam-test.launch device:=/dev/video0

2、开启一个新终端,输入:

rosrun image_view image_view image:=/usb_cam/image_raw

成功调用摄像头显示图像!!耗费两天时间完成!哭泣!
ROS 教程之 vision : 用笔记本摄像头获取图像_第22张图片

你可能感兴趣的:(数码相机,计算机视觉)