0
私はリアルタイムテキスト検出のためにAndroidアプリケーションでTesseract(tess-two)ライブラリを使用しています。 マイコード:Tesseractの出力が完全に間違っていてぎこちない
public void onPreviewFrame(byte[] data, Camera camera) {
try {
Camera.Size previewSize =camera.getParameters().getPreviewSize();
YuvImage yuvimage=new YuvImage(data, ImageFormat.NV21, previewSize.width, previewSize.height, null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
yuvimage.compressToJpeg(new Rect(0, 0, previewSize.width, previewSize.height), 60, baos);
byte[] jdata = baos.toByteArray();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap bmp = BitmapFactory.decodeByteArray(jdata, 0, jdata.length);
TessBaseAPI baseApi = new TessBaseAPI();
baseAPI.init(DATA_PATH, lang);
baseAPI.setImage(bmp);
extractedText = baseAPI.getUTF8Text();
DisplayResult.setText(extractedText);
}
catch(Exception e) {
e.printStackTrace();
}
は、私は何のたTesseract初期化で問題と同様に設定する画像がありません。しかし、出力が完全に間違っている、画像を見てください。テキストビューには、tesseractの出力が表示されます(表面ビューの最上部にあります)。
どのように私はこの問題を解決するのですか?
Tesseractへようこそ! ;)正直言って、これはそうです。イメージを処理して品質を調整したり、白黒に変換したり、各PSMモードを試したりしてみることができます。テキストだけに提供したイメージをトリミングすると、「MADE IN CHINA」というテキストが完全に表示されますが、画像全体のTesseractは管理できません。 [こちらのヒントをもっと見る](https://github.com/tesseract-ocr/tesseract/wiki/ImproveQuality)、画像をトリミングすることができない限り、息を止めないでください。 – samiles
不均一な照度を減らすには、画像を前処理する必要があります。 – rmtheis