我正在分析ocr-reader示例项目:https://github.com/googlesamples/android-vision/tree/master/visionSamples/ocr-reader
目标是用Android Vision替换Android(使用OpenCV和Tesseract)的自定义“文本到图像”实现。
我找不到任何方法为OCR处理器应用高级配置。例如,在我的应用程序中,只允许一组预定义的符号。为此,我在我的应用程序中使用以下代码:
api.SetVariable("tessedit_char_whitelist", "ABJOKEA1234");
这有助于避免例如0和O之间的混淆。
有没有办法用android-vision做到这一点?构建TextRecognizer时我没有看到任何选项:
TextRecognizer textRecognizer = new TextRecognizer.Builder(context).build();
总的来说,Google是否计划扩展图书馆的可配置性?例如:
或者它应该是一个简单的库,只有常见的功能?
感谢您的帮助!
答案 0 :(得分:0)
我也正在研究这个问题,我正在尝试制作具有移动视觉的名片阅读器,到目前为止,当检测到文本时,我正在使用检查条件,如果条件使用实时生成的字符串..
if (mText == null) {
return;
}
if(mText.getValue().contains("@") && mText.getValue().contains(".") && !mText.getValue().equals(mText.getValue().toUpperCase())){
Log.e("mTextemail",mText.getValue());
email=mText.getValue();
}
if (mText.getValue().startsWith("+")|| mText.getValue().startsWith("0")&& mText.getValue().contains("+-0123456789/-#")&& !mText.getValue().contains("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")){
Log.e("mTextphone",mText.getValue());
phone=mText.getValue();
}
if (!mText.getValue().contains("ABCDEFGHIJKLMNOPQRSTUVWXYZ")&& !mText.getValue().contains("0123456789-/#") && !mText.getValue().contains("abcdefghijklmnopqrstuvwxyz")){
Log.e("mTextcompanyName",mText.getValue());
companyName=mText.getValue();
}if(mText.getValue().startsWith("ABCDEFGHIJKLMNOPQRSTUVWXYZ" )&& mText.getValue().endsWith("abcdefghijklmnopqrstuvwxyz")){
name=mText.getValue();
}
if(name ==null){
name="Was not specified";
}
if(email ==null){
email="Was not specified";
}
if(phone ==null){
phone="Was not specified";
}
if(companyName ==null){
companyName="Was not specified";
}
它以70%的准确度打印日志,可能我们可以互相帮助,我也希望这些正确的日志显示在我使用过接口但不起作用的活动中。 如果您有任何提示或技巧,请分享。