Tesseract Android工具更改和修改已成功编译(我认为),但没有输出

Tesseract Android工具更改和修改已成功编译(我认为),但没有输出,android,tesseract,Android,Tesseract,目前我正在尝试获取tesseract android工具 在Android上为我工作。我做这件事已经有一个星期了,但是没有用 我用cygwin运行Win 7 64位 我按照自述文件中的说明对Android.mk文件进行了许多更改。基本上,它是在路径上附加一个斜杠,所以我必须手动硬编码各个文件的路径,或者移动到3个包中文件的位置来构建它。但是在构建结束时,我没有收到“buildsuccessful”通知,而是生成了.so文件 我将其按原样移植到eclipse,并使用以下代码获取提取的文本 pri

目前我正在尝试获取tesseract android工具

在Android上为我工作。我做这件事已经有一个星期了,但是没有用

我用cygwin运行Win 7 64位

我按照自述文件中的说明对Android.mk文件进行了许多更改。基本上,它是在路径上附加一个斜杠,所以我必须手动硬编码各个文件的路径,或者移动到3个包中文件的位置来构建它。但是在构建结束时,我没有收到“buildsuccessful”通知,而是生成了.so文件

我将其按原样移植到eclipse,并使用以下代码获取提取的文本

private static final String TESSBASE_PATH = "/mnt/sdcard/";

Bitmap imageFile = BitmapFactory.decodeFile(image.getAbsolutePath());

        TessBaseAPI baseApi = new TessBaseAPI();

        if(baseApi.init(TESSBASE_PATH, "eng")){
            System.out.println("Tessbase initialized");
            baseApi.setDebug(true);
            baseApi.setImage(bmp);
            String recognizedText = baseApi.getUTF8Text();
            System.out.println("---------------------output-------------------");
            System.out.println("recognizedText<"+recognizedText+">");
        }
        else{
            System.out.println("Tessbase initialization failure.");
        }
private static final String TESSBASE_PATH=“/mnt/sdcard/”;
位图imageFile=BitmapFactory.decodeFile(image.getAbsolutePath());
TessBaseAPI=新的TessBaseAPI();
if(baseApi.init(TESSBASE_路径,“eng”)){
System.out.println(“Tessbase初始化”);
baseApi.setDebug(true);
baseApi.setImage(bmp);
字符串recognizedText=baseApi.getUTF8Text();
System.out.println(“-------------------输出-----------------”;
System.out.println(“识别文本”);
}
否则{
System.out.println(“Tessbase初始化失败”);
}
起初,我听到一个错误,说

“位图函数不可用;库必须在android-8 NDK下编译”

在查看了tessbaseapi.cpp文件之后,我意识到它需要一个特定的编译器标志来编译正确的函数。这面旗子是-DHAS_JNIGRAPHICS。我认为这意味着JNI图形库必须存在

但是程序仍然无法编译,因为在新编译的方法中找不到memcpy()函数。我通过改变实际的C++代码来修改包含< /P> 最后,程序被完全编译(尽管仍然没有得到构建成功的通知),当我运行它时,我根本没有得到任何输出。这可能是eng.traineddata文件的问题,也可能是实际代码中的问题

我做错什么了吗?有人能把我链接到他们知道有效的和eng.traineddata文件以及与之相关的图像吗


提前谢谢

您发布这个问题已经有几个月了,但是如果您仍在寻找答案,我会郑重建议您在github上查看该项目

虽然这不能解决您发布的错误,但这是一个战术性的变通/替代解决方案

它是tesseract android工具的一个分支,非常容易使用,您可以在一小时内安装并运行它

如果您得到的结果很差,请确保traineddata文件在那里,使用DDMS文件资源管理器检查其是否在那里,而不是0字节(我曾多次遇到这种情况)

另外,确保设置了白名单和黑名单字符,这将很好地改善结果


祝你好运

我最终真的这么做了。我在github上使用了相同的tess two项目,并从ubuntu构建了它。这正是我想要的。我认为这可能是tesseract android工具库的问题。我建议任何遇到类似困难的人使用tess 2。