久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

OpenCV3入門教程(三)Tesseract

 行走在理想邊緣 2019-05-12

------韋訪 20181016

1、概述

上一講學習了怎么樣用opencv識別車牌,,但是,,我們只做到了將車牌上的字符分割出來,還沒有對字符進行識別,,這一講先來學習OCR(Optical Character Recognition,,光學字符識別)。目前OCR用的比較多的是開源框架Tesseract-OCR,,所以就挑這個來學學,。

2、Tesseract-OCR安裝

Ubuntu的話,,直接執(zhí)行命令:

sudo apt-get install tesseract-ocr

就可以安裝了,,我沒試過。下面我們用源碼安裝,。

下載tesseract-ocr源碼:

Github地址為:https://github.com/tesseract-ocr/tesseract

安裝步驟可以參考文檔:https://github.com/tesseract-ocr/tesseract/wiki/Compiling

安裝依賴:

首先安裝一些依賴工具和庫:

sudo apt-get install g++ # or clang++ (presumably)

sudo apt-get install autoconf automake libtool

sudo apt-get install pkg-config

sudo apt-get install libpng-dev

sudo apt-get install libjpeg8-dev

sudo apt-get install libtiff5-dev

sudo apt-get install zlib1g-dev

如果想自己訓練數(shù)據(jù),,則還要安裝以下工具:

sudo apt-get install libicu-dev

sudo apt-get install libpango1.0-dev

sudo apt-get install libcairo2-dev

再安裝Leptonica:

注意Tesseract和Leptonica版本的對應,,如下表,

 

安裝命令如下,,

wget http://www./source/leptonica-1.74.4.tar.gz

tar -zxvf leptonica-1.74.4.tar.gz 

cd leptonica-1.74.4/

./configure

make -j8

編譯安裝:

先cd到源碼的根目錄,,然后運行

mkdir local

./autogen.sh

./configure --with-extra-libraries=/usr/local/include

make -j8

sudo make install

sudo ldconfig

如果上面命令都通過,再執(zhí)行命令

tesseract

如果打印如下信息則說明安裝成功,。

安裝語言包:

git clone https://github.com/tesseract-ocr/tessdata.git

然后將所有的.traineddata文件拷貝到/usr/local/share/tessdata/文件夾,。

用tesseract測試文字識別:

 

我們要識別的圖片如上圖,運行以下命令,,

tesseract 05.png 05 -l chi_sim

-l可以指定字庫文件,,chi_sim是識別中文的字庫,運行后會生成05.txt文本文件,,

 

可以看到,,中文識別出來了,但是英文的都識別出什么鬼咯,!那指定一個英文的字庫文件看看效果如何,?運行命令,

tesseract 05.png 05_en -l eng

運行結(jié)果,,

這下英文識別正確,,中文沒識別出來。就不能同時識別中文和英文嗎,?字庫就不能混用嗎,?百度了以下,蠻多人都有這個疑問的,,找了老半天,,在這個博客找到方法,

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

把兩個字庫用加法”+”連起來就可以了,,命令如下,

tesseract 05.png 05 -l chi_sim+eng

運行結(jié)果,,

3,、Python編程

想讓python調(diào)用tesseract,得先執(zhí)行以下命令安裝pytesseract,,

sudo pip install pytesseract

安裝好以后,,識別圖片里的字符就很簡單了,執(zhí)行以下代碼,,

  1. import pytesseract as pyt
  2. from PIL import Image

  3. img = Image.open('05.png')
  4. text = pyt.image_to_string(img, lang='chi_sim+eng')
  5. print(text)

運行結(jié)果:

4,、試著用官方字庫識別車牌

上面的例子既然能識別中文、英文和數(shù)字,,那么,,能否直接用來識別我們上一講提取出來的車牌呢,?試試看,

扣出來的字符圖片為,,代碼如下,,

  1. #encoding:utf-8
  2. import pytesseract as pyt
  3. from PIL import Image

  4. img = Image.open('chepai_img0.jpg')
  5. text = pyt.image_to_string(img, lang='chi_sim+eng')
  6. print('車牌:' + str(text))

運行結(jié)果:

什么都沒識別到,試試中文呢,?原圖片為,,運行結(jié)果:

也什么都沒識別出來。

5,、訓練

既然使用官方的字庫無法識別出字符,,那么,我們就應該訓練自己的數(shù)據(jù),,訓練需要用到一個工具---jTessBoxEditorFX,,這個工具是java寫的,我的系統(tǒng)是ubuntu,,jTessBoxEditorFX根目錄如下圖,,

Windows系統(tǒng)直接雙擊train.bat文件即可,linux系統(tǒng)則運行train腳本,,我電腦運行腳本后,,提示錯誤如下:

Error: Could not find or load main class net.sourceforge.tessboxeditor.JTessBoxEditor

搞了半天不知什么原因,在我自己的電腦上運行也是這個問題,,我就想會不會是這個工具不支持openjdk導致的,?因為我兩臺電腦安裝的都是openjdk,然后,,將openjdk改成Oracle的,,果然就可以了。因為公司電腦要編譯安裝7.1系統(tǒng),,只能用Openjdk,,所以就不改公司電腦環(huán)境了,先往后學,,以后再補上OCR自己訓練字庫這部分,。

 

如果您感覺本篇博客對您有幫助,請打開支付寶,,領(lǐng)個紅包支持一下,,祝您掃到99元,謝謝~~

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多