原文地址:http://wiki.ros.org/apriltags2_ros/Tutorials/Detection in a Single Image
描述:本教程教您如何在单个图像中使用此包进行标记和标记束检测。
单个图像检测器检测单个图像中的标签和标签束。典型的用例是检查视频流的单个帧中的检测,您可能认为这是有问题的。
1 Parameter Setup
config/settings.yaml和config/tags.yaml的设置与视频流检测器相同。
1.1 launch/single_image_client.launch
Here you must set the camera intrinsics fx, fy, cx and cy,You obtain these parameters typically from a camera intrinsics calibration。
2 Run the Detector
单个图像检测器基于ROS服务。您提供了图像的文件路径,服务器通过AprilTag检测器(与视频流节点相同的检测器)运行它,并提供检测结果并保存输出图像。服务器发布关于与视频流检测器相同的主题的结果,但是没有发布/tag_detections_image(而是将其保存为输出图像)。首先运行服务的服务器节点:
$ roslaunch apriltags2_ros single_image_server.launch
现在可以运行客户机来检测图像中的标签和标记包:
$ roslaunch apriltags2_ros single_image_client.launch image_load_path:=<FULL PATH TO INPUT IMAGE> image_save_path:=<FULL PATH TO OUTPUT IMAGE>
PNG图像工作良好(其他图像也可能工作,但尚未测试)。客户端将运行,您将看到服务器打印完成!如果一切顺利,客户端将退出(服务器将继续运行,等待另一个单独的图像检测服务调用)。输出图像将在指定的输出图像路径处。如果在config/settings.yaml中有tag_debug:1,那么中间的AprilTag 2算法的图像处理图像将在~/.ros as*.pnm图像文件中找到(其中~是您的主目录)。