這篇文章主要介紹怎么使用Python進行OCR識別圖片中的文字,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
OCR1,全稱Optical character recognition,或者optical character reader,中文譯名叫做光學文字識別。它是把圖像文件中的手寫文本,打印文本轉換為機器編碼文本的一種方法。
OCR技術廣泛用于識別打印紙張中的文字數據 -- 比如護照,支票,銀行聲明,收據,統計表單,郵件等。OCR的早期版本,需要對圖片中的每個文字都進行訓練,一次只能作用于一種字體。高級的版本增加了很大的識別率,可以同時識別現在很多流行的字體,支持不同種類格式的圖片文件。一些系統可以生成接近于原來圖片格式的輸出,包括圖片,排版,以及其它非文本組件,這也叫做版面還原。
現在最出名,最常用的OCR就是谷歌的tesseract OCR engine2。最新的版本是Tesseract4。Tesseract的主要開發者是Ray Smith4.
Tesseract支持unicode(UTF-8),安裝后即可識別超過100種語言。
Tesseract支持不同的輸出可是:普通文本,hOCR(html),PDF,TSV,invisible-text-only PDF。在master分支,還試驗性地支持ALTO(XML)格式。
請記住,在大多數情況下,為了獲得更好的OCR結果,你需要為提供給Tesseract的圖片提升質量4.
Tesseract可以通過訓練來識別其它語言和其它字體5.
另外,有很多第三方的Tesseract GUI應用??梢灾苯酉螺d使用6。
Python-tesseract7(pytesseract)是Google Tesseract ORC引擎的封裝。首次commit的2014年。用這個庫,可以很方便地編寫腳本,可以用它來識別所有可以由PIL識別的圖片格式,包括jpeg, png, gif, bmp, tiff等, 而tesseract-orc本來只支持tiff和bmp兩種格式。
如果在腳本中使用,識別的文本可以輸出為Python字符串,而不是直接輸出到文件中。
另外,這個代碼庫只有一個文件,400行代碼。如果有任何疑問,可以直接翻看源代碼。
tesserocr8也是一個TesseractOCR的封裝庫。它的首次commit是2015年。
這個庫相對于pytesseract的優勢在于9,這個庫是使用Cython來直接調用Tesseract的C++ API。使用它和threading模塊來處理圖片,可以釋放GIL,達到正常的并發執行。
1.Wiki: OCR
2.Github: tesseract OCR engine
3.Tesseract作者 Ray Smith,美國計算機科學家,計算機圖形學的先驅. 他的中文名字叫做匠白光. ?
4.Wiki: 為Tesseract提升圖片質量
5.Wiki: 訓練Tesseract
6.Tesseract第三方GUI應用列表
7.Github: Python-tesseract
8.Github: tesserocr
9.Hacknews: 關于pytesseract, tesserocr的區別
以上是“怎么使用Python進行OCR識別圖片中的文字”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。