Java 圖像智能字符識別技術——【專題一】

序言

     最近公司在作爬蟲項目時,遇到一些問題,當抓取某互聯網網站時,發現某互聯網網站作了反爬蟲操做。頁面紅的電話號碼爲圖片形式,字體爲紅色,數字之間零間隔或負間隔,沒法保存爲文本,此時想起之前作人臉識別(OpenCV)時學習的一些圖片操做。如今寫一些Demo測試一下解決一下該問題。這個市面上有不少成熟的產品,如漢王的圖片識別技術、WPS的PDF轉換工具等,咱們均可以使用OCR來解決。(知只是其中一種解決方案)框架

OCR文字識別

   ocr文字識別軟件提供圖片文字識別服務,是一個帶有PDF文件處理功能的OCR軟件;具備識別正確率高,識別速度快的特色。有批量處理功能,避免了單頁處理的麻煩;支持處理灰度、彩色、黑白三種色彩的BMP、TIF、JPG、PDF多種格式的圖像文件;可識別簡體、繁體和英文三種語言(中文的可能稍微複雜一些,中文有一些類似、繁體的、複雜的文字這些識別時有些困難);具備簡單易用的表格識別功能;具備TXT、RTF、HTM和XLS多種輸出格式,並有所見即所得的版面還原功能。新增打開與識別PDF文件功能,支持文字型PDF的直接轉換和圖像型PDF的OCR識別,既能夠採用OCR的方式將PDF文件轉換爲可編輯文檔,也能夠採用格式轉換的方式直接轉換文字型PDF文件爲RTF文件或文本文件。工具

歷史背景

        光學文字識別的概念是在1929年由德國科學家Tausheck最早提出來的,後來美國科學家Handel也提出了利用技術對文字進行識別的想法。 
  早在60、70年代,世界各國就開始有OCR的研究,而研究的初期,多以文字的識別方法研究爲主,且識別的文字僅爲0至9的數字。20世紀70年代初,日本的學者開始研究漢字識別,並作了大量的工做。1986年之後我國的OCR研究有了很大進展,在漢字建模和識別方法上都有所創新,在系統研製和開發應用中都取得了豐碩的成果,很多單位相繼推出了中文OCR產品。性能

圖像識別框架

在使用OCR以前咱們先了解一下圖片識別框架,圖片識別框架主要是由下面幾個部分組成。學習


  一、圖像輸入、預處理:
  圖像輸入:對於不一樣的圖像格式,有着不一樣的存儲格式,不一樣的壓縮方式。預處理:主要包括二值化(圖像的二值化,就是將圖像上的像素點的灰度值設置爲0或255,也就是將整個圖像呈現出明顯的只有黑和白的視覺效果),噪聲去除,傾斜較正等
  二、二值化:
  對攝像頭拍攝的圖片,大多數是彩色圖像,彩色圖像所含信息量巨大,對於圖片的內容,咱們能夠簡單的分爲前景與背景,爲了讓計算機更快的,更好的識別文字,咱們須要先對彩色圖進行處理,使圖片只前景信息與背景信息,能夠簡單的定義前景信息爲黑色,背景信息爲白色,這就是二值化圖了。
  三、噪聲去除:
  對於不一樣的文檔,咱們對噪聲的定義能夠不一樣,根據噪聲的特徵進行去噪,就叫作噪聲去除
  四、傾斜較正:
  因爲通常用戶,在拍照文檔時,都比較隨意,所以拍照出來的圖片不可避免的產生傾斜,這就須要進行較正。
  版面分析:
  五、將文檔圖片分段落,分行的過程就叫作版面分析,因爲實際文檔的多樣性,複雜性,所以,目前尚未一個固定的,最優的切割模型。
  六、字符切割:
  因爲拍照條件的限制,常常形成字符粘連,斷筆,所以極大限制了識別系統的性能,這就須要文字識別軟件有字符切割功能。
  七、字符識別:
  這一研究,已是很早的事情了,比較早有模板匹配,後來以特徵提取爲主,因爲文字的位移,筆畫的粗細,斷筆,粘連,旋轉等因素的影響,極大影響特徵的提取的難度。
  八、版面恢復:
  人們但願識別後的文字,仍然像原文檔圖片那樣排列着,段落不變,位置不變,順序不變,的輸出到word文檔,pdf文檔等,這一過程就叫作版面恢復。
  九、後處理、校對:
  根據特定的語言上下文的關係,對識別結果進行較正,就是後處理。
  若是開發一個OCR文字識別軟件系統,這些都是咱們須要處理的,咱們的目的很簡單,只是要把影像做一個轉換,使影像內的圖形繼續保存、有表格則表格內資料及影像內的文字,一概變成計算機文字,使能達到影像資料的儲存量減小、識別出的文字可再使用及分析,固然也可節省因鍵盤輸入的人力與時間。測試

從影像到結果輸出,須通過影像輸入、影像前處理、文字特徵抽取、比對識別、最後經人工校訂將認錯的文字更正,將結果輸出。字體

相關文章
相關標籤/搜索