3

AndroidのTess-Two経由でTesseract OCRを使用して、画像からテキストを認識しようとしました(Android Studioを使用して開発)。

Gradle では、次の行を依存関係セクションに追加しました。

compile 'com.rmtheis:tess-two:5.4.1'

次に、メイン アクティビティのonCreate()に、ライブラリを初期化してイメージをロードする次のコードがあります。

    final String lang = "eng";
    TessBaseAPI baseAPI = new TessBaseAPI();
    boolean initResult = baseAPI.init(Environment.getExternalStorageDirectory().getPath(), lang);
    if(initResult) {
        InputStream is = null;
        try {
            is = getAssets().open("test2.jpg");
            final Drawable drw = Drawable.createFromStream(is, null);
            Bitmap bmp = ((BitmapDrawable) drw).getBitmap();

            baseAPI.setDebug(true);
            baseAPI.setImage(bmp);
            ImageView imageView = (ImageView)findViewById(R.id.imageView);
            imageView.setImageBitmap(bmp);

            String recognizedText = baseAPI.getUTF8Text().trim();
            Log.d(TAG, recognizedText);
            TextView textView = (TextView) findViewById(R.id.txt_debug);
            textView.setText(recognizedText);
            baseAPI.end();
        } catch (FileNotFoundException nfe) {
            Log.d(TAG, "File Not Found");
            nfe.printStackTrace();
        } catch (IOException ioe) {
            Log.d(TAG, "Unable to open the file");
            ioe.printStackTrace();
        }
    } else {
        Log.d("OCR", "Unable to init Base API");
    }

最後に、アセットフォルダー ( app/src/main/assets/) に JPEG を入れます。これは JPEG で、基本的にはテキストの段落です。

JPEG

ただし、OCRの結果は(かなりゴミです):

OWW WW ON
R W WWW WK
KW MK
214
3 W5 HE WM
M WW WWW
LFNWW VW QTY
VM ACNL 19 WE NH
5 332152391
HQ W M W

スキャンの読みやすさを改善するには?

次の Page Sec モードを試しましたが、結果はです:

// Automatic page segmentation with orientation and script detection
baseAPI.setPageSegMode(TessBaseAPI.PageSegMode.PSM_AUTO_OSD);
// Treat the image as a single text line
baseAPI.setPageSegMode(TessBaseAPI.PageSegMode.PSM_SINGLE_LINE);
4

1 に答える 1

0

Tesseract の認識は、主に 2 つの要素に依存します。フォント ファイルとそのためのトレーニング済みデータ ファイルです。

通常、tesseract は手書きを認識しませんが、理論的には、手書きに似たフォントを認識できるようにトレーニングすれば機能する可能性があります。

于 2016-03-07T16:59:09.443 に答える