主頁 > 知識庫 > python實現(xiàn)圖像識別的示例代碼

python實現(xiàn)圖像識別的示例代碼

熱門標(biāo)簽:長春人工智能電銷機(jī)器人官網(wǎng) 廈門crm外呼系統(tǒng)如何 地圖標(biāo)注推廣單頁 百應(yīng)ai電銷機(jī)器人鄭州 如何在地圖標(biāo)注文字 n400電話申請多少錢 女王谷地圖標(biāo)注 ai地圖標(biāo)注 西藏快速地圖標(biāo)注地點

一、安裝庫

首先我們需要安裝PIL和pytesseract庫。
PIL:(Python Imaging Library)是Python平臺上的圖像處理標(biāo)準(zhǔn)庫,功能非常強(qiáng)大。
pytesseract:圖像識別庫。

我這里使用的是python3.6,PIL不支持python3所以使用如下命令

pip install pytesseract
pip install pillow

如果是python2,則在命令行執(zhí)行如下命令:

pip install pytesseract
pip install PIL

這時候我們?nèi)ミ\行上面的代碼會發(fā)現(xiàn)如下錯誤:

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

這是因為我們沒有安裝tesseract-ocr引擎

二、tesseract-ocr引擎

光學(xué)字符識別(OCR,Optical Character Recognition)是指對文本資料進(jìn)行掃描,然后對圖像文件進(jìn)行分析處理,獲取文字及版面信息的過程。OCR技術(shù)非常專業(yè),一般多是印刷、打印行業(yè)的從業(yè)人員使用,可以快速的將紙質(zhì)資料轉(zhuǎn)換為電子資料。關(guān)于中文OCR,目前國內(nèi)水平較高的有清華文通、漢王、尚書,其產(chǎn)品各有千秋,價格不菲。國外OCR發(fā)展較早,像一些大公司,如IBM、微軟、HP等,即使沒有推出單獨的OCR產(chǎn)品,但是他們的研發(fā)團(tuán)隊早已掌握核心技術(shù),將OCR功能植入了自身的軟件系統(tǒng)。對于我們程序員來說,一般用不到那么高級的,主要在開發(fā)中能夠集成基本的OCR功能就可以了。這兩天我查找了很多免費OCR軟件、類庫,特地整理一下,今天首先來談?wù)凾esseract,下一次將討論下Onenote 2010中的OCR API實現(xiàn)。可以在這里查看OCR技術(shù)的發(fā)展簡史。
Tesseract的OCR引擎最先由HP實驗室于1985年開始研發(fā),至1995年時已經(jīng)成為OCR業(yè)內(nèi)最準(zhǔn)確的三款識別引擎之一。然而,HP不久便決定放棄OCR業(yè)務(wù),Tesseract也從此塵封。
數(shù)年以后,HP意識到,與其將Tesseract束之高閣,不如貢獻(xiàn)給開源軟件業(yè),讓其重?zé)ㄐ律?005年,Tesseract由美國內(nèi)華達(dá)州信息技術(shù)研究所獲得,并求諸于Google對Tesseract進(jìn)行改進(jìn)、消除Bug、優(yōu)化工作。

###安裝tesseract-ocr引擎

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

這時候我們運行上面代碼會出現(xiàn)亂碼


這是因為tesseract默認(rèn)只有語言包中沒有中文包,如下圖:

###安裝tesseract-ocr語言包
我們?nèi)itHub下載我們需要的語言包,這里我只下載了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:定向腳本監(jiān)測(OSD)
1: 使用OSD自動分頁
2 :自動分頁,但是不使用OSD或OCR(Optical Character Recognition,光學(xué)字符識別)
3 :全自動分頁,但是沒有使用OSD(默認(rèn))
4 :假設(shè)可變大小的一個文本列。
5 :假設(shè)垂直對齊文本的單個統(tǒng)一塊。
6 :假設(shè)一個統(tǒng)一的文本塊。
7 :將圖像視為單個文本行。
8 :將圖像視為單個詞。
9 :將圖像視為圓中的單個詞。
10 :將圖像視為單個字符。

為什么這里要強(qiáng)調(diào)語言包和psm,因為我們在使用中會用到,
比如多個語言包組合并且視為統(tǒng)一的文本塊將使用如下參數(shù):

pytesseract.image_to_string(image,lang="chi_sim+eng",config="-psm 6")

這里我們通過+來合并使用多個語言包。

接下來我們看一下配置好一切的正確結(jié)果。

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)

 

此時大公告成。

到此這篇關(guān)于python實現(xiàn)圖像識別的示例代碼的文章就介紹到這了,更多相關(guān)python 圖像識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python圖像識別+KNN求解數(shù)獨的實現(xiàn)
  • python實現(xiàn)連連看輔助之圖像識別延伸
  • python實現(xiàn)連連看輔助(圖像識別)
  • python自動截取需要區(qū)域,進(jìn)行圖像識別的方法
  • python實現(xiàn)圖像識別功能
  • 用Python進(jìn)行簡單圖像識別(驗證碼)
  • 微信跳一跳python輔助軟件思路及圖像識別源碼解析

標(biāo)簽:亳州 廊坊 內(nèi)江 綿陽 興安盟 拉薩 黔東 渭南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python實現(xiàn)圖像識別的示例代碼》,本文關(guān)鍵詞  python,實現(xiàn),圖像,識,別的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實現(xiàn)圖像識別的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于python實現(xiàn)圖像識別的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章