王 辉,丛榆坤,陈金阳,王 敏
(盘锦职业技术学院,辽宁 盘锦 124000)
马尔可夫随机场(Markov Random Field)统计模型是数字图像纹理分析领域的一个热点,它提供了一个能够在图像空间上描述相关随机变量之间相互作用的数学模型,已经在纹理分析、图像恢复与分割、图像重构以及分类识别等研究领域得到广泛应用。其中,当马尔可夫随机场邻域的激励噪声符合Gauss分布时,可得到一组由图像空域像素灰度描述表达的线性方程,即高斯-马尔可夫随机场(GMRF)模型。GMRF是一个平稳的自回归过程,它的协方差矩阵正定,邻域系统对称,对称邻域点的参数相等。假设图像中某一点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开发平台上程序的源代码。该软件能够在图像处理与模式识别研究领域用于获取数字图像的GMRF统计纹理特征参数,程序运行速度快,交互性好,预留了程序批处理接口,能够解决图像高斯-马尔可夫随机场特征统计分析问题,也能够满足高校数字图像处理技术课程与科研实验的实际需求。