跨平臺Windows和Linux(銀河麒麟)操作系統OCR識別應用
1 運行效果
代碼下載鏈接: https://pan.baidu.com/s/1NUfLTjk6kzXJKsaH7yo4qA?pwd=rk5c 提取碼: rk5c。
在銀河麒麟桌面操作系統V10(SP1)上運行OCR識別效果如下圖:

2 在Linux上安裝Tesseract OCR引擎
2.1 下載tesseract-ocr和leptonica
https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/5.2.0 http://www.leptonica.org/source/leptonica-1.82.0.tar.gz
以上是在瀏覽器上下載,用linux的wget方式下載
wget https://github.com/tesseract-ocr/tesseract/archive/5.2.0.tar.gz wget http://www.leptonica.org/source/leptonica-1.82.0.tar.gz
注意版本號:使用的是tesseract.5.2.0 和 leptonica-1.82.0
下載好之后,上傳到linux服務器上的新目錄中,比如:/home/wxzz
2.2 安裝
依次執行以下命令
cd /home/wxzz tar -xvf leptonica-1.82.0.tar.gz cd leptonica-1.82.0 ./configure make make install apt install automake apt install libtool tar -xvf tesseract-5.2.0.tar.gz cd tesseract-5.2.0 ./autogen.sh ./configure make make install sudo ldconfig
2.3 配置環境變量
/*打開文件*/ vim /etc/profile /*在文件末尾添加*/ export LD_LIBRARY_PATH=/usr/local/lib export LIBLEPT_HEADERSDIR=/usr/local/include export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig export TESSDATA_PREFIX=/usr/local/share/tessdata /*立即生效*/ source /etc/profile
2.4 下載語言包
//中文簡體 https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/chi_sim.traineddata //英文 https://raw.githubusercontent.com/tesseract-ocr/tessdata/4.00/eng.traineddata
目前最新版本是 4.00,將下載好的語言包上傳到linux服務器指定目錄中:/usr/local/share/tessdata
2.5 測試是否安裝成功
tesseract --version
如果安裝成功,如下圖:

2.6 測試讀取圖片內容
tesseract ocr.png output -l chi_sim
可能會報錯提示,看一下實際有沒有文件輸出。參數說明:
ocr.png : 是要識別的圖片文件
output : 是識別后的文本(output.txt)
chi_sim : 用到的語言包
3 部署項目
3.1 添加引用
新建一個NET6的項目工程,在nuget 里面 查找tesseract,添加到項目中,版本是5.2.0,如下圖:

3.2 讀取圖片文字
C#實現的代碼如:
using Tesseract; namespace LinuxOCR { internal class Program { static string testImagePath = "ocr.png"; static void Main(string[] args) { string textResult = String.Empty; using (var engine = new TesseractEngine("tessdata", "eng", EngineMode.Default)) { using (var img = Pix.LoadFromFile(testImagePath)) { using (var page = engine.Process(img)) { textResult= page.GetText(); } } } Console.WriteLine("識別結果:"+textResult); Console.ReadLine(); } } }
項目工程目錄結構,如下圖:

注意:在bin\Debug\net6.0目錄下有一個tessdata目錄,其中的文件,來源于第2.4步驟的下載。
3.3 補齊linux上需要的文件
項目部署到linux上后,還需要在x64目錄中增加兩個文件:libleptonica-1.82.0.so和libtesseract50.so,把這兩個文件需要從linux服務器上的文件路徑復制到自己的工程中:/usr/lib/x86_64-linux-gnu/libleptonica.so 和 /usr/local/lib/libtesseract.so,并且把文件名分別改為:libleptonica-1.82.0.so和libtesseract50.so。發布后的x64目錄中,然后改名如下圖:
4.運行
工程發布到publish目錄后,在麒麟操作上運行dotnet LinuxOCR.dll,效果如下圖:
物聯網&大數據技術 QQ群:54256083
物聯網&大數據項目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:http://www.rzrgm.cn/lsjwq
微信公眾號:iNeuOS


浙公網安備 33010602011771號