使用Tess4J碰到的各路問題

背景:項(xiàng)目需要掃描識(shí)別技術(shù),比較了微軟(智能識(shí)別技術(shù))和谷歌的(Tess4J),決定使用這個(gè)開源的東東。

建議:

1、可以到GitHub找相關(guān)的Tess4J項(xiàng)目

2、到Tess4J官方下載最新的包,查看示例代碼?http://tess4j.sourceforge.net/

3、到Tess4J官網(wǎng)下載示例代碼?https://sourceforge.net/projects/tess4j/?速度比較慢

4、指導(dǎo)頁(yè)面,對(duì)應(yīng)編輯器,建立簡(jiǎn)單代碼?http://tess4j.sourceforge.net/tutorial/

一、項(xiàng)目結(jié)構(gòu):使用eclipse 構(gòu)建java項(xiàng)目,下圖為項(xiàng)目結(jié)構(gòu)


構(gòu)建TestTess4j.java,(勾選作為main函數(shù))

public class TestTess4j {

public static void main(String args[]) {

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

Tesseract instance = Tesseract.getInstance();

try {

String result = instance.doOCR(imageFile);

System.out.println(result);

} catch (Exception e) {

System.err.println(e.getCause());

}

}

}


右擊運(yùn)行,java application ,選擇你的main類,TestTess4j。

輸出成功。

注意:jar包和dll文件是對(duì)應(yīng)的,更高版本的dll文件在jar包中,可以不引用dll文件。

二、創(chuàng)建web項(xiàng)目,引用具有多個(gè)API接口類的Tess4J項(xiàng)目。

三、整個(gè)過程碰到的問題

1、找不到tess4j

原因,僅僅在class path中引入了jar包,沒有在WEB-INF的lib目錄下拷貝jar包,總是報(bào)錯(cuò)。

2、找不到模塊

一個(gè)jar包,對(duì)應(yīng)一個(gè)dll,每個(gè)dll版本不同名稱不同,系統(tǒng)也區(qū)分32--64,在LoadLibs.java中有


這個(gè)302代表的是和jar包對(duì)應(yīng)的dll文件

如果不清楚版本號(hào),可以使用ZAR打開jar包,查看里面的dll文件名稱。

注意:lept4j.jar 和test4J.jar的版本要對(duì)應(yīng),因?yàn)樗鼈兝锩娲虬薲ll文件,需要匹配。

3、Invalid memory access

這個(gè)屬于tessract實(shí)例化的時(shí)候,默認(rèn)找不到tessdata包,因?yàn)檫@個(gè)包里面有對(duì)應(yīng)的語(yǔ)言訓(xùn)練包,需要指定

這里直接使用了絕對(duì)路徑


4、java.jna.pointer報(bào)錯(cuò)

這個(gè)是因?yàn)閠ess4j的jar包問題,需要更換對(duì)應(yīng)的版本

5、java.lang.UnsatisfiedLinkError?

這個(gè)是因?yàn)閐ll文件不能正常加載的問題,這個(gè)有很多可能性

(1)、dll文件和你本地系統(tǒng)的c++環(huán)境不匹配,不同的libtesseract3**貌似使用的是不同版本的vs編輯器,

我的302最終,我重新到微軟的官網(wǎng)下載了運(yùn)行的配件?

這個(gè)是2013組件地址?https://www.microsoft.com/zh-cn/download/details.aspx?id=40784

?(2)、dll文件缺失或者錯(cuò)誤匹配

例如302.dll需要匹配168


而305則需要匹配174

這個(gè)可以通過dll檢測(cè)軟件來(lái)查詢,

找對(duì)應(yīng)的dll文件

https://sourceforge.net/projects/tess4j/files/lept4j/

使用Dependency Walker工具查看DLL文件,通過軟件打開libtesseract302.dll如果缺少liblept***.dll則會(huì)出現(xiàn)黃色嘆號(hào),

(3)你的系統(tǒng)可能缺少必要的dll文件,通過剛才的軟件,打開dll后,看到黃色嘆號(hào),表示缺少軟件

經(jīng)測(cè)試,有嘆號(hào)的情況也能正常運(yùn)行。

三、web項(xiàng)目的目錄結(jié)構(gòu)





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容