色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 基于MATLAB/GUI的文字圖片識別系統(tǒng)設(shè)計(jì)

          基于MATLAB/GUI的文字圖片識別系統(tǒng)設(shè)計(jì)

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

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

          本文引用地址:http://cafeforensic.com/article/202304/445939.htm

          本設(shè)計(jì)運(yùn)用 設(shè)計(jì)實(shí)現(xiàn)文字圖片識別系統(tǒng),該系統(tǒng)包括GUI 界面設(shè)計(jì),圖像預(yù)處理,文字的分割和識別。建立圖片文字模板,該文字識別系統(tǒng)可以實(shí)現(xiàn)圖片的讀取和保存、圖片的各種預(yù)處理操作,然后對文字進(jìn)行分割,最后對文字進(jìn)行識別,并在記事本中顯示識別結(jié)果。

          1 文字圖片識別系統(tǒng)方案

          文字圖片識別系統(tǒng)主要包括GUI 界面設(shè)計(jì),圖像預(yù)處理,文字的分割與識別3 部分。

          文字圖片識別系統(tǒng)的實(shí)現(xiàn)方案為:

          1)首先根據(jù)系統(tǒng)的功能,確定GUI 界面需要的控件或菜單的種類和數(shù)量,后面通過編寫每個(gè)控件或菜單的回調(diào)函數(shù),實(shí)現(xiàn)控件或菜單相應(yīng)的功能;

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

          3)研究字符分割算法,實(shí)現(xiàn)對文字圖片的分割和識別;

          4)進(jìn)行系統(tǒng)各個(gè)模塊的運(yùn)行調(diào)試,修改相關(guān)程序,完善設(shè)計(jì)系統(tǒng)。

          2 文字圖片預(yù)處理

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

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

          2.1 圖像的輸入與裁剪

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

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

          利用函數(shù)imcrop() 可以對圖像進(jìn)行剪切。還可以借助MATLAB 的算法,獲取鼠標(biāo)的一些操作來實(shí)現(xiàn)截圖的功能。

          2.2 圖像灰度化處理

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

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

          2.3 圖像增強(qiáng)

          圖像增強(qiáng)是用來降低圖像中的噪聲,使圖像顯示的更加清晰,為后續(xù)的處理做準(zhǔn)備。

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

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

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

          2.4 圖像二值化

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

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

          3 和識別

          把二值化后的文字圖像進(jìn)行字符分割,分割好后的字符會被寫入資料庫,生成待識別的字符模塊。字符識別時(shí),讀取處理后的待識別字符和標(biāo)準(zhǔn)的文字字符模板,把這兩部分進(jìn)行,輸出文字的識別結(jié)果。

          3.1 字符分割

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

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

          二值圖像中的文字部分是白色的,在矩陣?yán)锩嬗?表示,背景是黑色的,在矩陣?yán)镉? 表示。在遍歷圖像的進(jìn)程中,標(biāo)號從一開始計(jì)數(shù),找到等價(jià)的序列并且賦值一個(gè)標(biāo)號給它們。找到等價(jià)對后,記錄它們的標(biāo)號,最后把每個(gè)團(tuán)的標(biāo)號填入圖像當(dāng)中。

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

          3.2 文字識別

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

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

          的時(shí)候,首先將待識別圖片進(jìn)行尺寸變換,轉(zhuǎn)換成和模板圖片一樣的大小,利用imresize() 函數(shù)實(shí)現(xiàn);然后利用函數(shù)corr2() 來計(jì)算兩張圖片的相似度。當(dāng)?shù)玫降慕Y(jié)果在1 的附近,表示兩者的匹配度是很高的,也就是相似的;當(dāng)獲取的結(jié)果接近0,表示二者的匹配度是很低的。

          經(jīng)過對比,獲得1 個(gè)與分割字符相似度最高的字庫圖片,建立1 個(gè)文檔,把找到的模板圖片中的文字信息輸出在文檔中,即可實(shí)現(xiàn)文字的識別。

          4 文字圖片識別系統(tǒng)的調(diào)試與分析

          GUI 界面設(shè)計(jì)完成后,編寫對應(yīng)菜單控件的回調(diào)函數(shù)。然后運(yùn)行這個(gè)系統(tǒng),對要識別的圖片進(jìn)行文字識別測試。通過菜單可以實(shí)現(xiàn)圖片的讀取和保存,顯示圖片處理的各個(gè)中間過程,GUI 界面及部分測試結(jié)果如圖1 和圖2。

          1682331579768715.png

          圖1 文字識別測試一

          1682331611829464.png

          圖2 文字識別測試二

          從識別的結(jié)果來看,有時(shí)會發(fā)生識別錯誤,不過錯誤率是比較低的。

          手寫的字符只要寫的很規(guī)范,系統(tǒng)能夠準(zhǔn)確地識別圖像中的文字。如果數(shù)據(jù)庫中每個(gè)字符有許多的模板字體,可以大大地提高文字的識別成功率。另外就是字母大小寫可能發(fā)生識別錯誤,發(fā)生大小寫混淆。

          總體來說,文字圖片識別系統(tǒng)能夠識別大部分文字,個(gè)別的一些識別缺陷,將在以后的研究中繼續(xù)改進(jìn)。

          參考文獻(xiàn):

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

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

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

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

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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