我想在java中構建一個示例應用程序,該應用程序將讀取圖像文件並輸出從圖像中提取的文本。我發現Tesseract項目看起來很有前途,但是,它的C++。爲了使用它,我應該簡單地運行它作爲我的Java應用程序的命令行Runtime.exec(...)
?或者有更好的解決方案,也許是JAR?此外,這僅僅是一個示例應用程序,將其作爲命令行應用程序從可伸縮性角度來看是一個問題?使用從java的Tesseract
回答
您是否試過tess4j:http://tess4j.sourceforge.net/。
它是windows的tesseract的JNI包裝。
我在我的java代碼中使用了tesseract項目。所有你需要做的是
- 獲取tess4j jni包裝tesseract。
- 在您的IDE中打開tess4j proj,並將源包和庫添加到您自己的
項目中。 - 編寫爲tesseract類創建實例的代碼,然後將其用於執行OCR的
。
請看看這個http://tphangout.com/?p=18
它詳細介紹瞭如何建立一個Java項目來讀取圖像,並使用OCR的Tesseract API將其轉換成文本指令。
漂亮的博客文章。 – shyos
現在tescract是由javacv項目提供的,這比使用Tess4J要好得多,因爲所需要的只是爲您的pom文件添加一個依賴項,然後將自動下載並鏈接您的平臺的本機庫爲你的javacv tesseract版本。
我在這裏創造一個例子Maven項目 - https://github.com/piersy/BasicTesseractExample
和這裏的例子gradle這個項目 - https://github.com/piersy/BasicTesseractExampleGradle
對於這個我的Ubuntu的機器上工作,我需要更新我安裝的libstdC++ 6
我通過運行以下代碼實現了這一點,儘管只是安裝libstdC++ 6可能適用於您。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install libstdc++6
注意gradle這個項目不進行自動安裝,但仍然是一個很大比使用Tess4J
的javacv項目簡單的地獄就在這裏 - https://github.com/bytedeco/javacpp-presets/tree/master/tesseract
大道具的javacv大家,只希望我能早點發現它,因爲它可以讓我在tess4j的一個星期內在多個平臺上工作。
tnx爲示例,但我在我的Mac上,「我的mvn乾淨安裝」時,得到錯誤「java.lang.UnsatisfiedLinkError:沒有jnilept在java.library.path」,有什麼想法? – Spring
詳細錯誤「Library not loaded:/Users/saudet/projects/bytedeco/javacpp-presets/leptonica/cppbuild/macosx-x86_64/lib/liblept.4.dylib」 – Spring
我也嘗試在Mac上安裝libstdC++ 6,但沒有找到任何信息要安裝什麼,以及如何安裝和如何 – Spring
- 1. EmguCV從哪裏使用tesseract?
- 2. 使用Tesseract的iOS
- 3. Android - 使用tesseract
- 4. 使用tesseract爲Android
- 5. 在Linux中的Java tesseract錯誤「無法加載庫'tesseract':libtesseract.so」
- 6. 在Windows中使用tesseract的Java OCR程序
- 7. iPhone:如何使用Tesseract
- 8. 在android上使用tesseract
- 9. 使用JTessBoxEditor培訓Tesseract-OCR
- 10. 如何使用Tesseract-android-tools
- 11. 高級使用Tesseract OCR
- 12. 使用Tesseract with visual studio 2012
- 13. Tesseract CPU使用率100%
- 14. 在MTG卡上使用tesseract
- 15. 在Ubuntu下使用tesseract
- 16. 從Python應用程序中使用Tesseract OCR的性能問題
- 17. 使用C++的Tesseract API的包裝類
- 18. 如何在android和eclipse和java中使用tesseract OCR
- 19. 使用tesseract時的鏈接器錯誤
- 20. 通過Intent使用基於Tesseract的OCR
- 21. Tesseract使用的過濾器類型
- 22. 如何使用Tesseract從Android中的圖像讀取單行
- 23. 使用tesseract從圖片中讀取突出顯示的文本
- 24. 從PNG數據到tesseract
- 25. Tesseract:從矩形讀取
- 26. 無法編譯使用Tesseract 3.0.2.02的WIndows的Tesseract API示例檔案
- 27. 的Tesseract-OCR 3.02用的libC++
- 28. 如何在C#中使用tesseract的其他語言Tesseract 3.02 + Emgu 2.4.9
- 29. Tesseract用戶模式
- 30. 禁用Tesseract中的字典
http://tess4j.sourceforge.net/,但從來沒有嘗試過。 – miku
好找,@miku。它使用JNA,這將是對請求(即JNI)的答案,但不需要重新發明輪子... – PhiLho