私が書いているアプリケーションにはTesseract OCRを使用しています。私はちょうど私が時々取得する写真からいくつかの領域のテキストを認識したい。基本呼び出しは現時点では動作しますTesseract OCRの高度な使用
tesseract::TessBaseAPI api;
api.SetPageSegMode(tesseract::PSM_AUTO); // Segmentation on auto
api.Init("/usr/local/share/","eng"); // path = parent directory of tessdata
pFile = fopen("home/myname/test.bmp","r"); // Open picture
PIX* image; // Image format from leptonica
image = pixReadStreamBmp(pFile);
fclose(pFile);
api.SetImage(image); // Run the OCR
char* textOutput = new char[512];
textOutput =api.GetUTF8Text(); // Get the text
これまでのところ、このコードは正常に動作します。しかし、ある時点でOCRは私が望むほど正確ではありません。私は実際に自分の目的のために新しい言語を訓練したくないので、いくつかのAPI呼び出しより精度を上げる可能性があるかどうかを知りたがっています。 ここにいくつかの提案があります!
これ以上の精度が必要な場合は、pixeRead()でOTSUしきい値イメージを渡すことができます。 pixRead()で通常の画像を渡しています。 OTSU閾値画像を通過させる。私はそのためのアルゴリズムを開発しました。 。もし誰かが欲しいなら私に知らせてください。 –