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