日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JAVA——Tess4J简单的图像识别DEMO

發(fā)布時(shí)間:2024/10/5 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA——Tess4J简单的图像识别DEMO 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基本概念

Tesseract Open Source OCR Engine :包含一個(gè)OCR引擎?-?libtesseract和一個(gè)命令行程序?-?tesseract。Tesseract 4添加了一個(gè)新的基于LSTM的OCR引擎,該引擎專注于行識(shí)別,但仍支持Tesseract 3的傳統(tǒng)Tesseract OCR引擎,該引擎通過(guò)識(shí)別字符模式進(jìn)行工作。通過(guò)使用傳統(tǒng)OCR引擎模式(--oem 0),可以與Tesseract 3兼容。它還需要訓(xùn)練有素的數(shù)據(jù)文件來(lái)支持舊式引擎,例如tessdata存儲(chǔ)庫(kù)中的文件。

Tess4J:Tesseract OCR API的?Java JNA包裝器。

Maven

<dependencies><dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>4.4.0</version></dependency></dependencies>

GitHub?

Tesseract Open Source OCR Engine :https://github.com/tesseract-ocr/tesseract

Tess4J項(xiàng)目:https://github.com/nguyenq/tess4j

語(yǔ)言庫(kù):https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata

DEMO

1、首先創(chuàng)建一個(gè)新的maven項(xiàng)目,將所需jar包引入pom.xml

2、在任意地方創(chuàng)建一個(gè)文件夾tessdata,將下載的chi_sim.traineddata 和 eng.traineddata語(yǔ)言包存放在該目錄下,也可以直接存放到自己項(xiàng)目的resources/tessdata目錄下。

?

3、編寫代碼

// 識(shí)別圖片的路徑(修改為自己的圖片路徑)String path = "D:\\test.jpg";// 語(yǔ)言庫(kù)位置(修改為跟自己語(yǔ)言庫(kù)文件夾的路徑)String lagnguagePath = "D:\\tessdata";File file = new File(path);ITesseract instance = new Tesseract();//設(shè)置訓(xùn)練庫(kù)的位置instance.setDatapath(lagnguagePath);//chi_sim :簡(jiǎn)體中文, eng 根據(jù)需求選擇語(yǔ)言庫(kù)instance.setLanguage("eng");String result = null;try {long startTime = System.currentTimeMillis();result = instance.doOCR(file);long endTime = System.currentTimeMillis();System.out.println("Time is:" + (endTime - startTime) + " 毫秒");} catch (TesseractException e) {e.printStackTrace();}System.out.println("result: ");System.out.println(result);

?

5、可選步驟:配置環(huán)境變量(TESSDATA_PREFIX)

環(huán)境變量地址指向你存放語(yǔ)言包的文件夾路徑,如:我的語(yǔ)言包路徑在 D:\tessdata

?

?

運(yùn)行結(jié)果

以一張簡(jiǎn)單的圖片為例:圖片放置在D:\test.png根目錄下,因此使用代碼測(cè)試前需要修改代碼中指定的兩個(gè)路徑!!!

識(shí)別圖片:

運(yùn)行代碼后:

常見問(wèn)題?

解決chi_sim.traineddata報(bào)read_params_file: parameter not found: allow_blob_division

Warning: Invalid resolution 0 dpi. Using 70 instead.

關(guān)于tesseract 出錯(cuò)信息:read_params_file: Can't open chi_sim

擴(kuò)展學(xué)習(xí)

提高識(shí)別率

1.對(duì)稱近鄰均值濾波

參考:

http://blog.csdn.net/fangbinwei93/article/details/50562449

2.指定config為digits,并修改tessdata\configs\digits文件,將白名單中設(shè)置需要識(shí)別的內(nèi)容。如只需要識(shí)別數(shù)字,則指定whitelist為0123456789即可。

也可在程序中指定:

參考:

http://blog.csdn.net/hellousb2010/article/details/39477859

3.盡量指定圖像的一塊區(qū)域識(shí)別。比如驗(yàn)證碼起始位置和結(jié)束位置很多空白的,可以去掉,只對(duì)驗(yàn)證碼區(qū)域做識(shí)別。

4.訓(xùn)練字庫(kù),提升識(shí)別率

參考:

http://blog.csdn.net/white0blue/article/details/47972405

http://blog.csdn.net/tuling_research/article/details/41091163

其他參考

tesseract-ocr參數(shù):http://www.sk-spell.sk.cx/tesseract-ocr-parameters-in-302-version

參考文章

https://www.jianshu.com/p/ef60ef5395c5

https://www.cnblogs.com/asker009/p/11098220.html

https://blog.csdn.net/qincidong/article/details/82781361

https://blog.csdn.net/zai_xia/article/details/80003778

總結(jié)

以上是生活随笔為你收集整理的JAVA——Tess4J简单的图像识别DEMO的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。