我正在开发一款Android移动应用程序,它使用Tesseract OCR使用手机摄像头捕获文本。我得到了应用程序捕获图像并允许用户手动裁剪,但是,我得到的OCR结果根本不准确。
裁剪后,图像看起来也被拉伸了,我认为这可能会导致这个问题。有没有办法可以提高准确度?我知道我可以应用图像预处理,但在这种情况下,我没有从文件加载图像,我直接捕获文本并在我的应用程序上获得OCR结果。有没有办法在裁剪后处理图像以达到更高的准确率?
我已将此代码用于裁剪
private void performCrop() {
try {
//call the standard crop action intent (the user device may not support it)
Intent cropIntent = new Intent("com.android.camera.action.CROP");
//indicate image type and Uri
cropIntent.setDataAndType(mImageCaptureUri, "image/*");
//set crop properties
cropIntent.putExtra("crop", "true");
//indicate aspect of desired crop
cropIntent.putExtra("aspectX", 0);
cropIntent.putExtra("aspectY", 0);
//indicate output X and Y
cropIntent.putExtra("outputX", 800);
cropIntent.putExtra("outputY", 800);
File f = new File(Environment.getExternalStorageDirectory(),
"/image.jpg");
try {
f.createNewFile();
} catch (IOException ex) {
Log.e("io", ex.getMessage());
}
uri = Uri.fromFile(f);
cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(cropIntent, PIC_CROP);
提前致谢!