ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定

文章目录

  • 前言
  • 一、usb_cam安装
    • 1.下载usb_cam包
    • 2.usb_cam文件夹下编译
  • 二、启动ros下usb摄像头
  • 三、usb_camera启动失败出现的问题
    • 1、修改usb3.0接入虚拟机
    • 2、虚拟机内连接摄像头
  • 四、ros实现相机标定
    • 1、检查文件
    • 2、进行标定
    • 3、采集样本数据


前言

文章基于ubuntu18.04下的ros Melodic,关于ubuntu安装以及ros安装不再赘述,主要是ROS下的usb_cam程序包安装,以及出现的问题,最后是使用ros进行标相机标定。


一、usb_cam安装

1.下载usb_cam包

进入catkin_ws在src文件夹下,下载usb_cam包。gitclone失败就多试几次。

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

成功后如下图:
ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第1张图片

2.usb_cam文件夹下编译

建立一个名为build的文件夹,cd进入后执行编译命令如下:

cmake ..
make

成功后如下图:
ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第2张图片


二、启动ros下usb摄像头

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

roscore

(2)再新开一个终端到工作空间根目录catkin_ws文件夹下执行catkin_make命令:

catkin_make

(3)在当前终端下,在根目录(catkin_ws)设置环境变量:

source devel/setup.bash

(4)在根目录下当前终端执行下执行,启动摄像头:

roslaunch usb_cam usb_cam-test.launch

成功如下图,且摄像头画面出现:
ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第3张图片


三、usb_camera启动失败出现的问题

ERROR: cannot launch node of type [image_view/image_view]: image

Cannot identify ‘/dev/video0’: 2, No such file or directory

1、修改usb3.0接入虚拟机

ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第4张图片

2、虚拟机内连接摄像头

ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第5张图片

四、ros实现相机标定

1、检查文件

一般来说正常安装ros都是包含了camera_calibration,输入下面命令检查一下:

rosdep install camera_calibration
#出现All required rosdeps installed successfully表示已包含

2、进行标定

 rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0245 image:=/usb_cam/image_raw camera:=/usb_cam

执行成功会出现下图:
ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第6张图片

3、采集样本数据

为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的,离得近的远的都要有,最好保证所有的进度条都是绿色满格的 。ubuntu18.04 + ROS Melodic + usb摄像头 + 相机标定_第7张图片

界面中的:
x:表示标定板在视野中的左右位置。
y:表示标定板在视野中的上下位置。
size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。
skew:标定板在视野上下左右中的倾斜位置。

你可能感兴趣的:(计算机视觉,vscode,linux,人工智能,python)