-
Notifications
You must be signed in to change notification settings - Fork 13
arucoモジュールでマーカーを生成する
atinfinity edited this page May 8, 2017
·
18 revisions
OpenCVのarucoモジュールではマーカーを生成する機能が提供されています.
ここではサンプルコードを交えながらマーカー生成機能を紹介します.
- cv::aruco::getPredefinedDictionary:定義済みの辞書を取得する関数
- 第一引数:定義済みの辞書名
- 定義済みの辞書名はこちらを参照のこと
-
cv::aruco::DICT_6X6_250
は6x6 bitのマーカーで250通りのパターンがあることを示している -
cv::aruco::DICT_ARUCO_ORIGINAL
は本家ArUcoのマーカー.5x5 bitのマーカーで1024通りのパターンがあることを示している
- 第一引数:定義済みの辞書名
- cv::aruco::drawMarker:マーカー画像を生成する関数
- 第一引数:cv::Ptrcv::aruco::Dictionary型の変数
- 第二引数:マーカーID
- 第三引数:マーカー画像のサイズ
- 第四引数:マーカー画像を格納する変数
#include <opencv2/core.hpp>
#include <opencv2/aruco.hpp>
#include <opencv2/highgui.hpp>
int main(int argc, const char* argv[])
{
// dictionary生成
const cv::aruco::PREDEFINED_DICTIONARY_NAME dictionary_name = cv::aruco::DICT_4X4_50;
cv::Ptr<cv::aruco::Dictionary> dictionary = cv::aruco::getPredefinedDictionary(dictionary_name);
// マーカー画像生成
int marker_id = 0;
int side_pixels = 200;
cv::Mat marker_image;
cv::aruco::drawMarker(dictionary, marker_id, side_pixels, marker_image);
// 生成したマーカー画像を表示
cv::imshow("marker_image", marker_image);
cv::waitKey(0);
return 0;
}
ここではOpenCVのarucoモジュールで提供されているマーカー生成機能を紹介しました.
筆者は以下の環境で動作確認しました.
- OpenCV 3.2.0
- Windows 10 Pro(64bit)
- Visual Studio 2015 Professional