私のプロジェクトでは、画像(.jpgまたは.tiff)から数字を読み取る必要があります。たくさんグーグルした後、私はオープンOCR、すなわちTesseractOCRについて知るようになりました。Tesseract OCRの初心者です。私は、TesseractのすべてのドキュメントとVisualStudioでの使用方法を読みました。基本的に、tesseractの使用でいくつかの問題に直面しています...私は次のような手順に従いました:
1) http://code.google.com/p/tesseract-ocr/downloads/detail?name=tesseract-ocr-setup-3.02.02.exeからtesseract-ocr-setup-3.02.02.exeをダウンロードしてインストールしました
2)Microsoft Visual Studio 2008を開き、[ツール]->[オプション]プロジェクトソリューション->[VC++ディレクトリ]->[インクルードファイルのディレクトリを表示]に移動します。
追加:
C:\ Program Files \ Tesseract-OCR \ include
C:\ Program Files \ Tesseract-OCR \ include \ tesseract
C:\ Program Files \ Tesseract-OCR \ include \ leptonica
3)次に、[ディレクトリの表示]をクリックします-> [ライブラリファイル]
追加:C:\ Program Files \ Tesseract-OCR \ lib
4)Tesseractのリンカーオプションを構成
するソリューションエクスプローラーでプロジェクトを右クリックし、[
構成プロパティ]->[リンカー]->[入力]->[追加の依存関係
] を
クリックし
ます
。libtesseract302.liblibtesseract302d.libliblept168.lib
liblept168d.lib
5)liblept168.dll、liblept168d.dll、libtesseract302.dll、libtesseract302.dllをC:\ Program Files \Tesseract-OCR\からプロジェクトフォルダーにコピーします。
6)main.cppソースファイルは次のようになります:
#include<baseapi.h>
#include <allheaders.h>
#include <iostream>
using namespace std;
int main(void){
tesseract::TessBaseAPI api;
api.Init("", "eng", tesseract::OEM_DEFAULT);
api.SetPageSegMode(static_cast<tesseract::PageSegMode>(7));
api.SetOutputName("out");
cout<<"File name:";
char image[256];
cin>>image;
PIX *pixs = pixRead(image);
STRING text_out;
api.ProcessPages(image, NULL, 0, &text_out);
cout<<text_out.string();
}
問題は、このコードをコンパイルできません。リンカーエラーが発生しています。つまり、LINK:致命的なエラーLNK1181:入力ファイル'libtesseract302.lib'を開くことができません。
TesseractOCRをダウンロードしたとき。Tesseract-OCR \ libで、libtesseract302.dllおよびlibtesseract302.dllファイルが見つかりません。liblept168.dll、liblept168d.dllファイルのみを表示できます。
libtesseract302.libとlibtesseract302.dllを検索しようとしましたが、何も取得されません。
この時点で完全に打ちのめされています。
誰かがTesseractOCRを使用したことがあるなら、これについて私に提案してください。
皆さん、ありがとうございました..