天天看點

幾行代碼教你OCR的正确姿勢什麼是OCR?

什麼是OCR?

我們來看一下百度百科給的定義:

OCR (Optical Character

Recognition,光學字元識别)是指電子裝置(例如掃描器或數位相機)檢查紙上列印的字元,通過檢測暗、亮的模式确定其形狀,然後用字元識别方法将形狀翻譯成計算機文字的過程;

我簡要的總結為:

OCR三步走:"内容——> 掃描——>結果"
           

今天來用代碼的形式講一下,怎麼用代碼快速實作OCR。

pytesseract

Python-tesseract是谷歌Tesseract-OCR (http://code.google.com/p/tesseract-ocr/)的包裝器。它作為獨立的調用腳本也很有用,因為它可以讀取Python Imaging Library支援的所有圖像類型,包括jpeg,png,gif,bmp,tiff 等,預設情況下tesseract-ocr隻支援tiff和bmp。

Python-tesseract 支援版本為 python 2.7+ 或 python 3.x,接下來我們安裝pytesseract

# 安裝pytesseract
pip install pytesseract
安裝完成以後導入使用

# 導入
import pytesseract
           

PIL

PIL(Python Image Library)是python的第三方圖像處理庫,但是由于其強大的功能與衆多的使用人數,幾乎已經被認為是python官方圖像處理庫了。

# 導入PIL
from PIL import image
           

接下來就是最最最最最最精髓的地方啦~~~~~~~~~~

實作讀取解析的幾行代碼:

# 讀取image
image = Image.open('你的檔案路徑/圖檔名.png')
# 識别image上的文字
content_text=pytesseract.image_to_string(image)
# 列印文字
print(content_text)
           

這樣OCR就成功啦!

完整代碼如下:

#!/usr/env/bin/python
# 用于設定輸出内容編碼,避免亂碼
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
​
# 導入關鍵庫
from PIL import Image
import pytesseract
​
image = Image.open('你的檔案路徑/圖檔名.png')
content_text=pytesseract.image_to_string(image)
print(content_text)
           

簽名:在未來面前,我們都是孩子。學習、思考才能讓我們越走越遠。

學習部落格:oceaneyes.top

個人網站:www.oceaneyes.cn

幾行代碼教你OCR的正确姿勢什麼是OCR?
上一篇: 【QT】宏