我正在开发一款 Android 应用程序,它可以通过手机相机或从图库中拍摄卡片照片并使用信用卡充值功能。我使用 tesseract 库来实现这个目的,使用黑名单和白名单仅获取数字。但是,它的效果不如预期。
我所用的图片只包含以下两行内容:
PIN 码
41722757649786
在开始充值活动之前,结果为:
718 200
41722757649786
我希望只识别数字而不使用裁剪,并且没有字母。
我所用的图片只包含以下两行内容:
PIN 码
41722757649786
在开始充值活动之前,结果为:
718 200
41722757649786
我希望只识别数字而不使用裁剪,并且没有字母。
public void initTess(){
if (mBaseApi != null)
mBaseApi.end();
mBaseApi = new TessBaseAPI();
mBaseApi.setDebug(false);
mBaseApi.setPageSegMode(TessBaseAPI.PageSegMode.PSM_OSD_ONLY);
mBaseApi.init(mDataDir + File.separator,"eng");
mBaseApi.setVariable(TessBaseAPI.VAR_CHAR_WHITELIST,"0123456789");
mBaseApi.setVariable(TessBaseAPI.VAR_CHAR_BLACKLIST,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmopqrstuvwxyz");
}