導航:首頁 > 編程語言 > javaocrjar

javaocrjar

發布時間:2023-09-05 02:39:16

java 怎麼調用tess4j

網上傳的代碼示例大多是在Windows下安裝Tesseract ORC後通過CMD命令操作進行圖識別操作.而 Tess4j 針對Tesseract 提供了JNI支持,同時還提供了一些圖片操作的工具類,提供比如圖片放大,旋轉,黑白處理,銳化 等用來提高識別率的操作.操作十分方便. Tess4j 簡單到超乎想像,只是自己在使用環境比較特殊,遇到很多問題,這里一一道來.

1 依賴包.

tess4j.jar Tess4j的本尊,用於Tesseract 的JNA支持,並提供相關操作工具類

jna.jar 看到Tesseract 的第一反應是要用cmd或JNI來操作它,了解了一下 Tess4j 使用的JNA,有點JNI高級版的感覺,CMD什麼的,玩蛋蛋去吧.

jai_imageio.jar 圖片操作的工具類,支持Tiff就靠它了. 它的 META-INF 里有文章,這個後面詳說.

還有其它幾個包,是用於操作PDF用的吧,沒有引用,也沒有發生錯誤.所以的包可以在 Tess4j 的文件目錄裡面找到.

2 操作代碼.

官方的示例中給出了一個超級簡單有效的示例,不足20行代碼!!!我和小夥伴們都被震驚了!!!關鍵代碼如下:

Java代碼 收藏代碼

File imageFile = new File("eurotext.tif");

Tesseract instance = Tesseract.getInstance(); // JNA Interface Mapping

String result = instance.doOCR(imageFile);

實際使用中為了提高識別率還要對圖片作一些處理來提高識別率,使用Tess4j 自帶的工具類即可完成,這樣識別率就大大的提高了.( 這里無法解決 驗證碼 中干擾線問題,干擾線的清理,網上有其它方式處理 )

Java代碼 收藏代碼

// 這里對圖片黑白處理,增強識別率.這里先通過截圖,截取圖片中需要識別的部分

BufferedImage textImage = ImageHelper.convertImageToGrayscale(ImageHelper.getSubImage(panel.image, startX, startY, endX, endY));

// 圖片銳化,自己使用中影響識別率的主要因素是針式列印機字跡不連貫,所以銳化反而降低識別率

// textImage = ImageHelper.convertImageToBinary(textImage);

// 圖片放大5倍,增強識別率(很多圖片本身無法識別,放大5倍時就可以輕易識,但是考濾到客戶電腦配置低,針式列印機列印不連貫的問題,這里就放大5倍)

textImage = ImageHelper.getScaledInstance(textImage, endX * 5, endY * 5);

3 使用中遇到的問題

3.1 相關DLL文件,相關字型檔文件

liblept168.dll,libtesseract302.dll 其中 liblept168.dll 要先載入.

tessdata 存放的是字型檔文件,如果需要數字,英文以外的支持需要 Tesseract 頁面下載相關字型檔.

因為公司使用時是將文件打成Jar布署,然後提供客戶端下載,所以就把以上兩個文件一起打進tess4j.jar裡面,然後客戶端使用時 tessdata 直接可用,而 liblept168.dll,libtesseract302.dll 需要釋放到臨時目錄然後載入.相關代碼:

⑵ java怎麼自己做一個orc身份證識別

是OCR文字識別技術來識別身份證吧。OCR識別身份證的話,會涉及到數字識別,中文識別,英文識別的。數字和英文相對比較好識別。中文麻煩一些。目前市場上有一個開源的,tesseract識別效果稍微比較好。樓主可以試一試。tesseract是C++做的,java可以使用JNI調用C語言的。如果樓主不差錢,並且識別效果要求高的話,建議使用第三方的識別軟體。樓主可以和取得聯系。希望幫助到樓主,希望採納,謝謝!

⑶ 有沒有比較好用的java ocr包

雲脈OCR SDK開發者平台,注冊賬號就可以接入OCR API,你可以去試著看看

⑷ ocr是干什麼用的一般什麼情況下會用到ocr

OCR技術其實說白了就是一種識別技術,比如說將圖片上的文字經過識別掃內面的方式轉化成TXT文檔或者是容word格式,也可以將音頻轉化成文字的一種技術。具體的話,它包含的有什麼語音識別,截圖識別,銀行卡識別,車票識別,營業執照識別,駕駛證識別等等這些功能吧。如果你還有點不懂的話,可以實際去操作一些OCR文字識別軟體的功能。

