[雪峰磁針石部落格]tesseractOCR識別工具及pytesseract
簡介
可以使用pytesseract庫從影像中提取文字。Tesseract是一款由Google贊助的開源OCR。 pytesseract是python包裝器,它為可執行檔案提供了pythonic API。
Tesseract(/`tesərækt/) 這個詞的意思是”超立方體”,指的是幾何學裡的四維標準方體,又稱”正八胞體”。下圖是一個正八胞體繞著兩個四維空間中互相正交的平面進行雙旋轉時的透視投影。不過這裡要講的,是一款以其命名的開源 OCR(Optical Character Recognition, 光學字元識別) 軟體。
所謂 OCR 是影像識別領域中的一個子領域,該領域專注於對圖片中的文字資訊進行識別並轉換成能被常規文字編輯器編輯的文字。
Tesseract 已經有 30 年曆史,開始它是惠普實驗室的一款專利軟體,然後在 2005 年開源,自 2006 年後由 Google 贊助進行後續的開發和維護。
在 1995 年 Tesseract 曾是世界前三的 OCR 引擎,而且在現在的免費 OCR 引擎中,其識別精度也仍然是出類拔萃的。因為其免費與較好的效果,許多的個人開發者以及一些較小的團隊在使用著 Tesseract ,諸如驗證碼識別、車牌號識別等應用中,不難見到 Tesseract 的身影。
安裝
以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)
執行結果
$ python3 04_10_perform_ocr.py
英文:
This is an image containing text.
And some numbers 123456789
And also special characters: !@#$%"&*(_+
中文:
pyth0"自動化測試人工智慧
可見中文識別的效果並不太好,為此很多公司進行機器學習來改進。
另外網易的有道雲筆記的OCR效果做得很不錯,白描的湊合能用,qq的掃二維碼也可以識別文字,但是做得比較爛。
ocr可以做python專案對初學者進行實踐,請聯絡微信:pythontesting
本文最新程式碼地址,後續相關ocr的資料也會放在這裡。
另外tesseract也可以命令列執行:
$ tesseract test22.png stdout -l chi_sim
pyth0n自動化測試人工智慧
參考資料
- 討論qq群144081101 591302926 567351477 釘釘免費群21745728
- 本文相關書籍下載
- 本文最新版本地址
- 本文涉及的python測試開發庫 謝謝點贊!
- ImageMagick
- Tesseract:安裝與命令列使用
- Tesseract OCR:Ubuntu 16.04上的安裝和使用
相關文章
- [雪峰磁針石部落格]multi-mechanize效能測試工具
- [雪峰磁針石部落格]2018最佳ssh免費登陸工具
- [雪峰磁針石部落格]pythontkinter圖形工具樣式作業Python
- [雪峰磁針石部落格]python應用效能監控工具簡介Python
- [雪峰磁針石部落格]pythonGUI工具書籍下載-持續更新PythonNGUI
- [雪峰磁針石部落格]介面測試面試題面試題
- [雪峰磁針石部落格]2019-Python最佳資料科學工具庫Python資料科學
- [雪峰磁針石部落格]python包管理工具:Conda和pip比較Python
- [雪峰磁針石部落格]Bokeh資料視覺化工具1快速入門視覺化
- [雪峰磁針石部落格]使用jython進行dubbo介面及ngrinder效能測試
- [雪峰磁針石部落格]2018最佳python編輯器和IDEPythonIDE
- [雪峰磁針石部落格]計算機視覺opcencv工具深度學習快速實戰1人臉識別計算機視覺深度學習
- [雪峰磁針石部落格]可愛的python測試開發庫Python
- [雪峰磁針石部落格]大資料Hadoop工具python教程9-Luigi工作流大資料HadoopPythonUI
- [雪峰磁針石部落格]python庫介紹-argparse:命令列選項及引數解析Python命令列
- [雪峰磁針石部落格]python爬蟲cookbook1爬蟲入門Python爬蟲
- [雪峰磁針石部落格]web開發工具flask中文英文書籍下載-持續更新WebFlask
- [雪峰磁針石部落格]軟體測試專家工具包1web測試Web
- [雪峰磁針石部落格]資料倉儲快速入門教程1簡介
- [雪峰磁針石部落格]軟體自動化測試初學者忠告
- [雪峰磁針石部落格]資料分析工具pandas快速入門教程4-資料匯聚
- [雪峰磁針石部落格]python計算機視覺深度學習1簡介Python計算機視覺深度學習
- [雪峰磁針石部落格]pythonGUI作業:tkinter控制元件改變背景色PythonNGUI控制元件
- [雪峰磁針石部落格]python標準模組介紹-string:文字常量和模板Python
- [雪峰磁針石部落格]pythonopencv3例項(物件識別和擴增實境)1-影像幾何轉換PythonOpenCV物件
- [雪峰磁針石部落格]python計算機視覺深度學習2影像基礎Python計算機視覺深度學習
- [雪峰磁針石部落格]滲透測試簡介1滲透測試簡介
- [雪峰磁針石部落格]flask構建自動化測試平臺1-helloFlask
- [雪峰磁針石部落格]flask構建自動化測試平臺3-模板Flask
- [雪峰磁針石部落格]使用python3和flask構建RESTfulAPI(介面測試服務)PythonFlaskRESTAPI
- [雪峰磁針石部落格]計算機視覺opcencv工具深度學習快速實戰2opencv快速入門計算機視覺深度學習OpenCV
- [雪峰磁針石部落格]selenium自動化測試工具python筆試面試專案實戰5鍵盤操作Python筆試面試
- [雪峰磁針石部落格]flask構建自動化測試平臺7-新增google地圖FlaskGo地圖
- [雪峰磁針石部落格]python3.7極速入門教程1安裝:Linux(Ubuntu18.04)及Windows上安裝AnacondaPythonLinuxUbuntuWindows
- [雪峰磁針石部落格]python網路作業:使用python的socket庫實現ICMP協議的pingPython協議
- [雪峰磁針石部落格]python人工智慧作業:Windows使用SAPI和tkinter用不到40行實現文字轉語音工具Python人工智慧WindowsAPI
- [雪峰磁針石部落格]Python經典面試題:用3種方法實現堆疊和佇列並示例實際應用場景Python面試題佇列
- mysql知識部落格MySql