1

我目前正在开发一个基于 OCR(光学字符识别)的 android 应用程序。我已经下载了“tesseract-android”项目,其中包含用于编译用于 Android 的 Tesseract、Leptonica 和 JPEG 库的工具。我正在通过 Eclipse 在 Windows Vista 操作系统上进行开发。

我还下载了必要的工具(android-ndk;apache ant..),并仔细完成了构建这个项目并将其作为库添加到我的基本应用程序的所有步骤。

我的应用程序包括打开相机拍照,然后通过 tesseract API 处理这张照片,以便将其转换为文本。

我的问题是: 1. 这个程序在 Windows 操作系统下是真的不行吗?2. 编译时出现如下错误:“java.lang.IllegalArgumentException: Data path must contain subfolder tessdata!”

潜在的错误可能是什么?java代码的相关部分是:

File myDir = getExternalFilesDir(Environment.MEDIA_MOUNTED); 
TessBaseAPI baseApi = new TessBaseAPI(); 
baseApi.init(myDir, "eng");

我也尝试使用“/tess-two/external/tesseract-3.01/tessdata/tessconfigs”而不是“myDir”,但错误仍然相同。

我将非常感谢任何帮助。

提前致谢。

4

3 回答 3

1

我面临着同样的问题。当我从路径中删除“tessdata”时为我工作。

Before (fail): path = "/mnt/sdcard/tesseract/tessdata"; 
After (success): path = "/mnt/sdcard/tesseract/";

然后, baseApi.init(path, "eng") 毫无例外地工作。

当然,tessdata 文件夹应该在所需的.traineddata 文件的路径中。

于 2015-01-29T16:18:16.630 回答
1

Q1。它应该可以在任何操作系统上运行,我已经能够ndk-build在 Win7、Mac OS Lion 和 Ubuntu 上运行而没有任何问题。

Q2。确保您有权写入外部存储,并且有足够的空间来执行此操作。

如果仍然失败,请查看 DDMS 并查看文件资源管理器并仔细检查您的应用程序是否正在设置目录结构并复制训练数据。

我在创建 eng.traineddata 文件时遇到了一个奇怪的问题,但它是 0 字节,导致了各种奇怪的问题。

您还可以手动创建目录结构以帮助您取得进展,并稍后修复此初始化问题(但不要忘记它!)

于 2012-06-03T16:43:35.683 回答
0

编译本机内容时的路径错误通常与您的 java 代码无关。您的 java 代码将负责运行时问题。检查您的构建脚本并发布更多日志消息。

于 2012-04-04T07:02:18.667 回答