⑸ 如何在windows上編譯Tesseract OCR

最近要用java實現一個驗證碼識別系統,選了半天之後最終決定用Tesseract-OCR作為識別引擎。既然是java+Tesseract-OCR,自然就首選Tess4J。由於Tess4J直接且僅提供了編譯成dll的3.02版本的Tesseract-OCR,而我的最終目標Linux下使用且想自己更換Tesseract-OCR的版本,就決定自己動手對Tesseract-OCR的代碼進行編譯。而這篇文章就是這次研究的中間產物。
雖然Tess4J目前支持的是Tesseract-OCR 3.02,但Tesseract-OCR無法在Tess4J中直接進行使用,還需要使用capi進行封裝,但這個就是後話了,本文僅介紹如何在windows環境下編譯Tesseract-OCR。

准備工作
根據GoogleCode上下載Tesseract-OCR的windows安裝版本測試的結果及官方說明文檔,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照這個目標來收集所需的支持庫。由於最終目標是在Linux下編譯成功,所以我選擇了msys+tdm-gcc來模擬Linux下的編譯過程。

需要下載的庫有:
1) zlib-1.2.7
2) libpng-1.5.10
3) giflib-4.1.6
4) libungif-4.1.4(這個似乎在最終的編譯過程中沒有起作用)
5) jpeg-8d
6) jbigkit-2.0
7) tiff-3.9.5
8) libwebp-0.1.3 9) leptonica-1.68

編譯環境推薦使用最新的msys和tdm-gcc:
1) msys可以通過下載mingw-get-insta-20120426進行安裝。
2) tdm-gcc推薦使用4.5.2版本。
Tesseract-OCR 3.02可以通過svn獲取,地址是:http://tesseract-ocr.googlecode.com/svn/trunk
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);

編譯
本節所列出的為完整的編譯過程及步驟順序,請按照順序進行。以下所述步驟均在msys+tdm-gcc4.5.2測試通過。執行命令前,請先解壓縮,並進入解壓縮後的目錄。
zlib-1.2.7
解壓後進入代碼目錄,執行以下命令: ./configure
make -f win32/makefile.gcc
make -f win32/makefile.gcc install INCLUDE_PATH=/usr/local/include/zlib LIBRARY_PATH=/usr/local/lib BINARY_PATH=/usr/local/bin SHARED_MODE=1
libpng-1.5.10
./configure -includedir="/usr/local/include/png" LDFLAGS="-no-undefined
-Wl,--as-needed" CPPFLAGS="-I/mingw/include/zlib"
make -j8 && make install
giflib-4.1.6
./autogen.sh
./configureLDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/gif"
cd lib
make -j8 && make install
libungif-4.1.4
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/ungif"
cd lib
make -j8 && make install
jpeg-8d
./configure
LDFLAGS="-no-undefined
-Wl,--as-needed"
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
-includedir="/usr/local/include/jpeg"
make -j8 && make install
jbigkit-2.0
jbigkit由tiff組件所使用,雖不是必選項,但為了保證過程的完整這里也順帶一提。
由於jbig的Makefile中僅提供生成靜態庫的動作,因此必須自己手動在Makefile中加入生成動態庫的部分,否則在鏈接tiff庫時也僅能生成靜態庫。從而影響到leptonica的鏈接。
tiff-3.9.5
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/tiff" --with-zlib-include-dir="/mingw/include/zlib" --with-zlib-lib-dir="/mingw/lib" --with-jpeg-include-dir="/mingw/include/jpeg" --with-jpeg-lib-dir="/mingw/lib" --with-jbig-include-dir="/mingw/include/jbig" --with-jbig-lib-dir="/mingw/lib"
make -j8 && make install
libwebp-0.1.3
./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/webp" --with-pngincludedir="/mingw/include/png" --with-pnglibdir="/mingw/lib" --with-jpegincludedir="/mingw/include/jpeg" --with-jpeglibdir="/mingw/lib" CPPFLAGS="-DQGLOBAL_H"
make -j8 && make install
leptonica-1.68
autobuild ./configure -includedir="/usr/local/include" LDFLAGS="-no-undefined" CPPFLAGS="-I/mingw/include/zlib -I/mingw/include/png -I/mingw/include/gif -I/mingw/include/ungif -I/mingw/include/jpeg -I/mingw/include/tiff -I/mingw/include/webp"
make -j8 && make install 說明:
使用了zlib庫後,可能導致編譯出錯。這時請修改pngio.c: 在#include "png.h"後添加 #ifdef HAVE_LIBZ #include "zlib.h"

