王 輝,叢榆坤,陳金陽,王 敏
(盤錦職業(yè)技術(shù)學(xué)院,遼寧 盤錦 124000)
馬爾可夫隨機(jī)場(Markov Random Field)統(tǒng)計(jì)模型是數(shù)字圖像紋理分析領(lǐng)域的一個(gè)熱點(diǎn),它提供了一個(gè)能夠在圖像空間上描述相關(guān)隨機(jī)變量之間相互作用的數(shù)學(xué)模型,已經(jīng)在紋理分析、圖像恢復(fù)與分割、圖像重構(gòu)以及分類識(shí)別等研究領(lǐng)域得到廣泛應(yīng)用。其中,當(dāng)馬爾可夫隨機(jī)場鄰域的激勵(lì)噪聲符合Gauss分布時(shí),可得到一組由圖像空域像素灰度描述表達(dá)的線性方程,即高斯-馬爾可夫隨機(jī)場(GMRF)模型。GMRF是一個(gè)平穩(wěn)的自回歸過程,它的協(xié)方差矩陣正定,鄰域系統(tǒng)對(duì)稱,對(duì)稱鄰域點(diǎn)的參數(shù)相等。假設(shè)圖像中某一點(diǎn)s的灰度y(s)是s所有方向鄰域點(diǎn)灰度的函數(shù),并可用下面的條件概率形式表示。
p(y(s)|all:y(s+r),r∈NS)
(1)
其中,N為以s為中心、r為半徑,且不含s的對(duì)稱鄰域,GMRF數(shù)學(xué)模型鄰域與階數(shù)關(guān)系如圖1所示,研究以5階GMRF數(shù)學(xué)模型為代表進(jìn)行軟件設(shè)計(jì)。
圖1 Gauss-MRF數(shù)學(xué)模型鄰域與階數(shù)關(guān)系圖Fig.1 Relationship between neighborhood and order of Gauss MRF mathematical model
軟件主函數(shù)為function [b,ex_time]=Gauss_MRF5(Path_of_Image,fname),函數(shù)返回值為圖像高斯馬爾科夫隨機(jī)場紋理特征參數(shù)b及程序運(yùn)行時(shí)間ex_time,其中,Path_of_Image圖像存儲(chǔ)路徑、fname是圖像存儲(chǔ)名。軟件使用方法如下:(1)將文件置于MATLAB軟件默認(rèn)調(diào)用函數(shù)目錄中;(2)打開MATLAB程序,在命令窗口中,分別給Path_of_Image、fname賦初始值;(3)在命令窗口中,輸入“Gauss_MRF5(Path_of_Image,fname);”即可運(yùn)行程序,待彈出窗口后,程序結(jié)束。在命令窗口中,顯示程序運(yùn)行時(shí)間和圖像高斯馬爾科夫隨機(jī)場紋理特征參數(shù)特征統(tǒng)計(jì)參數(shù)。
function [b,ex_time]=Gauss_MRF5(Path_of_Image,fname)
clc;
disp(′-------′)
t=cputime;
YDT=fix(clock);
time=[num2str(YDT(4)),′:′,num2str(YDT(5)),′:′,num2str(YDT(6))];
disp(time)
eval([′cd′ ′ ′ Path_of_Image]);
X=imread(fname);
y=rgb2gray(X);
y=double(y);
[m,n]=size(y);
if m~=n
disp(′圖像輸入有誤′);
end
ys=zeros((m-4)*(n-4),1);
k=1;
fori=3:m-2
for j=3:n-2
ys(k)=y(i,j);k=k+1;
end
end
q=zeros(12,(m-4)*(n-4));yn=zeros(12,1);L=1;%k=1:12;
fori=3:m-2
for j=3:n-2
yn(1)=y(i,j+1)+y(i,j-1);yn(2)=y(i+1,j)+y(i-1,j);yn(3)=y(i+1,j+1)+y(i-1,j-1);
yn(4)=y(i-1,j+1)+y(i+1,j-1);yn(5)=y(i-2,j)+y(i+2,j);yn(6)=y(i,j-2)+y(i,j+2);
yn(7)=y(i+1,j-2)+y(i-1,j+2);yn(8)=y(i-1,j-2)+y(i+1,j+2);yn(9)=y(i+2,j-1)+y(i-2,j+1);
yn(10)=y(i+2,j+1)+y(i-2,j-1);yn(11)=y(i+2,j+2)+y(i-2,j-2);yn(12)=y(i+2,j-2)+y(i-2,j+2);
for k=1:12
q(k,L)=yn(k);
end
L=L+1;
end
end
b=inv(q*q′)*(q*ys);
b=b′;
YDT=fix(clock);
time=[num2str(YDT(4)),′:′,num2str(YDT(5)),′:′,num2str(YDT(6))];
disp(time)
ex_time=cputime-t;
str=[′消耗時(shí)間為 ′,num2str(cputime-t),′秒′];
disp(str)
disp(′-------′)
str=[′5階高斯-馬爾可夫隨機(jī)場的12個(gè)特征參數(shù)分別為 ′];
disp(str)
PARAMETER=b;
disp([′ ′,′參數(shù)1 ′,num2str(PARAMETER(1))]);
disp([′ ′,′參數(shù)2 ′,num2str(PARAMETER(2))]);
disp([′ ′,′參數(shù)3 ′,num2str(PARAMETER(3))]);
disp([′ ′,′參數(shù)4 ′,num2str(PARAMETER(4))]);
disp([′ ′,′參數(shù)5 ′,num2str(PARAMETER(5))]);
disp([′ ′,′參數(shù)6 ′,num2str(PARAMETER(6))]);
disp([′ ′,′參數(shù)7 ′,num2str(PARAMETER(7))]);
disp([′ ′,′參數(shù)8 ′,num2str(PARAMETER(8))]);
disp([′ ′,′參數(shù)9 ′,num2str(PARAMETER(9))]);
disp([′ ′,′參數(shù)10 ′,num2str(PARAMETER(10))]);
disp([′ ′,′參數(shù)11 ′,num2str(PARAMETER(11))]);
disp([′ ′,′參數(shù)12 ′,num2str(PARAMETER(12))]);
disp(′-------′)
使用MATLAB語言設(shè)計(jì)了5階高斯-馬爾可夫隨機(jī)場圖像處理及12個(gè)特征參數(shù)的提取程序,給出了軟件算法在MATLAB開發(fā)平臺(tái)上程序的源代碼。該軟件能夠在圖像處理與模式識(shí)別研究領(lǐng)域用于獲取數(shù)字圖像的GMRF統(tǒng)計(jì)紋理特征參數(shù),程序運(yùn)行速度快,交互性好,預(yù)留了程序批處理接口,能夠解決圖像高斯-馬爾可夫隨機(jī)場特征統(tǒng)計(jì)分析問題,也能夠滿足高校數(shù)字圖像處理技術(shù)課程與科研實(shí)驗(yàn)的實(shí)際需求。