国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:142日期:2022-06-24 13:09:21
一、安裝庫

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

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

pip install pytesseractpip install pillow

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

pip install pytesseractpip install PIL

這時候我們去運行上面的代碼會發(fā)現(xiàn)如下錯誤:

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

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

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

二、tesseract-ocr引擎

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

###安裝tesseract-ocr引擎

brew install tesseract

然后我們通過tesseract -v看一下是否安裝成成功

tesseract 3.05.01leptonica-1.75.0libjpeg 9b : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11

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

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

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

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

###安裝tesseract-ocr語言包我們去GitHub下載我們需要的語言包,這里我只下載了chi_tra.traineddata和chi_sim.traineddatagithub:tesseract-ocr/tessdata然后放到/usr/local/Cellar/tesseract/3.05.01/share/tessdata路徑下面。

可以通過tesseract --list-langs查看本地語言包:

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

可以通過tesseract --help-psm 查看psm

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

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

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

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

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

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

import pytesseractfrom PIL import Imageimage = Image.open('../pic/c.png')code = pytesseract.image_to_string(image,lang='chi_sim',config='-psm 6')print(code)

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

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

此時大公告成。

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 清水河县| 泸定县| 威海市| 商都县| 常山县| 苏尼特左旗| 仁怀市| 溧水县| 望江县| 巴东县| 改则县| 铜梁县| 凤城市| 西城区| 渭南市| 永定县| 武义县| 玉溪市| 万年县| 南郑县| 绥宁县| 富川| 津市市| 湘潭县| 河西区| 永春县| 城市| 涿州市| 吐鲁番市| 甘南县| 卢氏县| 潜江市| 马关县| 大庆市| 嵩明县| 新化县| 天柱县| 定南县| 木里| 历史| 宜章县|