安利一款開源 OCR 工具,可快速提取截屏文字!

公衆號關注 “GitHubDaily”

設爲 “星標”,每天帶你逛 GitHub!

轉自機器之心

在我們辦公時,是不是經常遇到圖片內容轉文字的需求?

你是用什麼工具解決的呢?是手機自帶拍照轉文字功能?還是使用 QQ 裏面的工具?

今天我們就爲大家介紹一款 GitHub 用戶 ianzhao05 剛發佈的小工具 ——textshot,只需要截屏就能實時生成文字。讀者也可以通過此項目大致瞭解如何對圖像中的文本進行識別。

項目鏈接:

https://github.com/ianzhao05/textshot

使用方法

運行 textshot.py,在屏幕上打開一個 overlay,在你希望提取的文字區域畫一個矩形。

使用可選的命令行參數指定語言。例如,python textshot.py eng + fra 將使用英語作爲主要語言,使用法語作爲次要語言。默認值爲英語(eng)。同時確保爲其他語言安裝了適用於 Tesseract 的數據文件。

建議將熱鍵附加到此工具上。對於 Windows 來說,可以使用 AutoHotkey 腳本來完成此操作;textshot.ahk 同時也包含一個可以使用的示例 AHK 腳本。

如果是 Ubuntu 系統,可以打開「鍵盤設置」,其中顯示了所有 Gnome 快捷方式。底部有一個「+」按鈕,可用於添加你自己的快捷方式。單擊並將其命令設置爲 /usr/bin/python3 <path-to-textshot.py>。如果使用的是 venv,則上面的 python3 路徑應指向 venv 的 python3 而不是全局 python3。

部分代碼展示

如何安裝

  1. 安裝 Python 3;

  2. 複製 TextShot 庫,並使用跳轉命令 cd 進入該庫;

  3. (可選項)創建一個虛擬環境,例如使用 python -m venv .venv ;

  4. 使用 pip install -r requirements.txt 安裝所需的軟件包;

  5. 安裝 Google 的 Tesseract OCR 引擎(https://github.com/tesseract-ocr/tesseract),並通過將目錄添加到系統路徑來確保可以從命令行訪問 tesseract。

這個實用小工具的開發也離不開谷歌經典 OCR 開源項目 Tesseract。

Tessract 的使用

Tesseract 是目前最好的用於機器打印字符識別的開源 OCR 工具。20 世紀 80 年代由 Hewlett Packard 開發,2005 年開源,自 2006 年起由谷歌贊助開發。該工具在受控條件下也能很好地運行,但是如果存在大量噪聲或者圖像輸入 Tesseract 前未經恰當處理,則性能較差。

Tesseract OCR 引擎於 20 世紀 80 年代出現,更新迭代至今,它已經包括內置的深度學習模型,變成了十分穩健的 OCR 工具。而 Tesseract 和 OpenCV 的 EAST 檢測器是一個很棒的組合。

Tesseract 支持 Unicode(UTF-8)字符集,可以識別超過 100 種語言,還包含多種輸出支持,比如純文本、PDF、TSV 等。但是爲了得到更好的 OCR 結果,還必須提升提供給 Tesseract 的圖像的質量。

值得注意的是,在執行實際的 OCR 之前,Tesseract 會在內部執行多種不同的圖像處理操作(使用 Leptonica 庫)。通常情況下表現不錯,但在一些特定的情況下的效果卻不夠好,導致準確度顯著下降。在將圖像傳遞給 Tesseract 之前,可以嘗試以下圖像處理技術,但具體使用哪些技術取決於使用者想要讀取的圖像:

  1. 反轉圖像

  2. 重新縮放

  3. 二值化

  4. 移除噪聲

  5. 旋轉 / 調整傾斜角度

  6. 移除邊緣

所有這些操作都可以使用 OpenCV 或通過 Python 使用 numpy 實現。

Tesseract (v4) 最新版本支持基於深度學習的 OCR,準確率顯著提高。底層的 OCR 引擎使用的是一種循環神經網絡(RNN)——LSTM 網絡。

中文 OCR 項目

中文 OCR,像身份證識別、火車票識別都是常規操作,它也可以實現更炫酷的功能,例如翻譯筆在書本上滑動一行,自動獲取完整的圖像,並識別與翻譯中文。

目前比較常用的中文 OCR 開源項目是 chineseocr,它基於 YOLO V3 與 CRNN 實現中文自然場景文字檢測及識別,目前該項目已經有 2.5K 的 Star 量。

之前介紹過另一個開源的中文 OCR 項目,基於 chineseocr 做出改進,是一個超輕量級的中文字符識別項目,大家也可以關注下:

項目地址:

https://github.com/ouyanghuiyu/chineseocr_lite

---

由 GitHubDaily 原班人馬打造的公衆號:GitCube,現已正式上線!
接下來我們將會在該公衆號上,爲大家分享優質的計算機學習資源與開發者工具,堅持每天一篇原創文章的輸出,感興趣的小夥伴可以關注一下哈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章