当前位置:   article > 正文

ROS-机器视觉学习笔记(一)驱动笔记本摄像头

ROS-机器视觉学习笔记(一)驱动笔记本摄像头

 我真佛了,我文章写了大半,新显示屏到了,我就想如何在ununtu系统上显示双屏幕,这样我写文章就不用看这个小小的笔记本屏幕了,说干就干,我就去网上找教程,结果,结果,我系统爆炸了,我找了一晚上的解决办法直接给我干到了半夜2点半还是没解决,只能重装了

ac3707e2f796476e98e567381f311ae4.jpeg

1.安装usb_cam功能包

驱动我们笔记本的相机我们用的是usb_cam功能包

安装命令:

  1. sudo apt-get install ros-melodic-usb-cam //ros版本为melodic
  2. 模板:
  3. sudo apt-get install ros-ros版本号-usb-cam

查看自己ros版本号的方法就算在终端中输入:

roscore

618df580594d450185c5e9dc3569ea7a.png

 我已经安装过了usb-cam

3a96cd02f2854176aedb0e7308e9baf2.png

启动驱动进行测试:

 roslaunch usb_cam usb_cam-test.launch 

3c407e66a3854e0ca0552e98f74a5f99.png

 我们安装ROS的时候就已经给我们安装好了图像显示工具,我们只需要在终端中输入:

rqt_image_view 

 a71deb273ba94ab680f5ee76343c04fb.png

显示图像类型:

 rostopic info /usb_cam/image_raw

1e4902e6a3294799916da2de237f5f27.png

查看图像消息:

rosmsg show sensor_msgs/Image 

1ff266f6e5c44343ba75027d52f87e36.png

Header: 消息头,包含消息序号,时间戳和绑定坐标系;

height:  图像的纵向分辨率;

width:图像的横向分辨率;

encoding:图像的编码格式,包含RGB、YUV等格式

is_bigendian: 图像数据的大小端存储模式;

step:一行图像数据的字节数量,作为数据的步长参数;

data:存储图像数据的数组,大小为step*height个字节

 查看压缩图像信息:

rosmsg show sensor_msgs/CompressedImage

0edcedc3367e41edb710a4c619f6e926.png

 format: 图像的压缩编码格式(JEPG、PNG、BMP)

data: 存储图像数据数组

2.摄像头标定

可以通过ls/dev/video*来查看电脑的设备号来选择外接或笔记本摄像头

下载相机标定包:

  1. sudo apt-get install ros-melodic-camera-calibration //ROS版本为melodic
  2. 模板:
  3. sudo apt-get install ros-ros版本-camera-calibration

f115d0e6e9d444c5baf1359d92e129a1.png

准备标定靶: 

网上下载一个就行了,建议是下载完后打印出来,但如果你跟我一样懒,那你也可以掏出你的平板保存到图库中。

0fb9e6b5f4af42aebc1d4c34ea0c441d.png

搞到标定靶了,我们要懂几个参数:

1.标定靶的size,上图就是一个8x6的标定靶,我们数行列的交点数就行,后面标定的时候我们需      要设置标定靶的size.

2.格子大小square,需要打印出来后进行测量,也就是每个小正方形格子的长宽,单位是米

开始标定:

先启动摄像头:

roslaunch usb_cam usb_cam-test.launch 

64257ad1de6c41e4afd758f166944e9b.png

 启动标定程序:

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

 这里的size和square就是我们上面说的标定靶的参数931a798e60864f80bdf4d79a5bcdc5d4.png

X:标定靶在摄像头视野中左右移动

Y:标定靶在摄像头视野中上下移动

Size:标定靶在摄像头视野中前后移动

Skew:标定靶在摄像头视野中转动(X为转动轴,之前因为自己的理解错误沿着Size轴转了半天)

打开标定程序后,开始调整标定靶的位置尽可能让标定靶在摄像头视野各个位置都出现过,当四个参数都显示绿色后,按键CALIBRATE变成绿色(有时候没标定完也会变绿色,但最好标定完再进行下一步),点击CALIBRATE按键(可能会卡一下),然后SAVE按键也会变成绿色,点击它,这时他就会保存我们的数据了。保存的路径:

/tmp/calibrationdata.tar.gz

找到压缩包里面的ost.yaml文件,将他保存到你想要的位置就行,修改ost.yaml文件中的camera_name,将其修改成:

head_camera

dd08e2e596f44f3182347177e0678158.png

ok到这里校准就完成了

(文章中可能会有瑕疵,欢迎大家指正)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/379877
推荐阅读
相关标签
  

闽ICP备14008679号