Python的OCR圖像識別簡單版

1.安裝pytesseract庫

pytesseract是Tesseract關於Python的接口,在cmd中能夠直接使用pip install pytesseract安裝git

2.用電腦下載安裝tesseract

下載地址 http://digi.bib.unimannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
一直點肯定後完成安裝,並配置環境變量github

在這裏插入圖片描述
在CMD中輸入tesseract -v, 如顯示如下界面,則表示Tesseract安裝完成且添加到系統變量segmentfault

 

3.下載tesseract的簡體中文語言包

下載地址爲:https://github.com/tesseract-ocr/tessdata/find/master/chi_sim.traineddata ,再將chi_sim.traineddata放在C:\Program Files (x86)\Tesseract-OCR\tessdata目錄下。markdown

 

作好準備工做就能夠實現OCR文字識別

import cv2
import pytesseract
from PIL import Image

img = Image.open('0.jpg')
pytesseract.pytesseract.tesseract_cmd = 'C://Program Files (x86)/Tesseract-OCR/tesseract.exe'
text = pytesseract.image_to_string(img,lang='chi_sim')
print(text)

0.jpg 以下:
post

運行結果以下
在這裏插入圖片描述

atom

 

利用Ocr 能不能識別簡單的驗證碼

爲了更好的處理圖片,能夠將圖片轉爲灰度圖片,再去掉黑點,進行二值化降噪,
代碼以下:spa

import cv2
import pytesseract
from PIL import Image, ImageEnhance, ImageFilter

# 舊版本識別
img = Image.open('6.png')
pytesseract.pytesseract.tesseract_cmd = 'C://Program Files (x86)/Tesseract-OCR/tesseract.exe'
text = pytesseract.image_to_string(img, lang='chi_sim')
print(text)
print("=" * 120)

# 新版本識別

img_gray = img.convert('L')  # 將圖片變成灰色
img_gray.save('ode_gray.png')

img_black_white = img_gray.point(lambda x: 0 if x > 200 else 255)  # 轉成黑白圖片
pic1 = 'code_black_white.png'
img_black_white.save(pic1)

# 要去掉黑點,就是一個二值化降噪的過程。能夠用PIL(Python Image Library)
im = Image.open(pic1)
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
im.save('jiangzao.png')
im.show()  # 圖片彈框展現出來

# text = pytesseract.image_to_string(Image.open('jiangzao.png'),lang='chi_sim')##,lang='eng 數字

text = pytesseract.image_to_string(im, lang='chi_sim')
print(text)

 

運行結果以下,成功!
3d

相關文章
相關標籤/搜索