質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

Tesseract

Tesseractは、Googleが提供しているオープンソースのOCRエンジンです。機械学習があり60以上の言語に対応でき、日本語の文字認識も可能です。さらに精度を上げることもできます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Q&A

解決済

1回答

1327閲覧

cv::text::OCRTesseract::createをvisual studioでビルドすると未解決の外部参照LNK1120,LNK2001のエラーが出てしまう

_research

総合スコア4

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

Tesseract

Tesseractは、Googleが提供しているオープンソースのOCRエンジンです。機械学習があり60以上の言語に対応でき、日本語の文字認識も可能です。さらに精度を上げることもできます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

0グッド

0クリップ

投稿2020/04/03 08:41

前提・実現したいこと

この記事<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]); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決することができました

投稿2020/04/03 13:16

_research

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問