黃明慧 劉立群 常琴 邵娟 王佳玉
摘要:針對數(shù)字圖像處理的需求,開發(fā)設計了基于MATLAB GUI的數(shù)字圖像處理系統(tǒng)。系統(tǒng)模塊中包含對文件進行編輯,包含對圖像大小調(diào)整,裁剪,灰度化處理,以及顯示圖像的邊界圖,圖像進行類型轉(zhuǎn)換,顏色空間轉(zhuǎn)換。對數(shù)字圖像處理的設計主界面中一共包含以下幾個實驗項目,圖像的變換、增強、分割、其他常用處理。圖像的傅里葉變換,離散余弦變換;空間域增強、頻率域增強;閾值分割、梯度分割;對圖像的亮度調(diào)節(jié),對比度調(diào)節(jié),裁剪截取,及顯示圖片的底片效果。該系統(tǒng)主要實現(xiàn)了對圖像的以上處理,最后通過實例來展示處理效果。測試結(jié)果表明,該系統(tǒng)正常實現(xiàn)了所需要的功能,達到了數(shù)字圖像處理的目的。
關(guān)鍵詞:圖像處理;分析;MATLAB GUI
中圖分類號:TN911.73? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)04-0029-04
Abstract: In response to the needs of digital image processing, to design a digital image processing system, which is based on MATLAB GUI. The system module includes editing of files, including image size adjustment, cropping, gray-scale processing, and the boundary map of the displayed image, image type conversion, and color space conversion. The main interface of digital image processing design includes the following experimental items, image transformation, image enhancement ,image segmentation, and other common processing. Perform Fourier transform and Discrete Cosine Transform on the image; spatial domain enhancement processing, frequency domain enhancement processing; threshold segmentation, gradient segmentation; brightness adjustment, contrast adjustment, cropping and interception of the image,and the effect of displaying the negatives of the picture. The system mainly realizes the above processing of the image, and finally shows the processing effect through examples. The test results show that the functions required by the system at the normal time, and achieved the expected treatment effect.
Key words: Image Processing; analysis; MATLAB GUI
1 背景
隨著數(shù)字圖像技術(shù)的發(fā)展,如今研究人員運用MATLAB的各種算法來完成在航空航天、生物工程、醫(yī)藥圖像、軍事公安以及道路交通等領(lǐng)域許多復雜的圖像處理問題。數(shù)字圖像處理這一技術(shù)也會深入到現(xiàn)實生活生產(chǎn)和科研活動中來[1]。
本文所設計和實現(xiàn)的系統(tǒng)是數(shù)字圖像處理平臺。圖像增強是圖像預處理中的常用的技術(shù),圖像增強可以提高圖像質(zhì)量,其作用也極其顯著。而圖像增強,就是指對圖像的某些特征進行處理,其處理借助于MATLAB強大的運算功能和對圖像圖形的展示處理功能,設計并實現(xiàn)數(shù)字圖像的處理,它所具有的較強實踐性也使得圖像展示與處理更加簡單直觀[2]。
2 系統(tǒng)的總體設計
根據(jù)當前系統(tǒng)的總體設計板塊和要求,系統(tǒng)模塊中包含對文件進行編輯,對圖像大小調(diào)整,裁剪,灰度化處理,以及顯示圖像的邊界圖,圖像進行類型轉(zhuǎn)換,顏色空間轉(zhuǎn)換。其設計框圖如圖1所示。
MATLAB可以直觀地進行圖像演示,所以使用MATLAB實現(xiàn)對于圖像的某些基本處理,顯示在GUI中,諸如圖像變換,圖像增強以及圖像分割,其他常用處理等多種圖像處理。此系統(tǒng)的具體實驗項目如圖2所示。
3 系統(tǒng)功能
該系統(tǒng)主要利用 MATLAB GUI設計圖形用戶界面,界面上相應按鈕調(diào)用對應的回調(diào)函數(shù),其中每個界面都是由相應的按鈕對應的回調(diào)函數(shù)構(gòu)成,所有的處理功能都會對應一個相應的回調(diào)函數(shù),編寫完回調(diào)函數(shù)后便可實現(xiàn)相應的圖像處理。系統(tǒng)的主界面是進入數(shù)字圖像處理的各個子界面的入口[3],如圖3所示。
4 具體實驗項目
4.1 圖像變換
對圖像進行簡單傅里葉變換、離散余弦變換,其中離散余弦變換只能對灰度圖像進行處理。該操作可以用GUI完成。
4.1.1 傅里葉變換
在平臺的設計中傅里葉變換有很多較為廣泛的應用,它可以將某一簡單的圖像,通過變化從空間域轉(zhuǎn)換成頻率域,然后再進行相應的處理。如圖4所示。
4.1.2 離散余弦變換
在DFT變換中有一種很特殊的形式是DCT,DCT的中文簡稱就是離散余弦變換,它可以有損壓縮簡單的數(shù)據(jù)和圖像。同時,DCT變換的“能量集中”性效果很顯著。如圖5所示。
4.2 圖像增強
在對圖像進行處理過程中,有一個必不可少的處理步驟,那就是圖像增強功能。它是將一張圖像讀入后,首先選擇出與圖像相匹配的濾波器,然后對圖像進行簡單的濾波處理,這樣就可以將所需要消除的噪聲消除掉,最后將圖像在通過DFT變換就可以得到增強后的效果。
圖像進行傳輸和獲取的時候,會受到來自外界各種噪聲的干擾,如果受到比較多的外來干擾,圖像的質(zhì)量就會下降,進行圖像分析時就會有影響[4]。
4.2.1 頻率域增強
在圖像的處理過程中,還需要將圖像進行校正,需要通過調(diào)整圖中的直方圖,調(diào)整完的直方圖是具有“平坦”傾向的,完成這個操作就需要用到直方圖的均衡化。
4.2.2 空間域增強
用空間域濾波的方法,可以將圖像進行處理,即遍歷處理,突出圖像的某一部分,如圖像邊緣,圖像就會強化。
4.2.3 具體操作實例
1)圖像平滑,操作如圖6所示。
2)高斯平滑,操作如圖7所示。
3)中值濾波,操作如圖8所示。
4)圖像銳化,操作如圖9所示。
5)拉普拉斯算子,操作如圖10所示。
6)高斯-拉普拉斯變換,操作如圖11所示。
4.3 圖像分割
在數(shù)字圖像處理的方法中,其作用就是分割出圖像中有用或需要用的部分,也就是將圖片分成若干個不同性質(zhì)的小區(qū)域。其應用有邊緣檢測、圖像二值化等[5]。
圖像二值化是將彩色的圖像變?yōu)榛野咨珗D片,這其中的原理是把圖片上的像素點的灰度值進行變化,從而這樣圖片會成為灰白色。我們可以在程序中讀入一個彩色圖像,然后將這個圖像二值化,最后用編程語言將圖像進行處理。
邊緣檢測方法就是檢測每個像素的灰度,然后對檢測到的灰度進行量化[6]。
4.3.1 閾值分割
把圖像分割為不同的區(qū)域,劃分圖片所有像素,得到的每個小集合會成為子集,每個子集都會有相對應的區(qū)域,不同區(qū)域有不同的性質(zhì),但內(nèi)部性質(zhì)一樣。如圖12所示。
4.3.2 梯度分割
將圖像用梯度圖表示,更好地展現(xiàn)圖像的變化趨勢,保存完好的圖像。梯度分割的作用是通過計算邊緣突出的矩形,并將其劃分為一節(jié)一節(jié)的梯度,這樣可以除去圖像上多出來的沒用的部分和噪聲。如圖13所示。
4.4 其他常用處理
4.4.1 亮度
即灰度,可以將圖片的明暗變化表現(xiàn)出來,變化的范圍是0%-100%。如圖14所示。
4.4.2 對比度
調(diào)節(jié)對比度即改變圖片中黑色和白色的比值,比值越大,圖片的顏色漸變層次變化會越大,從而圖片顏色變得更加豐富。如圖15所示。
4.4.3 截圖
截圖就是按照圖片大小需求將圖片截出來,從而達到圖像處理的效果。如圖16所示。
4.4.4 底片效果
即圖片的顏色對光線的敏感度,等價于曝光,感光度越高,曝光度越高,底片效果越好。如圖17所示。
5 結(jié)束語
數(shù)字圖像處理簡單來說就是通過電腦各種軟件對圖像進行各種各樣的演示,MATLAB可以直觀地進行圖像演示。所以本文使用MATLAB所進行圖像處理,實驗主要內(nèi)容如下:1)完成數(shù)字圖像處理系統(tǒng)的總體設計和各模塊功能設計。2)使用MATLAB中的GUI平臺,進行圖像的某些基本處理,分析算法,并進行改進,最后通過實例來展示處理效果。3)進行了圖像裁剪,顯示圖像的邊界圖,亮度調(diào)節(jié),對比度調(diào)節(jié),裁剪截取,及顯示圖像底片效果等操作。
參考文獻:
[1] 李磊.基于MATLAB GUI的數(shù)字圖像處理系統(tǒng)設計[D].成都:成都理工大學,2012.
[2] 丁潔,姜慶偉.基于MATLAB的數(shù)字圖像增強處理系統(tǒng)設計與實現(xiàn)[J].科技信息,2009(8):188-190.
[3] 羅琴,李永全.基于MATLAB GUI的數(shù)字圖像處理輔助教學系統(tǒng)設計[J].電腦知識與技術(shù),2018,14(8):114-116.
[4] 李寶方,邢玉清.基于MATLAB GUI的數(shù)字圖像處理仿真系統(tǒng)設計[J].計算機與數(shù)字工程,2014(11):217-218.
[5] 郭曉軍.數(shù)字圖像處理[M].北京:電子工業(yè)大學出版社,2009:6-10.
[6] 繆紹綱.數(shù)字圖像處理:活用Matlab[M].成都:西南交通大學出版社,2001.
[7] 阮秋琦.數(shù)字圖像處理學[M].北京:電子工業(yè)出版社,2001.
[8] 岡薩雷斯.數(shù)字圖像處理[M].阮秋琦,譯.北京:電子工業(yè)出版社,2003.
[9] 劉衛(wèi)國.MATLAB程序設計教程[M].北京:中國水利水電出版社,2005.
【通聯(lián)編輯:謝媛媛】