⑹ java 如何讀取附加到圖片上的文字

圖片上的文字是沒法讀取的,以為這涉及到圖像處理。非常非常復雜!因為如果你內非要讀取圖片上的容文字,不是幾行代碼可以搞定的,首相從matlaB開始學,了解什麼是圖像處理。然後再開發相應的jar包。當然,你也可以使用相關的軟體工具,比如識圖軟體,通過讀取軟體的反饋也算是讀取了圖片上的文字

⑺ java如何提高百度文字識別的准確度

java文字識別程序的關鍵是尋找一個可以調用的OCR引擎。tesseract-ocr就是一個這樣的OCR引擎,在1985年到1995年由HP實驗室開發,現在在Google。tesseract-ocr 3.0發布,支持中文。不過tesseract-ocr 3.0不是圖形化界面的客戶端,別人寫的FreeOCR圖形化客戶端還不支持導入新的 3.0 traineddata。但這標志著,現在有自由的中文OCR軟體了。
java中使用tesseract-ocr3.01的步驟如下:
1.下載安裝tesseract-ocr-setup-3.01-1.exe(3.0以上版本才增加了中文識別)
2.在安裝向導中可以選擇需要下載的語言包。
3.到網上搜索下載java圖形處理所需的2個包:jai_imageio-1.1-alpha.jar,swingx-1.6.1.jar
4.java程序清單:
文字識別私有化部署方案
可部署至「本地伺服器」的文字識別服務,支持主流 CPU/GPU 環境及國產化系統部署,通用場景、卡證、票據、iOCR 等各類 OCR 模型及自定義平台均可提供容器化部署包,在專有網路環境下一鍵部署應用,保障數據私密性。同時,可提供通用型一體機或國產化一體機,軟硬一體交付,開箱即用,統一維保
快捷部署
容器化打包,支持本地物理機、私有雲等多種部署方式,提供一鍵部署工具和常用運維工具,快速接入、高效運維
數據安全
專有網路環境下本地化部署,數據無需公網上傳,實現業務網路公私分離,保障企業核心生產數據的私密性要求
適配廣泛
CPU 及 GPU 環境均可部署,主流 GPU 顯卡類型均已適配,並可支持國產化系統部署
授權靈活
根據QPS和使用期限進行授權,可自由選擇不同QPS配置,靈活適應不同場景、不同業務的並發量需求
成為開發者
三步完成賬號的基本注冊與認證:
STEP1:點擊網路AI開放平台導航右側的控制台,選擇需要使用的AI服務項。若為未登錄狀態,將跳轉至登錄界面,請您使用網路賬號登錄。如還未持有網路賬戶,可以點擊此處注冊網路賬戶。
STEP2:首次使用,登錄後將會進入開發者認證頁面,請填寫相關信息完成開發者認證。註:(如您之前已經是網路雲用戶或網路開發者中心用戶,此步可略過)。
STEP3:通過控制台左側導航,選擇產品服務-人工智慧,進入具體AI服務項的控制面板(如文字識別、人臉識別),進行相關業務操作。
希望能幫到你,謝謝!

閱讀全文

與javaocrjar相關的資料

熱點內容
更改程序圖標c語言 瀏覽:629
網路電視偷停怎麼辦 瀏覽:418
linux連接ftp 瀏覽:512
es文件瀏覽器視頻筆記 瀏覽:874
mac無法打開描述文件 瀏覽:134
什麼軟體打文件 瀏覽:53
資料庫無數據變成0 瀏覽:899
名企筆試如何刷編程題 瀏覽:49
js跳到頁面某地 瀏覽:550
jsp展示clob欄位 瀏覽:779
nyx在網路上是什麼意思 瀏覽:145
樂播農業app是什麼 瀏覽:530
編程框架如何開發 瀏覽:136
金庸群俠傳3修改代碼 瀏覽:712
檢察院的文件類別有哪些 瀏覽:793
怎麼把九游殘留數據刪除 瀏覽:828
有什麼女生主動聊天的app 瀏覽:436
有哪些可以督促自己的app 瀏覽:244
用USB傳輸視頻文件夾顯示為空 瀏覽:710
恢復文件軟體免費版手機 瀏覽:648

友情鏈接