<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 智能計算 > 設計應用 > 基于MATLAB/GUI的文字圖片識別系統設計

          基于MATLAB/GUI的文字圖片識別系統設計

          作者:吳士好,劉艷華(鹽城工學院信息工程學院,江蘇鹽城 224051)時間:2023-04-24來源:電子產品世界收藏
          編者按:設計一個基于MATLAB/GUI的可視化文字圖片識別系統。系統主要包含三部分,分別是圖像預處理、文字分割和文字模板的匹配識別、GUI可視化界面設計。圖像預處理包含圖像旋轉、圖像裁剪、灰度變換、圖像增強和二值化等;然后對二值化后的圖像進行文字的分割,分割后的字符與數據庫里面的文字模板進行匹配識別,最后輸出識別的文字內容。處理算法調試成功后,設計一個可視化用戶界面。系統完成后調試系統,輸入樣本圖像檢測識別結果。經多次測試,本系統可以較為準確地提取并識別圖片上的文字信息。

          字符識別在圖像處理中是一種比較常見的技術。隨著技術的發展,常見的一些文字通常用圖片的格式來進行存儲。當需要使用到這些文字的時候,圖片上的文字不是很方便人們的使用,這個時候就要借助文字識別的手段,把需要的文字從圖片中提取出來。

          本文引用地址:http://www.ex-cimer.com/article/202304/445939.htm

          本設計運用 設計實現文字圖片識別系統,該系統包括GUI 界面設計,圖像預處理,文字的分割和識別。建立圖片文字模板,該文字識別系統可以實現圖片的讀取和保存、圖片的各種預處理操作,然后對文字進行分割,最后對文字進行識別,并在記事本中顯示識別結果。

          1 文字圖片識別系統方案

          文字圖片識別系統主要包括GUI 界面設計,圖像預處理,文字的分割與識別3 部分。

          文字圖片識別系統的實現方案為:

          1)首先根據系統的功能,確定GUI 界面需要的控件或菜單的種類和數量,后面通過編寫每個控件或菜單的回調函數,實現控件或菜單相應的功能;

          2)準備幾種不同類型文字的圖片,以備進行識別測試,首先進行圖片預處理,包括對圖像大小的裁剪旋轉、圖像增強、圖像灰度化、圖像二值化等操作,為了后面的和識別做準備,方便提取文字圖像的特征點;

          3)研究字符分割算法,實現對文字圖片的分割和識別;

          4)進行系統各個模塊的運行調試,修改相關程序,完善設計系統。

          2 文字圖片預處理

          預處理比較重要的操作包括以下幾步:

          首先對文字圖像進行灰度化處理,將彩色圖像轉換成灰度圖像。其次去除圖像中的噪聲,對圖像進行降噪,提高識別的準確度,噪聲會導致圖像的質量下降,影響圖像上的關鍵信息。接著對文字圖像二值化,將文字圖像轉換成只有黑色和白色兩種顏色的圖像。

          2.1 圖像的輸入與裁剪

          在MATLAB中,使用函數imread() 函數來讀取圖像,利用函數imshow() 顯示圖像。

          當系統讀入一張圖片,通常字符的周邊存在許多與文字沒有關系的其他信息,會對后續的處理帶來干擾,并且增大了程序的運算量,延緩了程序的運行速度。所以有時需要對圖像適當進行裁剪,去掉那些無用的干擾信息。

          利用函數imcrop() 可以對圖像進行剪切。還可以借助MATLAB 的算法,獲取鼠標的一些操作來實現截圖的功能。

          2.2 圖像灰度化處理

          對文字圖像進行灰度化處理,主要是為了提取圖像中的關鍵信息,過濾掉原來圖像中的色彩信息。彩色的圖像經過灰度化處理后,就只剩下一個灰度值。把原本的三通道R、G、B色彩圖像轉變成為單通道的灰度圖像。

          灰度化處理算法有分量法、最大值法平均值法和加權平均法。在MATLAB 中使用rgb2gray() 函數,對彩色圖像進行灰度化處理。

          2.3 圖像增強

          圖像增強是用來降低圖像中的噪聲,使圖像顯示的更加清晰,為后續的處理做準備。

          依據圖像所在空間的不同,圖像增強的方式也就不同。一種是基于空間域的圖像增強,它分為灰度變換增強、直方圖增強和空間濾波等。另一種是頻域的圖像增強,常用的有低通濾波、高通濾波和中值濾波等。

          經過對幾種算法進行測試對比,最后選擇使用中值濾波對圖像進行降噪處理,然后再對濾波后的圖像進行直方圖增強處理。經過這樣的處理后,得到的圖像字符是比較清晰的。

          在MATLAB 圖像工具箱中,采用imhist() 函數計算和顯示圖像的直方圖,用imadjust() 函數進行對比度調整。

          2.4 圖像二值化

          圖像二值化的實現是選取一個合適的閾值thresh,把它作為分界點。當像素點的像素值大于thresh 時,將其設置為白色,當像素點的像素值小于閾值thresh 時,將其定為黑色。在MATLAB 工具箱中,函數graythresh()的功能就是獲取一定的閾值,然后依據獲得的閾值把圖像進行二值化。函數graythresh() 獲取匹配的閾值的原理是最大類方差法。

          將獲取到的閾值用到函數im2bw(t,thresh) 中,就可以把圖像二值化,得到一個黑白色的圖像。

          3 和識別

          把二值化后的文字圖像進行字符分割,分割好后的字符會被寫入資料庫,生成待識別的字符模塊。字符識別時,讀取處理后的待識別字符和標準的文字字符模板,把這兩部分進行,輸出文字的識別結果。

          3.1 字符分割

          字符分割采用基于連通域分析的方法,對二值圖像上的文字進行分割。連通區域的標記算法種類是比較多的。在標記過程中,某些算法只經過一次的遍歷就可以標記成功,也有的算法需要不止一次的圖像掃描才可以完成標記。

          本設計采用基于行程掃描的算法進行連通域的標記,處理對象是經過處理后的二值圖像,作用是將圖像中感興趣的前景目標和背景分離。圖像遍歷完畢之后,得到很多個團的起始坐標、結束坐標以及它們所在的行和標號。同時,還得到一個等價對列表。

          二值圖像中的文字部分是白色的,在矩陣里面用1表示,背景是黑色的,在矩陣里用0 表示。在遍歷圖像的進程中,標號從一開始計數,找到等價的序列并且賦值一個標號給它們。找到等價對后,記錄它們的標號,最后把每個團的標號填入圖像當中。

          每一個字符信息都有自己的連通區域,字符是白色的,在矩陣中用1 表示。所以只需要找到像素值是1 的連通區域,然后標注并提取出來。這樣就可以實現字符的分割處理。

          3.2 文字識別

          模板的是利用小尺寸的字符圖像和模板中的圖像進行比較,確定原圖像中是否存在和這個模板相同或者相似的區域。文字識別的效果與選取的模板是息息相關的。

          數據庫里面的模板都是經過一系列處理的,字符庫由26 個大小寫英文字母和0~9 十個數字組成。數據庫中的模板圖片的格式是高度42,寬度24。

          的時候,首先將待識別圖片進行尺寸變換,轉換成和模板圖片一樣的大小,利用imresize() 函數實現;然后利用函數corr2() 來計算兩張圖片的相似度。當得到的結果在1 的附近,表示兩者的匹配度是很高的,也就是相似的;當獲取的結果接近0,表示二者的匹配度是很低的。

          經過對比,獲得1 個與分割字符相似度最高的字庫圖片,建立1 個文檔,把找到的模板圖片中的文字信息輸出在文檔中,即可實現文字的識別。

          4 文字圖片識別系統的調試與分析

          GUI 界面設計完成后,編寫對應菜單控件的回調函數。然后運行這個系統,對要識別的圖片進行文字識別測試。通過菜單可以實現圖片的讀取和保存,顯示圖片處理的各個中間過程,GUI 界面及部分測試結果如圖1 和圖2。

          1682331579768715.png

          圖1 文字識別測試一

          1682331611829464.png

          圖2 文字識別測試二

          從識別的結果來看,有時會發生識別錯誤,不過錯誤率是比較低的。

          手寫的字符只要寫的很規范,系統能夠準確地識別圖像中的文字。如果數據庫中每個字符有許多的模板字體,可以大大地提高文字的識別成功率。另外就是字母大小寫可能發生識別錯誤,發生大小寫混淆。

          總體來說,文字圖片識別系統能夠識別大部分文字,個別的一些識別缺陷,將在以后的研究中繼續改進。

          參考文獻:

          [1] 張紅霞,王燦,劉鑫,等.復雜背景圖像的字符識別算法研究[J].計算機測量與控制,2019,27(8):29-37.

          [2] 劉思慧,江維.基于MATLAB手寫體數字識別程序設計[J].電子世界,2019(3):18-21.

          [3] 李夢瑤.基于matlab的圖像增強處理技術[J].信息記錄材料,2020,21(3):19-26.

          [4] 甘曉英,白陽,何曉棟,等.一種并行二值圖像連通域標記算法[J].計算機與數字工程,2021,49(5):43-49.

          (本文來源于《電子產品世界》雜志2023年4月期)



          評論


          相關推薦

          技術專區

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();