【发布时间】:2020-12-22 19:03:49
【问题描述】:
如何生成 ChAruco 板校准?我试图在谷歌搜索中找到一个现有的板,但我找不到它。
谢谢, 卡洛斯
【问题讨论】:
-
关于如何创建和检测 ChAruco 板的完整教程:github.com/opencv/opencv_contrib/blob/3.1.0/modules/aruco/…
如何生成 ChAruco 板校准?我试图在谷歌搜索中找到一个现有的板,但我找不到它。
谢谢, 卡洛斯
【问题讨论】:
使用CharucoBoard Class Reference 中所述的cv::aruco::CharucoBoard::draw 创建图像,然后使用imwrite 将图像写入文件。
【讨论】:
您可以在此处生成 ChArUco 模式并将其保存为矢量图形 (PDF):https://calib.io/pages/camera-calibration-pattern-generator 这样您就可以尽可能地获得最佳的打印精度。
【讨论】:
Charuco 板(svg 格式)可以在这里生成:MarkrMakr
【讨论】:
这是一个关于如何创建 Charuco 板并将其保存为图像的 C++ 示例:
#include <opencv2/aruco/charuco.hpp>
#include <opencv2/imgcodecs.hpp>
int main(void)
{
cv::Mat m(700, 500, CV_8UC1);
cv::Ptr< cv::aruco::Dictionary > dict = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_4X4_50);
cv::Ptr< cv::aruco::CharucoBoard > charuco = cv::aruco::CharucoBoard::create(7, 5, 0.04, 0.02, dict);
charuco->draw(cv::Size(700, 500), m, 0, 1);
cv::imwrite("board.png", m);
return 0;
}
【讨论】:
opencv_contrib 中会内置一个 pattern_generator 文件夹中的那个地方:opencv_contrib/modules/aruco/misc/pattern_generator/
您可以使用它来将标记生成为矢量图形并打印出来。
https://github.com/opencv/opencv_contrib/pull/2250
PS。大声笑,我把工具放到官方帮助脚本/工具中,现在你们没有理由删除我的答案XDDD....
【讨论】: