python人工智能-圖像識別

1、安裝庫

首先咱們須要安裝PIL和pytesseract庫。 PIL:(Python Imaging Library)是Python平臺上的圖像處理標準庫,功能很是強大。 pytesseract:圖像識別庫。python

我這裏使用的是python3.6,PIL不支持python3因此使用以下命令git

pip install pytesseract
pip install pillow
複製代碼

若是是python2,則在命令行執行以下命令:程序員

pip install pytesseract
pip install PIL
複製代碼

這時候咱們去運行上面的代碼會發現以下錯誤: github

錯誤提示的很明顯: No such file or directory :"tesseract"bash

這是由於咱們沒有安裝tesseract-ocr引擎優化

2、tesseract-ocr引擎

光學字符識別(OCR,Optical Character Recognition)是指對文本資料進行掃描,而後對圖像文件進行分析處理,獲取文字及版面信息的過程。OCR技術很是專業,通常可能是印刷、打印行業的從業人員使用,能夠快速的將紙質資料轉換爲電子資料。關於中文OCR,目前國內水平較高的有清華文通、漢王、尚書,其產品各有千秋,價格不菲。國外OCR發展較早,像一些大公司,如IBM、微軟、HP等,即便沒有推出單獨的OCR產品,可是他們的研發團隊早已掌握核心技術,將OCR功能植入了自身的軟件系統。對於咱們程序員來講,通常用不到那麼高級的,主要在開發中可以集成基本的OCR功能就能夠了。這兩天我查找了不少免費OCR軟件、類庫,特意整理一下,今天首先來談談Tesseract,下一次將討論下Onenote 2010中的OCR API實現。能夠在這裏查看OCR技術的發展簡史。 Tesseract的OCR引擎最早由HP實驗室於1985年開始研發,至1995年時已經成爲OCR業內最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業務,Tesseract也今後塵封。 數年之後,HP意識到,與其將Tesseract束之高閣,不如貢獻給開源軟件業,讓其重煥新生--2005年,Tesseract由美國內華達州信息技術研究所得到,並求諸於Google對Tesseract進行改進、消除Bug、優化工做。ui

###安裝tesseract-ocr引擎spa

brew install tesseract
複製代碼

而後咱們經過tesseract -v看一下是否安裝成成功命令行

tesseract 3.05.01
leptonica-1.75.0
libjpeg 9b : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11
複製代碼

這時候咱們運行上面代碼會出現亂碼 這是由於tesseract默認只有語言包中沒有中文包,以下圖: 3d

###安裝tesseract-ocr語言包 咱們去GitHub下載咱們須要的語言包,這裏我只下載了chi_tra.traineddatachi_sim.traineddata github:tesseract-ocr/tessdata 而後放到/usr/local/Cellar/tesseract/3.05.01/share/tessdata路徑下面。

能夠經過tesseract --list-langs查看本地語言包:

能夠經過tesseract --help-psm 查看psm

0:定向腳本監測(OSD) 1: 使用OSD自動分頁 2 :自動分頁,可是不使用OSD或OCR(Optical Character Recognition,光學字符識別) 3 :全自動分頁,可是沒有使用OSD(默認) 4 :假設可變大小的一個文本列。 5 :假設垂直對齊文本的單個統一塊。 6 :假設一個統一的文本塊。 7 :將圖像視爲單個文本行。 8 :將圖像視爲單個詞。 9 :將圖像視爲圓中的單個詞。 10 :將圖像視爲單個字符。

爲何這裏要強調語言包和psm,由於咱們在使用中會用到, 好比多個語言包組合而且視爲統一的文本塊將使用以下參數: pytesseract.image_to_string(image,lang="chi_sim+eng",config="-psm 6") 這裏咱們經過+來合併使用多個語言包。

接下來咱們看一下配置好一切的正確結果。

import pytesseract
from PIL import Image

image = Image.open("../pic/c.png")
code = pytesseract.image_to_string(image,lang="chi_sim",config="-psm 6")
print(code)
複製代碼
此時大公告成。

喜歡的關注一下公衆號,更多幹貨等你來哦!!!

掃碼關注「偉大程序員的誕生」公衆號,也期待你的來稿哦~~

公衆號回覆「資料獲取」,獲取更多幹貨哦~

相關文章
相關標籤/搜索