生活中的二维码


二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。

安装二维码识别功能包

选择自己相应版本的ROS来安装二维码识别功能包

//Indigo版本
sudo apt-get install ros-indigo-ar-teack-alvar
//Kinetic版本
sudo apt-get install ros-kinetic-ar-teack-alvar

安装完成后的文件可以在 计算机/opt/ros/indigo/share/ar_track_alvar下找到。这些文件已经包含在了robot_vison当中,下载robot_vision参照之前的博客

创建二维码

1.启动ROS

roscore

2.创建二维码

显示帮助信息

rosrun ar_track_alvar createMarker

可以通过文件,数字,网址,配置二维码大小等等

创建三个二维码,大小为边长5cm,二维码的内容分别为0、1、2.

roscd robot_vision/config
rosrun ar_track_alvar createMarker -s 5 0
rosrun ar_track_alvar createMarker -s 5 1
rosrun ar_track_alvar createMarker -s 5 2

这样就在catkin_ws/src/robot_vision/config文件夹下面创建了三个二维码。

数字0-8的二维码

3.二维码识别

roslaunch robot_vision usb_cam_with_calibration.launch
roslaunch robot_vision ar_taack_camera.launch

第一行为加载摄像头的标定文件,可以改为自己的摄像头标定文件,否则可能无法运行。

4.将二维码打印出来放置到 摄像头前面进行识别

5.查看识别到的二维码的位姿

rostopic echo /ar_pose_marker