const char* lang = "eng";
QString filename = "D:/image.png";
tesseract::TessBaseAPI tess;
tess.Init(NULL, lang, tesseract::OEM_DEFAULT);
tess.SetPageSegMode(tesseract::PSM_AUTO);
FILE* fin = fopen(filename.toStdString().c_str(), "rb");
if (fin == NULL)
{
std::cout << "Cannot open " << filename.toStdString().c_str() << std::endl;
return;
}
fclose(fin);
STRING text;
if (tess.ProcessPages(filename.toStdString().c_str(), NULL, 0, &text))
{
ui->plainTextEdit->setPlainText(QString::fromUtf8(text.string()));
//show result in plainttext qt gui
}
がための十分なデータが正確でない入れ、このコードを使用してPNG画像 からテキストを取得するにはQTでたTesseract OCRのC++ライブラリを使用していますテーブルのデータとそれは私に奇妙な文字を与えると私はオンラインのOCRのウェブサイトをテキスト(同じ画像)にそれを100%正確でそれを行うので、私はこの間違ったテキストを与える私のイメージを変換するこの問題ですライブラリと一緒に?または私のコード?またはより良いフリーライブラリーがあれば私はより正確に使うことができますか?
私は、OCRライブラリは私に正しいデータ
OCRの正確さは、計算を行うクラスに依存するQtに依存しないので、Qtタグは無関係です。 – eyllanesc
ページを処理する前に前処理を試みていますか?あなたのフォーラムを見ると、いくつかのユーザーは白黒イメージ(白い背景に黒いフォント)でテキストを試してみるべきだと言いますが、テキストの周りにはうねりがあります。オンラインOCRほとんどの場合、画像を自動的に編集して削除するためのものがあります。 – Eddge
はい私はGhostscriptを使用して、このプロパティを持つPDFファイルから画像を取得します。-dFirstPage = 1 -dLastPage = 1 -dBATCH -dNOPAUSE -sDEVICE = pnggray -r300 -dUseCropBox –