章翔宇
摘 要:介紹如何把數(shù)字圖像處理中常用的技術怎樣在MATLAB中進行整合與實現(xiàn),同時以此來完成一個功能較為全面的數(shù)字圖像處理軟件,而且在保證軟件實用性的前提下,實現(xiàn)其操作簡便,容易上手,以此來保證其軟件的交互性。
關鍵詞:MATLAB 數(shù)字圖像處理 GUI交互式界面
中圖分類號:TP391.41 文獻標識碼:A 文章編號:1007-3973(2013)009-129-02
1 導言
由于計算機處理與運算能力的不斷增強,數(shù)字圖像處理這一種技術也得到了迅猛的發(fā)展,也因此與其它科學技術的結合運用成為了當代的主題,而數(shù)字圖片作為其它各種信息的最佳載體,其的處理也成為了各個學科研究中不可或缺的一環(huán)。隨著數(shù)字圖象處理的不斷前進與發(fā)展,其已經(jīng)成為當代工業(yè)、農(nóng)業(yè)、醫(yī)學、航空航天等學科研究中必需進行的一步,從DNA顯示分析到紅、白血球分析計數(shù),從地形、地貌 、國土普查到地質礦藏勘探,無不能夠證明數(shù)字圖像處理已經(jīng)成當代世界科學研究與發(fā)展的重要方法。
交互式圖形界面( grap hical user interface ,GUI),主要是指由窗口、光標、菜單、圖軸、按鈕、文本框等幾部分的多種對象所組成的一個面向用戶群體的界面。在這個操作界面內,用戶需要根據(jù)界面提示與自身需求來進行整個工程設計修改,同時卻不需要去了解工程內部是如何進行的。同時GUI界面的設計可以使用MATLAB本身程序代碼設計為主,也可以用已使用鼠標為主利用GUIDE所提供工具欄來進行具體設計。而本文就是利用MATLAB軟件來進行開發(fā)與設計。
2 系統(tǒng)的總體設計方案與GUI的結構說明
首先要根據(jù)對用戶的需求進行分析之后結合 MATLAB 所自帶的各種函數(shù)以及前人所運用MATLAB所做的數(shù)字圖像處理的相關程序來完成了系統(tǒng)總體設計的基本草圖,同時確定其功能應該有哪些,系統(tǒng)設計方案如圖1所示。
在確定了總體的設計的功能架構之后,就是制作 GUI 界面,既圖形用戶界面的制作。同時也被也稱圖形用戶界面的外觀與視覺( look and feel) 的制作,它的設計包括兩部分:其一是根據(jù)MATLAB GUI制作界面所提供的工具制作交互式界面的各種連接框與功能框;其二是根據(jù)設計結構圖來制作與組織各種圖形對象以及這些對象之間的相互的操作與連接調用。同時交互式圖形界面程序的核心就是句柄圖形的應用與開發(fā),因此對句柄圖形的充分了解將使得圖形界面程序的編寫更加容易。
而這些句柄對象一般分為四層,其中第一層為根對象也稱root對象,它是計算機屏幕,也是所有其他對象的父對象,其也是獨一無二的,主要是保存系統(tǒng)狀態(tài)與設置信息。第二層為窗口對象,也稱figure對象,它表示整個圖形窗口,是根的直接子對象。第三層為坐標軸對象和用戶接口對象,其中坐標軸對象是核心對象和組對象的父對象,主要用于數(shù)據(jù)的可視化,用戶接口對象一般用于MATLAB與用戶間的互操作。第四層是核心對象和組對象,核心對象是所有繪圖的基本元素,組對象為多個核心對象組合而成的坐標軸的子對象。
3 功能的簡單介紹
例如下面一段代碼展示的主要的功能是對Axes1中載入的圖片進行二維空間的水平鏡像:
tic;
x=handles.imdata;
[row,col]=size(x);
for i=1:row
for j=1:col
y(i,j)=x(i,col-j+1);
end
end
Time=toc;
if (row<=256)&(row<=256)
W=256;
else
W=max(row,col);
end
extendx=double(zeros([W,W]));
for m=1:W
for n=1:W
if (m<=row)&(n<=col)
extendx(m,n)=y(m,n);
else
extendx(m,n)=realmax;
end
end
end
axes(handles.axes2);
imshow(extendx,[min(min(y)),max(max(y))]);
handles.imdata=y;
guidata(hObject,handles);
在上述代碼中,將handles.Axes1中圖片轉換為數(shù)字矩陣然后予以轉置移動到其handles.axes2中輸出,同時把處理結果在保存在handles.imdata之中,其處理結果如圖2所示。
對于圖像處理來說,圖像在獲取過程中所發(fā)生的退化現(xiàn)象一直是圖像處理的主要方面。而該設計主要是從頻率域增強出發(fā)對其進行傅里葉變換后對其頻譜進行分析后在經(jīng)過逆變換來處理圖像的,其中包括加:噪聲,平滑,銳化,偽色彩增強等處理方法;例如加入椒鹽噪聲后的圖片進行均值平滑處理后其效果圖如圖3所示。
在圖像處理的研究與應用之中,人們一般會對圖像中某一特定部分感興趣,而這些對象一般對應圖像中特定或具有獨特性質的區(qū)域而為了對這些對象進行分析和理解我們就要先把它們區(qū)分出來然后在按照其各個區(qū)域的特征進行分類或鏈接,圖4、圖5是一些常見檢測結果的顯示圖。
4 結論
雖然該軟件在取得上述幾種成果的同時也還存在許多的不足與缺憾。同時,在當前數(shù)字圖像處理技術也在不斷取得進步,新的算法與技術也在不斷產(chǎn)生。如神經(jīng)元理論、模糊理論、蟻群算法、軟計算修復等。而該軟件只是選取了一些簡單常用的技術與算法來實現(xiàn)設計需求,所以其中許多功能還需要更加深入地研究探索。
參考文獻:
[1] 呂林根,許子道.解析幾何(第四版)[M].北京:高等教育出版社,2006.
[2] 程研.基于視頻圖像處理技術的運動車輛檢測與跟蹤算法研究[D].沈陽:沈陽師范大學,2010.
[3] 李元帥,張勇,周國忠.圖像中值濾波硬件算法及其在FPGA中的實現(xiàn)[J].計算機應用,2006(26):61-62.
[4] 徐飛,施曉紅.MATLAB應用圖像處理[M].西安:西安電子科技大學出版社,2002:207-211.