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