OCR識別的開源分析

2021-08-04 03:33:13 字數 1847 閱讀 6153

ocr軟體主要是由下面幾個部分組成。

1. 影象輸入、預處理:

2. 影象輸入:對於不同的影象格式,有著不同的儲存格式,不同的壓縮方式。預處理:主要包括二值化,雜訊去除,傾斜較正等

3. 二值化:

對攝像頭拍攝的,大多數是彩色影象,彩色影象所含資訊量巨大,對於的內容,我們可以簡單的分為前景與背景,為了讓計算機更快的,更好的識別文字,我們需要先對彩色圖進行處理,使只前景資訊與背景資訊,可以簡單的定義前景資訊為黑色,背景資訊為白色,這就是二值化圖了。

4. 雜訊去除:

對於不同的文件,我們對燥聲的定義可以不同,根據燥聲的特徵進行去燥,就叫做雜訊去除

5. 傾斜較正:

由於一般使用者,在拍照文件時,都比較隨意,因此拍照出來的不可避免的產生傾斜,這就需要文字識別軟體進行較正。

6. 版面分析:

將文件分段落,分行的過程就叫做版面分析,由於實際文件的多樣性,複雜性,因此,目前還沒有乙個固定的,最優的切割模型。

7. 字元切割:

由於拍照條件的限制,經常造成字元粘連,斷筆,因此極大限制了識別系統的效能,這就需要文字識別軟體有字元切割功能。

8. 字元識別:

這一研究,已經是很早的事情了,比較早有模板匹配,後來以特徵提取為主,由於文字的位移,筆畫的粗細,斷筆,粘連,旋轉等因素的影響,極大影響特徵的提取的難度。

9. 版面恢復:

人們希望識別後的文字,仍然像原文件那樣排列著,段落不變,位置不變,順序不變,的輸出到word文件,pdf文件等,這一過程就叫做版面恢復。

10. 後處理、校對:

根據特定的語言上下文的關係,對識別結果進行較正,就是後處理。

開源引擎

預處理**

opencv —— 影象處理老大哥。opencv3中有scene text detection值得一用。

libccv —— 現代影象處理庫,被很多人推薦。實現了精選的若干個影象處理演算法,乾淨容易移植。其中stroke width transfor尤其有用。

lswms —— 分行檢測。

ocropus —— 基於神經學習網路演算法的布局分析庫。教程。

tirg —— 文字區域檢測庫,效果演示。

un***** —— 檢測文字和旋轉,用的是hough transform演算法。

scene text detection(opencv)

api,

例子1,

例子2,

*****,

高層包裝應用。

高層專案

node-dv —— in node.js,整合了opencv、tesseract和一些其他專案。

node-fv —— node-dv的更高層,用於證件識別。

openocr —— 包裝了swt、tesseract、docker、rabbitmq,提供佇列和http訪問服務。in golang。

openalpr —— 包裝了tesseract和opencv,支援多系統build,支援docker,有python和node.js繫結。

android移動端

tess-two,tesseract的安卓移植,教程。

microblink,免費的移動ocr-sdk。

新方法:機器學習

如果有夠多的樣本和驗證能力,機器學習可以很好的處理ocr的問題。

乙個快速深度學習的框架,和基於它構建的ocr專案。

js構建的神經學習網路

參考:

[1]

Google開源OCR識別Tesseract介紹

ocr是什麼 ocr,即 optical character recognition,光學字元識別,是指通過掃瞄字元,然後通過其形狀將其翻譯成電子文字的過程。通常技術中廣泛流傳的 ocr 指的就是 將轉成文字 的智慧型技術。tesseract介紹 tesseract是谷歌開發並開源的影象文字識別引擎...

開源OCR光學字元識別

優秀的開源ocr軟體包括 tesseract 原本由惠普開發的影象識別類庫tesseract ocr已經更新到2.04,就是最近google支援的那個ocr。原先是惠普寫的,現在open source了。ocropus ocropus的 tm 是乙個先進的檔案分析和ocr系統,採用可插入的布局分析,...

開源OCR光學字元識別

優秀的開源ocr軟體包括 tesseract 原本由惠普開發的影象識別類庫tesseract ocr已經更新到2.04,就是最近google支援的那個ocr。原先是惠普寫的,現在open source了。ocropus ocropus的 tm 是乙個先進的檔案分析和ocr系統,採用可插入的布局分析,...