安利一款開源 OCR 工具,可快速提取截屏文字!
點(diǎn)擊上方藍(lán)色“程序猿DD”,選擇“設(shè)為星標(biāo)”
回復(fù)“資源”獲取獨(dú)家整理的學(xué)習(xí)資料!

在我們辦公時(shí),是不是經(jīng)常遇到圖片內(nèi)容轉(zhuǎn)文字的需求?
你是用什么工具解決的呢?是手機(jī)自帶拍照轉(zhuǎn)文字功能?還是使用 QQ 里面的工具?
今天我們就為大家介紹一款 GitHub 用戶 ianzhao05 剛發(fā)布的小工具 ——textshot,只需要截屏就能實(shí)時(shí)生成文字。讀者也可以通過此項(xiàng)目大致了解如何對(duì)圖像中的文本進(jìn)行識(shí)別。

項(xiàng)目鏈接:
https://github.com/ianzhao05/textshot
使用方法
運(yùn)行 textshot.py,在屏幕上打開一個(gè) overlay,在你希望提取的文字區(qū)域畫一個(gè)矩形。
使用可選的命令行參數(shù)指定語言。例如,python textshot.py eng + fra 將使用英語作為主要語言,使用法語作為次要語言。默認(rèn)值為英語(eng)。同時(shí)確保為其他語言安裝了適用于 Tesseract 的數(shù)據(jù)文件。
建議將熱鍵附加到此工具上。對(duì)于 Windows 來說,可以使用 AutoHotkey 腳本來完成此操作;textshot.ahk 同時(shí)也包含一個(gè)可以使用的示例 AHK 腳本。
如果是 Ubuntu 系統(tǒng),可以打開「鍵盤設(shè)置」,其中顯示了所有 Gnome 快捷方式。底部有一個(gè)「+」按鈕,可用于添加你自己的快捷方式。單擊并將其命令設(shè)置為 /usr/bin/python3

部分代碼展示
如何安裝
安裝 Python 3; 復(fù)制 TextShot 庫,并使用跳轉(zhuǎn)命令 cd 進(jìn)入該庫; (可選項(xiàng))創(chuàng)建一個(gè)虛擬環(huán)境,例如使用 python -m venv .venv ; 使用 pip install -r requirements.txt 安裝所需的軟件包; 安裝 Google 的 Tesseract OCR 引擎(https://github.com/tesseract-ocr/tesseract),并通過將目錄添加到系統(tǒng)路徑來確??梢詮拿钚性L問 tesseract。
這個(gè)實(shí)用小工具的開發(fā)也離不開谷歌經(jīng)典 OCR 開源項(xiàng)目 Tesseract。
Tessract 的使用
Tesseract 是目前最好的用于機(jī)器打印字符識(shí)別的開源 OCR 工具。20 世紀(jì) 80 年代由 Hewlett Packard 開發(fā),2005 年開源,自 2006 年起由谷歌贊助開發(fā)。該工具在受控條件下也能很好地運(yùn)行,但是如果存在大量噪聲或者圖像輸入 Tesseract 前未經(jīng)恰當(dāng)處理,則性能較差。

Tesseract OCR 引擎于 20 世紀(jì) 80 年代出現(xiàn),更新迭代至今,它已經(jīng)包括內(nèi)置的深度學(xué)習(xí)模型,變成了十分穩(wěn)健的 OCR 工具。而 Tesseract 和 OpenCV 的 EAST 檢測(cè)器是一個(gè)很棒的組合。
Tesseract 支持 Unicode(UTF-8)字符集,可以識(shí)別超過 100 種語言,還包含多種輸出支持,比如純文本、PDF、TSV 等。但是為了得到更好的 OCR 結(jié)果,還必須提升提供給 Tesseract 的圖像的質(zhì)量。
值得注意的是,在執(zhí)行實(shí)際的 OCR 之前,Tesseract 會(huì)在內(nèi)部執(zhí)行多種不同的圖像處理操作(使用 Leptonica 庫)。通常情況下表現(xiàn)不錯(cuò),但在一些特定的情況下的效果卻不夠好,導(dǎo)致準(zhǔn)確度顯著下降。在將圖像傳遞給 Tesseract 之前,可以嘗試以下圖像處理技術(shù),但具體使用哪些技術(shù)取決于使用者想要讀取的圖像:
反轉(zhuǎn)圖像 重新縮放 二值化 移除噪聲 旋轉(zhuǎn) / 調(diào)整傾斜角度 移除邊緣
所有這些操作都可以使用 OpenCV 或通過 Python 使用 numpy 實(shí)現(xiàn)。
Tesseract (v4) 最新版本支持基于深度學(xué)習(xí)的 OCR,準(zhǔn)確率顯著提高。底層的 OCR 引擎使用的是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)——LSTM 網(wǎng)絡(luò)。
中文 OCR 項(xiàng)目
中文 OCR,像身份證識(shí)別、火車票識(shí)別都是常規(guī)操作,它也可以實(shí)現(xiàn)更炫酷的功能,例如翻譯筆在書本上滑動(dòng)一行,自動(dòng)獲取完整的圖像,并識(shí)別與翻譯中文。
目前比較常用的中文 OCR 開源項(xiàng)目是 chineseocr,它基于 YOLO V3 與 CRNN 實(shí)現(xiàn)中文自然場(chǎng)景文字檢測(cè)及識(shí)別,目前該項(xiàng)目已經(jīng)有 2.5K 的 Star 量。
之前介紹過另一個(gè)開源的中文 OCR 項(xiàng)目,基于 chineseocr 做出改進(jìn),是一個(gè)超輕量級(jí)的中文字符識(shí)別項(xiàng)目,大家也可以關(guān)注下:
項(xiàng)目地址:https://github.com/ouyanghuiyu/chineseocr_lite
推薦關(guān)注這個(gè)
勵(lì)志推薦10000個(gè)開源項(xiàng)目的兄弟
每天了解一個(gè)開源工具轉(zhuǎn)入你的兵器庫
【往期推薦】
2020-12-16
2020-12-16
2020-12-15
2020-12-15
2020-12-14
2020-12-14
﹀
﹀
﹀
深度內(nèi)容
推薦加入

素質(zhì)二連,走一個(gè)
