linux java ocr_Linux环境如何支持使用tess4j进行ORC
一、GCC環(huán)境
首先Linux環(huán)境需要安裝gcc,這個(gè)在后面需要編譯so庫(kù)使用,因?yàn)槲业沫h(huán)境已經(jīng)有了,所以這里就不贅述了,到網(wǎng)上找一下一大堆。
查看GCC版本:
$ gcc --version
gcc版本
二、下載Tesseract和Leptonica安裝包
Tesseract作為OCR引擎,避免不了使用圖像處理。Tesseract使用的圖像處理主要由Leptonica提供。Leptonica包含眾多圖像處理和圖像分析相關(guān)的功能。Tesseract 4.0必須要求Leptonica在1.74以上,我選著的tesseract-ocr-4.1.1 Release 和 leptonica-1.79,點(diǎn)擊可直接下載。
下載后上傳到服務(wù)器:
image.png
還有在線下載方式,但是這種方式因網(wǎng)絡(luò)問(wèn)題會(huì)很慢,可能還會(huì)下載不完全,不建議使用:
$ wget http://www.leptonica.com/source/leptonica-1.79.0.tar.gz
$ wget https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz
三、編譯so庫(kù)
1、解壓兩個(gè)壓縮包
$ tar -zxvf leptonica-1.79.0.tar.gz
$ tar -zxvf tesseract-4.1.1.tar.gz
image.png
2、進(jìn)入leptonica-1.79.0目錄,編譯leptonica:
$ cd leptonica-1.79.0
$ ./configure && make && make install
編譯成功!
3、 進(jìn)入tesseract-4.1.1目錄,編譯tesseract前要先生成configure文件,直接執(zhí)行./autogen.sh會(huì)報(bào)錯(cuò),如下圖:
$ ./autogen.sh
錯(cuò)誤原因缺少libtool*插件,解決方式:
第一步:
$ yum install automake -y
第二步:
在執(zhí)行安裝 libtool插件
$ yum install libtool -y
上面兩步完成后,當(dāng)前目錄下就會(huì)有個(gè)configure文件,它是源代碼安裝的第一步,主要的作用是對(duì)即將安裝的軟件進(jìn)行配置,檢查當(dāng)前的環(huán)境是否滿足要安裝軟件的依賴關(guān)系,開始
編譯tesseract-4.1.1
執(zhí)行
$ ./configure && make && make install
唉 缺少C++編譯器,安裝:
$ yum install gcc gcc-c++
c++ 安裝完成
再次運(yùn)行
$ ./configure && make && make install
報(bào)錯(cuò):
解決方式,在/etc/profile中配置一下leptonica的環(huán)境變量
export LD_LIBRARY_PATH=$LD_LIBRARY_PAYT:/usr/local/lib
export LIBLEPT_HEADERSDIR=/usr/local/include
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ vim /etc/profile
$ source /etc/profile
$ ./configure && make && make install
image.png
ok,編譯成功。
下載中文簡(jiǎn)體語(yǔ)言庫(kù)chi_sim.traineddata,上傳到Linux /usr/local/share/tessdata/目錄:
image.png
測(cè)試下:
$ tesseract 123.png wenben -l chi_sim
報(bào)錯(cuò)是因?yàn)榄h(huán)境沒(méi)有安裝這些libjpeg* libpng* freetype* gd* giflib* libtiff* zlib*依賴庫(kù),并不是所有的都用到,可以只安裝libjpeg* libpng* libtiff*就可以了。
$ yum -y install libjpeg* libpng* libtiff*
重新編譯leptonica
$ make clean
$ ./configure && make && make install
重新編譯完成,tesseract --version 查看
順便在測(cè)試下:
$ tesseract 123.png wenben -l chi_sim
ok沒(méi)啥問(wèn)題,查看編譯好的so庫(kù)。
$cd /usr/local/lib
so庫(kù)
紅框標(biāo)注的這兩個(gè)庫(kù)就是支持tess4j在linux上進(jìn)行文字識(shí)別的庫(kù),其他的都是軟連接指向liblept.so.5.0.4和libtesseract.so.4.0.1。最后一步,復(fù)制liblept.so.5.0.4和libtesseract.so.4.0.1到/usr/lib64目錄下。
注意:
我使用的這個(gè)版本庫(kù)名必須要是libtesseract.so和liblept.so.5,創(chuàng)建軟連接也好,直接改名也行,不然tess4j會(huì)報(bào)錯(cuò)找不到指定的依賴庫(kù),我們可以根據(jù)程序拋出的異常去確認(rèn)庫(kù)名。
到這就得到支持tessj4的庫(kù)了,可以把上一篇中的代碼打包一下上傳到服務(wù)測(cè)試下,后續(xù)我會(huì)把編譯好的庫(kù)地址在評(píng)論中發(fā)出來(lái)。
參考:
《centos編譯安裝tesseract-ocr 3.05》
《linux (centos7)上裝Tesseract-OCR最新版本(5.0)》
總結(jié)
以上是生活随笔為你收集整理的linux java ocr_Linux环境如何支持使用tess4j进行ORC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 控制人口过快增长容易,逆转人口出生率过低
- 下一篇: 国防科技大学属于军校吗