前提・実現したいこと
OpenCVのarucoモジュールを使いたい.
発生している問題・エラーメッセージ
引用テキスト
error LNK2019: 未解決の外部シンボル "struct cv::Ptr<class cv::aruco::Dictionary> __cdecl cv::aruco::getPredefinedDictionary(enum cv::aruco::PREDEFINED_DICTIONARY_NAME)" (?getPredefinedDictionary@aruco@cv@@YA?AU?$Ptr@VDictionary@aruco@cv@@@2@W4PREDEFINED_DICTIONARY_NAME@12@@Z) が関数 main で参照されました。 1>aruco5.obj : error LNK2019: 未解決の外部シンボル "public: static struct cv::Ptr<struct cv::aruco::DetectorParameters> __cdecl cv::aruco::DetectorParameters::create(void)" (?create@DetectorParameters@aruco@cv@@SA?AU?$Ptr@UDetectorParameters@aruco@cv@@@3@XZ) が関数 main で参照されました。 1>aruco5.obj : error LNK2019: 未解決の外部シンボル "void __cdecl cv::aruco::detectMarkers(class cv::_InputArray const &,struct cv::Ptr<class cv::aruco::Dictionary> const &,class cv::_OutputArray const &,class cv::_OutputArray const &,struct cv::Ptr<struct cv::aruco::DetectorParameters> const &,class cv::_OutputArray const &,class cv::_InputArray const &,class cv::_InputArray const &)" (?detectMarkers@aruco@cv@@YAXAEBV_InputArray@2@AEBU?$Ptr@VDictionary@aruco@cv@@@2@AEBV_OutputArray@2@2AEBU?$Ptr@UDetectorParameters@aruco@cv@@@2@200@Z) が関数 main で参照されました。 1>aruco5.obj : error LNK2019: 未解決の外部シンボル "void __cdecl cv::aruco::drawDetectedMarkers(class cv::_InputOutputArray const &,class cv::_InputArray const &,class cv::_InputArray const &,class cv::Scalar_<double>)" (?drawDetectedMarkers@aruco@cv@@YAXAEBV_InputOutputArray@2@AEBV_InputArray@2@1V?$Scalar_@N@2@@Z) が関数 main で参照されました。 1>C:\Users\daisuke\Documents\c++\aruco5\x64\Debug\aruco5.exe : fatal error LNK1120: 4 件の未解決の外部参照
該当のソースコード
c++
1#include "pch.h" 2#include <iostream> 3#include<opencv2/aruco/dictionary.hpp> 4#include<opencv2/videoio.hpp> 5#pragma comment(lib, "opencv_world320d.lib") 6#include<opencv2/core.hpp> 7#include<opencv2/highgui.hpp> 8#include<opencv2/imgcodecs.hpp> 9#include<opencv2/imgproc.hpp> 10#include<opencv2/aruco/aruco.hpp> 11 12int main() 13{ 14 cv::VideoCapture inputVideo; 15 inputVideo.open(0); 16 17 cv::Mat cameraMatrix, distCoeffs; 18 19 cv::Ptr<cv::aruco::Dictionary> dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::DICT_6X6_250); 20 21 while (inputVideo.grab()) { 22 cv::Mat image, imageCopy; 23 inputVideo.retrieve(image); 24 image.copyTo(imageCopy); 25 26 std::vector<int> ids; 27 std::vector<std::vector<cv::Point2f>> corners; 28 cv::aruco::detectMarkers(image, dictionary, corners, ids); 29 30 if (ids.size() > 0) { 31 cv::aruco::drawDetectedMarkers(imageCopy, corners, ids); 32 33 } 34 35 cv::imshow("out", imageCopy); 36 char key = (char)cv::waitKey(30); 37 if (key == 27) 38 break; 39 } 40 41} 42
試したこと
リンカーの確認はしましたが出来ません.
C:\opencv\build\include\opencv2\aruco
C:\opencv\build\x64\vc14\lib
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/19 08:16
2018/12/19 08:25
2018/12/19 11:55
2018/12/20 04:51
2018/12/20 09:23