【发布时间】:2014-10-02 06:54:30
【问题描述】:
如何限制tess-two的结果(Tesseract和Leptonica库),
我希望 Tesseract 限制结果:
- 只取 8 位数字,从字母 D 计算
- 不要使用小写、回车、空格和符号
- 只取大写和数字。
例如:
识别结果为"asn*&bhDK 1234 UDaks&%^jdg",则简单取为"DK1234UD"。
所以,不要拿LowerChase、Enter、Space。只取 UperChase 和数字。
我使用 Java 源代码
这是识别码:
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.setPageSegMode(TessBaseAPI.OEM_TESSERACT_CUBE_COMBINED);
baseApi.setPageSegMode(PageSegMode.PSM_AUTO_OSD);
baseApi.setPageSegMode(PageSegMode.PSM_SINGLE_LINE);
baseApi.setDebug(true);
baseApi.init(DATA_PATH, lang);
//setImage
baseApi.setImage(bmpOtsu);
//set whitelist
String whitelist = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
baseApi.setVariable(TessBaseAPI.VAR_CHAR_WHITELIST, whitelist);
//variable for recognizing
String recognizedText = baseApi.getUTF8Text();
String resultTxt = recognizedText;
baseApi.end();
if ( lang.equalsIgnoreCase("eng") ) {
recognizedText = recognizedText.replaceAll("[^A-Z0-9]", " ");
}
谁能告诉我该怎么做?这里应该添加什么?
【问题讨论】:
标签: java android ocr tesseract leptonica