前提・実現したいこと
この記事<https://qiita.com/lilac0011/items/9fe6e061c3a036689a36>を参考にvisual studio2017でOpenCVとtesseractを使用できるようにしたいです.
OpenCVのコマンドは問題なく動くのですが,サンプルコードのcv::text::OCRTesseract::createが未解決の外部参照であるというLNK1120,LNK2001のエラーメッセージが出てしまいます.
ビルドは成功していますが,ビルド中の画面にOpenCV_contribのものが流れているとき,現在のコードでは使用できない文字を含んでいます.Unicodeで保存し直してください.というメッセージが流れていましたが,これは関係しているのでしょうか.
発生している問題・エラーメッセージ
エラーメッセージ エラー LNK1120 1 件の未解決の外部参照 エラー LNK2001 外部シンボル ""public: static struct cv::Ptr<class cv::text::OCRTesseract> __cdecl cv::text::OCRTesseract::create(char const *,char const *,char const *,int,int)" (?create@OCRTesseract@text@cv@@SA?AU?$Ptr@VOCRTesseract@text@cv@@@3@PEBD00HH@Z)" は未解決です。
該当のソースコード
ソースコード(コードの一部) Mat image = cv::imread("www.jpg"); cv::cvtColor(image, gray, COLOR_RGB2GRAY); // 文字認識クラスのインスタンス生成 auto ocr = cv::text::OCRTesseract::create("C://tesse//Tesseract-OCR//tessdata", "jpn"); std::string text; std::vector<cv::Rect> boxes; std::vector<std::string> words; vector<float> confidences; // 文字認識の実行 ocr->run(gray, text, &boxes, &words, &confidences); // 結果出力 printf("%s\n", text.c_str()); // 文字のかたまりごとに出力 printf(" 文字 | 位置 | 大きさ | 信頼度\n"); printf("-----------+------------+------------+----------\n"); for (int i = 0; i < boxes.size(); i++) { printf("%-10s | (%3d, %3d) | (%3d, %3d) | %f\n", words[i].c_str(), boxes[i].x, boxes[i].y, boxes[i].width, boxes[i].height, confidences[i]); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。