现在我正在使用 Tessaract 和 Android NDK 在 MacOSx 上制作应用程序。我使用 Eclipse 作为 IDE 来开发程序。
我有两个问题要问:
1)。我使用最著名的示例“tess-two”设置了 tessaract,并进行了一些修改以适应我现有的代码。我将文件夹“com_googlecode_leptonica_android”和“com_googlecode_tessaract_android”复制到 /jni 文件夹。然后编辑 Android.mk 以设置这些库文件夹的路径。一切正常!除了一件事..每次我构建项目时,我都需要一次又一次地构建“leptonica”和“tessaract”库..为了获得 libtess 和 liblept.. 这需要很长时间。我怎样才能编辑android makefile(Android.mk)而不是构建那些库..只编译我的代码......就是这样......这是我的Android.mk
LOCAL_PATH := $(call my-dir)
MY_PATH := $(LOCAL_PATH)
TESSERACT_PATH := $(call my-dir)/com_googlecode_tesseract_android
LEPTONICA_PATH := $(call my-dir)/com_googlecode_leptonica_android
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
include /Applications/eclipse-android/OpenCV-2.4.3-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_PATH := $(MY_PATH)
LOCAL_MODULE := my_project
LOCAL_SRC_FILES := cppmain.cpp
LOCAL_LDLIBS += -llog -ldl
include $(BUILD_SHARED_LIBRARY)
)
2)。我发现了很多关于在 Android 中使用 tessaract 的例子。然而,他们中的大多数使用 tessaract 和 Java(通过 JNI 调用)并从 Java 代码调用 JNI(Java -> Tessaract C++ JNI -> Tessaract C++)。我找不到任何从 c++ NDK(Java -> my JNI -> my C++ -> Tessract C++)调用 tessaract 的示例。我想直接从 c++ 调用 tessaract 的原因是可移植性。