我需要爲我的Android應用程序使用Tesseract OCR(光學字符識別)的「.so」文件。任何人都可以解釋我如何獲得Tesseract OCR的「.so」文件嗎?用於Tesseract OCR的「.SO」文件
我試圖導入不工作的完整項目。
我需要爲我的Android應用程序使用Tesseract OCR(光學字符識別)的「.so」文件。任何人都可以解釋我如何獲得Tesseract OCR的「.so」文件嗎?用於Tesseract OCR的「.SO」文件
我試圖導入不工作的完整項目。
您需要安裝Android NDK,將Tesseract東西轉換爲NDK擴展名,並通過JNI將其添加到Java應用程序中。這不太容易。你不能只拿一個.so
,比如Linux,並把它放到你的項目中。
tesseract-android-tools自帶的自述文件將成爲您最好的朋友。我在VirtualBox中使用了Ubuntu 11.04。在Ubuntu的(我假設你會想這些後來轉移到Windows):
1)下載Android NDK
2)SVN的正方體,Android的工具項目。我使用tesseract-android-tools-read-only/tesseract-android-tools/
作爲FYI的$ PROJECT目錄。
3)使用ndk-build(詳見自述文件)構建tesseract。這樣做將在$ PROJECT中創建一個libs文件夾,並創建您需要的三個.so文件。
我相信有一種方法可以用Cygwin來做,但我不知道如何,因爲我已經準備好使用VM了。
從那裏(在http://code.google.com/p/tesseract-android-tools/updates/list使用說明):
4)正方體工具實際上是一個圖書館,有一個日食的.project只需要導入該項目建設後NDK這樣的,並建立它。在同一個工作區http://developer.android.com/guide/developing/projects/projects-eclipse.html#SettingUpLibraryProject
6)現在創建一個新的Android項目,即你的應用程序:
5)設置爲庫。轉到屬性,並從第3步(http://developer.android.com/guide/developing/projects/projects-eclipse.html#ReferencingLibraryProject)
7)引用該庫的構建基於Android 2.2(分)您的應用程序:http://code.google.com/p/tesseract-android-tools/issues/detail?id=5#c16
,它應該工作!
請注意,您必須使用Android 2.2或更高版本。希望幫助!
@raju:我遇到了和你一樣的問題。在找到解決方案後,我發現這個:http://gaut.am/making-an-ocr-android-app-using-tesseract/
不知道如果你的情況是我的!但我正在使用Windows操作系統下的Eclipse進行開發。博客(之前的鏈接)說這不能在windows下完成,所以你必須使用Linux(例如:在虛擬機內的Ubuntu)。另外,博客還詳細解釋了應該完成的步驟。
@jmiles 我試過在Ubuntu下執行「ndk-build」,然後將結果傳輸到Windows。我已經構建了tesseract,並將其作爲「圖書館」;但是,在嘗試識別字符時,我總是遇到錯誤:這些是一些日誌消息:04-04 14:32:28.569:E/2130968577(561):java.lang.IllegalArgumentException:數據路徑必須包含子文件夾tessdata ! 04-04 14:32:28.569:E/2130968577(561):at com.googlecode.tesseract.android.TessBaseAPI.init(TessBaseAPI.java:167)
您對@jmiles或@CommonsWare有什麼想法嗎?問題??
您需要下載語言數據文件的正方體,並把它放入「tessdata」文件夾,然後初始化正方體它像
TessBaseAPI.init("your language file tessdata folder","language mostly 'eng'");
這將現在的工作。