python 技術(shù)篇-3行代碼搞定圖像文字識別原在,pytesseract庫實現(xiàn)
我們需要?pillow?和?pytesseract?這兩個庫,pip install?安裝就好彤叉。還需要安裝?Tesseract-OCR.exe?然后配置下就好了庶柿。具體的環(huán)境配置方法請看python 技術(shù)篇-使用pytesseract庫進(jìn)行圖像識別之環(huán)境配置https://www.cnblogs.com/chenshengkai/p/11318272.html英文字母圖像識別演示這個是我保存名為?English.png?的圖片,下面我來提取文字秽浇。
pytesseract?庫的?image_to_string()?方法就能把圖片中的英文字母提取出來浮庐。from PIL import Imageimport pytesseract image = Image.open('English.png')content = pytesseract.image_to_string(image,) ? # 解析圖片print(content) 運行效果圖:注:有些字體可能會識別出現(xiàn)問題,盡量用比較標(biāo)準(zhǔn)的字體柬焕。
中文漢字圖像識別演示這個是我保存名為?chinese.png?的圖片审残,下面我來提取文字。首先需要安裝對應(yīng)的語言包:Tesseract各個版本語言包獲取方式和安裝方法要在pytesseract?庫的?image_to_string()?方法里加個參數(shù)lang='chi_sim'斑举,這個就是引用對應(yīng)的中文語言包搅轿,中文語言包的全名是?chi_sim.traineddata。from PIL import Image import pytesseract ? image = Image.open('English.png') content = pytesseract.image_to_string(image, lang='chi_sim') # 解析圖片 print(content)
注:有些字體可能會識別出現(xiàn)問題富玷,盡量用比較標(biāo)準(zhǔn)的字體璧坟。
tesseract OCR識別工具及pytesseract
python測試開發(fā)_AI命理2018.08.22 17:46:22字?jǐn)?shù) 616閱讀 3,958簡介
python測試開發(fā)項目實戰(zhàn)-目錄
python工具書籍下載-持續(xù)更新
可以使用pytesseract庫從圖像中提取文本。Tesseract是一款由Google贊助的開源OCR赎懦。 pytesseract是python包裝器雀鹃,它為可執(zhí)行文件提供了pythonic API。Tesseract(/'tes?r?kt/) 這個詞的意思是"超立方體"励两,指的是幾何學(xué)里的四維標(biāo)準(zhǔn)方體黎茎,又稱"正八胞體"。下圖是一個正八胞體繞著兩個四維空間中互相正交的平面進(jìn)行雙旋轉(zhuǎn)時的透視投影当悔。不過這里要講的傅瞻,是一款以其命名的開源 OCR(Optical Character Recognition, 光學(xué)字符識別) 軟件迁酸。所謂 OCR 是圖像識別領(lǐng)域中的一個子領(lǐng)域,該領(lǐng)域?qū)W⒂趯D片中的文字信息進(jìn)行識別并轉(zhuǎn)換成能被常規(guī)文本編輯器編輯的文本俭正。Tesseract 已經(jīng)有 30 年歷史奸鬓,開始它是惠普實驗室的一款專利軟件,然后在 2005 年開源掸读,自 2006 年后由 Google 贊助進(jìn)行后續(xù)的開發(fā)和維護(hù)串远。在 1995 年 Tesseract 曾是世界前三的 OCR 引擎,而且在現(xiàn)在的免費 OCR 引擎中儿惫,其識別精度也仍然是出類拔萃的澡罚。因為其免費與較好的效果,許多的個人開發(fā)者以及一些較小的團(tuán)隊在使用著 Tesseract 肾请,諸如驗證碼識別留搔、車牌號識別等應(yīng)用中,不難見到 Tesseract 的身影铛铁。
python_lib_ocr_tesseract.gif安裝以ubuntu 16.04為例?# pip3 install pytesseract?# apt install tesseract-ocr tesseract-ocr-chi-sim?快速入門?#!/usr/bin/python?# -*- coding: utf-8 -*-?# Author: ? ?china-testing@126.com wechat:pythontesting qq群:144081101?# CreateDate: 2018-04-25?import?pytesseract?as?pt?import?requests?from?PIL?import?Image?#img = Image.open("textinimage.png")?print("英文:") url?=?"https://china-testing.github.io/images/python_lib_ocr_en.png"?img?=?Image.open(requests.get(url, stream=True).raw) text?=?pt.image_to_string(img)?print(text)?#img = Image.open("textinimage.png")?print("中文:") url?=?"https://china-testing.github.io/images/python_lib_ocr.PNG"?img?=?Image.open(requests.get(url, stream=True).raw) text?=?pt.image_to_string(img,lang='chi_sim')?print(text)
Alt Text
Alt Text執(zhí)行結(jié)果?$ python3 04_10_perform_ocr.py ?英文: This?is?an image containing text. And some numbers?123456789?And also special characters: !@#$%"&*(_+?中文: pyth0"自動化測試人工智能?可見中文識別的效果并不太好隔显,為此很多公司進(jìn)行機(jī)器學(xué)習(xí)來改進(jìn)。另外網(wǎng)易的有道云筆記的OCR效果做得很不錯饵逐,白描的湊合能用括眠,qq的掃二維碼也可以識別文字,但是做得比較爛倍权。ocr可以做python項目對初學(xué)者進(jìn)行實踐掷豺,請聯(lián)系微信:pythontesting本文最新代碼地址,后續(xù)相關(guān)ocr的資料也會放在這里薄声。另外tesseract也可以命令行執(zhí)行: