tesseract
を使用して画像からテキストを読み取ろうとしています。この画像は高品質であるため、tesseract
は95%の精度でテキストを読み取ることができます。しかしtesseract
強調表示されたテキスト(選択)を読み取ることができないで、私はtesseract
を使用して、選択した領域からテキストを読むことができる、ある単語を識別するためにどのような方法がありますどのようにPICtesseractを使用して画像からハイライトされたテキストを読む
を参照してください画像で強調表示されていますか?
以下のように画像からテキストを読み込んで変換するためのコードです。 tesseract :: TessBaseAPI * myOCR = new tesseract :: TessBaseAPI();
//cout < < "hello" < < endl;
場合(myOCR->初期化( "C:\ QTSoftware \ IODriver \"、 "ENG")){
SaveLineLog(brdInd, "Unable to initialize tesseract engine", __LINE__);
return RC_TESSERACT_ENG_FAILURE;
//fprintf(stderr, "Could not initialize tesseract.\n");
//return RC_THREAD_FAILURE;
//exit(1);
}
SaveLineLog(brdInd, "tesseract engine is UP :)", __LINE__);
//strcpy_s(fileName, "C:\\TEMP\\T481Logs\\FrameOCR23_0.jpg");
FILE *pFile;
fopen_s(&pFile,fileName, "r"); // Open picture
PIX* pix; // Image format from `leptonica`
pix = pixReadStreamBmp(pFile);
fclose(pFile);
//Pix *pix = pixRead(fileName);
//Pix *pix = pixReadStreamBmp(fileName);
//cout << "Tesseract - Pix : " << pix << endl;
if (pix == NULL)
{
SaveLineLog(brdInd, "Pix failure", __LINE__);
return RC_TESSERACT_PIX_FAILURE;
}
myOCR->SetImage(pix);
char* outText = myOCR->GetUTF8Text();
使用しているコードを添付できますか?イメージをtesseractメソッドに渡す前に、何らかの前処理を行っていますか? – ZdaR
私は上記のコードを 'tesseract'を呼び出してイメージからテキストを取得しています。すべてのイメージが白黒であるため、前処理が不要で、 'tesseract'が強調表示されていませんテキストのように私は前処理しようとする可能性があります。 –