【问题标题】:Android OCR: AndrOCR source code errorAndroid OCR:AndrOCR 源代码错误
【发布时间】:2015-12-15 09:48:00
【问题描述】:

我是一名学生,正在做一个学校项目,创建一个名片扫描仪,从图像中提取文本,并按姓名、电话号码等相应地显示到相应的文本框中。

过去几周我一直在谷歌上搜索,并在网上找到了很多很好的例子。目前我正在尝试从我在网上找到的名为“AndrOCR”的这个应用程序中实现源代码。但是,我在代码中遇到了一些错误,我不知道如何在 Ecilpse(juno) 中解决。

我已经从 rmtheis 实现了 tess-two 并且能够运行其他一些 OCR 源代码。但是,对于“AndrOCR”,我无法解决。

出现错误的代码如下:

    public void onDialogSingleChoice(int dialog_id, int item){
    switch(dialog_id){

        case SEGMODE_DIALOG:
            mSegModeID = item;
            // Change the OCR page segmentation mode
            switch (mSegModeID){
            case 0:
                mSegMode = TessBaseAPI.**PSM_AUTO**;                        
                break;
            case 1:         
                mSegMode = TessBaseAPI.**PSM_SINGLE_BLOCK**;                        
                break;
            case 2:
                mSegMode = TessBaseAPI.**PSM_SINGLE_LINE**;                     
                break;
            case 3:
                mSegMode = TessBaseAPI.**PSM_SINGLE_WORD**;                     
                break;
            case 4:
                mSegMode = TessBaseAPI.**PSM_SINGLE_CHAR**;                     
                break;
            case 5:
                mSegMode = TessBaseAPI.**PSM_SINGLE_BLOCK_VERT_TEXT**;                      
                break;                  
            }                   
            // It's not needed to restart the whole library here
            removeDialogFragment("segmode_dialog");
            Toast.makeText(mThis, getString(R.string.selected_text_layout) + " " + mSegModeArray[mSegModeID], Toast.LENGTH_SHORT).show();
            break;

        case LANGUAGE_DIALOG:
            mLangID = item;
            // Change the OCR language recognition
            mLang = mTessLangArray[mLangID];
            removeDialogFragment("language_dialog");
            setTessData();              
            break;
    }
}

如上图所示,粗体文本中出现错误。第一个错误的错误消息是“PSM_AUTO 无法解析或不是字段”,这也适用于其余错误。

源代码在此链接:https://github.com/TheWall89/AndrOCR

请检查一下并告诉我错误是什么以及如何解决它们,因为我仍然是android开发的初学者,需要很多帮助,非常感谢~

【问题讨论】:

    标签: android eclipse ocr tesseract tess-two


    【解决方案1】:

    那些constants 被移动到一个名为PageSegMode 的内部类。

    所以把你的代码改成

    mSegMode = TessBaseAPI.PageSegMode.PSM_AUTO;
    

    mSegMode = TessBaseAPI.PageSegMode.PSM_SINGLE_BLOCK;
    

    等等

    【讨论】:

    • 嗨@rmtheis,它有效。非常感谢,真的很感激:)
    猜你喜欢
    • 2012-06-29
    • 1970-01-01
    • 2013-06-03
    • 2013-01-03
    • 1970-01-01
    • 2016-05-30
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多