我需要我的应用程序通过相机阅读文本。我知道有 Tesseract 库可以做到这一点,但如果有一个应用程序可以处理 Intents 以通过相机读取文本,我真的更喜欢,就像 Xzing 用于读取 QR 码一样。
有没有这样的应用程序?
目前 Google Play 上没有执行此操作的应用程序。
我已经考虑过制作一个,但这种应用程序的可能用例比扫描二维码的用例要大得多。有不同的可能场景:
不同的场景对如何处理图像提出了挑战。通过 Intent 对此类应用程序的请求可能需要至少指定用于预处理图像的阈值类型以及要使用的语言/训练数据文件。
我刚刚创建了一个应用程序,它使用相机拍照、裁剪照片并返回识别的文本作为结果。
在您的应用中,您可以使用以下代码:
PackageManager pm = getPackageManager();
try {
pm.getPackageInfo("sunbulmh.ocr", PackageManager.GET_ACTIVITIES);
Intent LaunchIntent = pm.getLaunchIntentForPackage("sunbulmh.ocr");
LaunchIntent.setFlags(0);
startActivityForResult(LaunchIntent,5);
} catch (NameNotFoundException e) {
Uri URLURI = Uri.parse("http://play.google.com/store/apps/details?id=sunbulmh.ocr");
Intent intent = new Intent(Intent.ACTION_VIEW,URLURI);
startActivity(intent);
}
然后,在 onActivityResult() 中获取结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if(requestCode == 5){
String ocr_txt = data.getStringExtra(Intent.EXTRA_TEXT);
// ocr_txt contains the recognized text.
}
}
}