二维码
主流二维码的区别,选取,及使用技巧
- QR code的特点是其中三个角有“回”型定位点
- QR code主要用于储存更多的数据,定位稳定性比ArUco和AR Tag差
- 检测方形二维码的算法第一步先找出图像中的直线,再检测其是否能拼成四边形,因此确保二维码四角无遮挡非常重要。此外如果二维码粘贴在矩形底板上,矩形底板的外框也会被边缘检测算法检出,若距离二维码较近的话可能产生误检。可以考虑1)扩大底板大小,避免底板外框和二维码外框混淆,2)改变底板形状,如增加圆角?3)或者通过纹理破坏直线边缘?
- 针对不同定位需求选取不同类型的二维码,如对YuMi的关节进行定位,因为其关节处有圆形的塑料盖,可能可以考虑使用圆形的二维码。有点工作在无人机与其载荷间进行定位时使用不同尺寸(大小已知)的圆盘
AR Tag
-
https://medium.com/lifeandtech/custom-ar-tag-detection-tracking-manipulation-d7543b8569ea
-
也使用ar_track_alvar进行检测?
- http://www.yahboom.net/public/upload/upload-html/1637060179/ARTag.html
Alvar is newer and more advanced than ARToolkit.
- http://www.yahboom.net/public/upload/upload-html/1637060179/ARTag.html
Alvar
-
使用ROS的ar_track_alvar包跟踪AR Tag
-
参考教程?
ArUco
- 尺寸:4x4~7x7。尺寸是指像素尺寸(几乘几的格子),不包括外框
- 生成ArUco marker:链接
- OpenCV内置
- make sure opencv-python is not installed
- install opencv-contrib-python
- ArUoc over AprilTag
ArUco over AprilTag
- ArUco markers are built into the OpenCV library via the cv2.aruco submodule (i.e., we don’t need additional Python packages).
- The OpenCV library itself can generate ArUco markers via the cv2.aruco.drawMarker function.
- There are online ArUco generators that we can use if we don’t feel like coding (unlike AprilTags where no such generators are easily found).
- There are ROS (Robot Operating System) implementations of ArUco markers.
- And from an implementation perspective, ArUco marker detections tend to be more accurate, even when using the default parameters.
- aruco_ros
通过OpenCV定位ArUco
- 分为初始化、检出、三维定位三个步骤,参考详情
QR code
- 生成QR码
- QR.io