【问题标题】:Android Tesseract can't recognize creditcard numbersAndroid Tesseract 无法识别信用卡号码
【发布时间】:2015-04-06 16:43:11
【问题描述】:

我一直在努力使tess-two OCR 项目工作,当我终于做到时,它确实能够识别清晰的文本并且那里有多行。

重点是当用户拍照时,我需要使用 OCR提取信用卡号

以下是信用卡号的示例:

这只是我使用了许多图片的示例。例如这张图片我得到了以下文字:

1238 5578 8875 5877
1238 5578 8875 5877
1238 5578 8875 5877

这是我使用的代码:

TessBaseAPI baseApi = new TessBaseAPI();
baseApi.init("/mnt/sdcard/tesseract-ocr", "eng");
baseApi.setImage(bm);
baseApi.setPageSegMode(6);

String whiteList = "/1234567890";
baseApi.setVariable(TessBaseAPI.VAR_CHAR_WHITELIST, whiteList);

String recognizedText = baseApi.getUTF8Text();
baseApi.end();

任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: android ocr tesseract tess-two


    【解决方案1】:

    也许图像的一些预处理步骤会使 tesseract 有更好的性能。 我可以给你推荐一整篇论文(http://wbieniec.kis.p.lodz.pl/research/files/07_memstech_ocr.pdf) 如果您有时间,如果没有,请尝试使用图像的对比度。

    以下还有一些适合您的问题的想法: http://www.ocr-it.com/user-scenario-process-digital-camera-pictures-and-ocr-to-extract-specific-numbers

    【讨论】:

      【解决方案2】:

      示例图像已经适合 OCR,但据我所知,您使用的是 tesseract 的内置“eng.traineddata”模型,它不适合(在准确性/性能方面)用于信用卡扫描。 (信用卡使用字体“OCR-A”)。因此,您需要找到预训练模型并在初始化 tessApi 时替换它,或者自己从 stratch 训练它。

      要使用自定义字体训练 tesseract 模型,请参阅 Yash Modi 在 here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-13
        • 2012-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-03
        • 2021-03-11
        • 2018-02-25
        相关资源
        最近更新 更多