本篇內容主要講解“python3怎么安裝OCR識別庫tesserocr”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python3怎么安裝OCR識別庫tesserocr”吧!
成都創(chuàng)新互聯(lián)主營東乃網站建設的網絡公司,主營網站建設方案,app開發(fā)定制,東乃h5成都小程序開發(fā)搭建,東乃網站營銷推廣歡迎東乃等地區(qū)企業(yè)咨詢undefined
OCR簡介
OCR,即Optical Character Recognition,光學字符識別,是指通過掃描字符,然后通過其形狀將其翻譯成電子文本的過程,對應圖形驗證碼來說,它們都是一些不規(guī)則的字符,這些字符是由字符稍加扭曲變換得到的內容,我們可以使用OCR技術來講其轉化為電子文本,然后將結果提取交給服務器,便可以達到自動識別驗證碼的過程。
window環(huán)境
環(huán)境材料準備
Window10
Python-3.7.3.tgz
tesserocr安裝包
安裝tesserocr
1、打開鏈接,https://digi.bib.uni-mannheim.de/tesseract/,見下圖。
下載最新版的tesseract-ocr-w64-setup-v5.0.0.20190623.exe,然后安裝,本人直接安裝在C盤目錄下。安裝完畢后,如下圖。
配置環(huán)境變量,有兩個步驟。
在系統(tǒng)變量里,修改path,如下圖。
在系統(tǒng)變量里,創(chuàng)建一個新的變量名為:TESSDATA_PREFIX,值為:C:\Program Files\Tesseract-OCR\tessdata(根據自己安裝的tesserocr安裝路徑為準),如下圖。
檢查Tesseract-OCR是否安裝完成,如下圖。
Python3.7加載tesserocr
1、安裝Python的OCR識別庫
pip install Pillow
pip install pytesseract
2、python加載Window的tesserocr應用,要修改pytesseract三方庫的pytesseract.py腳本。
打開pytesseract.py,將Window的tesserocr應用的tesserocr.exe綁定好。
3、到這里Python的綁定window的tesserocr應用已經完成。
讀取驗證碼圖片
from PIL import Image import pytesseract def read_text(text_path): """ 傳入文本(jpg、png)的絕對路徑,讀取文本 :param text_path: :return: 文本內容 """ # 驗證碼圖片轉字符串 im = Image.open(text_path) # 轉化為8bit的黑白圖片 imgry = im.convert('L') # 二值化,采用閾值分割算法,threshold為分割點 threshold = 140 table = [] for j in range(256): if j < threshold: table.append(0) else: table.append(1) out = imgry.point(table, '1') # 識別文本 text = pytesseract.image_to_string(out, lang="eng", config='--psm 6') return text if __name__ == '__main__': print(read_text("d://v3.png"))
輸出:
讀取中文文本圖片
1、因為OCR讀取不同語言需要加載語言包,因此需要下載簡體中文語言包。
從這個鏈接下載:https://github.com/tesseract-ocr/tessdata,下載紅圈的簡體中文包。然后將此文件放置window的安裝目錄下。如下兩個圖。
現在,我們來讀取如下圖片的中文文本內容。
代碼如下:
from PIL import Image import pytesseract def read_text(text_path): """ 傳入文本(jpg、png)的絕對路徑,讀取文本 :param text_path: :return: 文本內容 """ # 驗證碼圖片轉字符串 im = Image.open(text_path) # 轉化為8bit的黑白圖片 imgry = im.convert('L') # 二值化,采用閾值分割算法,threshold為分割點 threshold = 140 table = [] for j in range(256): if j < threshold: table.append(0) else: table.append(1) out = imgry.point(table, '1') # 識別文本,lang參數改為chi_sim,其他代碼與上面的讀取驗證碼代碼一致。 text = pytesseract.image_to_string(out, lang="chi_sim", config='--psm 6') return text if __name__ == '__main__': print(read_text("d://v7.png"))
到此,相信大家對“python3怎么安裝OCR識別庫tesserocr”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)成都網站設計公司網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。