王輝 叢榆坤 陳金陽 王敏
摘要:結(jié)合數(shù)字圖像處理技術(shù)課程與科研實(shí)驗(yàn)的需要,針對圖像灰度共生矩陣紋理二次特征提取問題的需求,本文使用MATLAB語言設(shè)計(jì)了灰度共生矩陣圖像處理及特征提取程序,并給出了軟件算法在MATLAB開發(fā)平臺上程序的源代碼。
關(guān)鍵詞:圖像處理技術(shù);紋理特征;灰度共生矩陣;軟件設(shè)計(jì);MATLAB
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2019)10-0146-03
1 圖像處理技術(shù)與灰度共生矩陣
數(shù)字圖像處理技術(shù)(Digital Image Processing)主要討論用計(jì)算機(jī)對數(shù)字圖像進(jìn)行去除噪聲、圖像增強(qiáng)、圖像復(fù)原、圖像分割、圖像提取特征等處理的加工方法和分析技術(shù)。紋理特征是數(shù)字圖像處理分析中的常用的重要特征,它描述了數(shù)字圖像中重復(fù)出現(xiàn)的局部模式以及排列規(guī)則,常用于圖像分類和場景識別。本文結(jié)合數(shù)字圖像處理技術(shù)課程與科研實(shí)驗(yàn)的需要,針對圖像灰度共生矩陣紋理二次特征提取問題的需求,本文使用MATLAB語言設(shè)計(jì)了灰度共生矩陣圖像處理程序,并給出了軟件算法在MATLAB開發(fā)平臺上程序的源代碼。
2 灰度共生矩陣MATLAB軟件程序設(shè)計(jì)
2.1 函數(shù)程序和軟件使用方法
軟件主函數(shù)為function GLCM_FAST(path_of_image,seq,step, gray_level),其中,Path_of_Image圖像存儲路徑,string格式;Seq批處理圖像序號,Seq=[first last],first是首圖片編號,last是尾圖片編號;Step灰度共生矩陣生成步長,Step=1、2、3...整數(shù);GRAY_LEVEL圖像灰度級數(shù),GRAY_LEVEL一般取值為16,32,64,128,256;函數(shù)返回值為灰度共生矩陣14個特征參數(shù)及程序運(yùn)行時間。
軟件子函數(shù)計(jì)算θ=0°、45°、90°、135°四個方向灰度共生矩陣函數(shù)分別為function GCLM_P=Cal_Co_Matrix_0(DATA,GRAY_LEVEL,STEP)、functionGCLM_P=Cal_Co_Matrix_45(DATA,GRAY_LEVEL,STEP)、function GCLM_P=Cal_Co_ Matrix_90(DATA,GRAY_LEVEL,STEP)以及function GCLM_P=Cal_Co_Matrix_135(DATA,GRAY_LEVEL,STEP),其中,DATA已經(jīng)讀入的圖像數(shù)據(jù),Step、GRAY_LEVEL同上。軟件子函數(shù)計(jì)算灰度共生矩陣14個特征參數(shù)函數(shù)為function Parameter= Cal_Para(GCLM_P,GRAY_LEVEL),GCLM_P待處理的灰度共生矩陣,其函數(shù)返回值為灰度共生矩陣14個特征參數(shù),軟件程序流程圖如圖1所示。
軟件使用方法如下:(1)將文件置于MATLAB軟件默認(rèn)調(diào)用函數(shù)目錄中;(2)將待處理圖片,依次按數(shù)字編號1,2,3...,修改文件名;(3)打開MATLAB程序,在命令窗口中,分別給Path_of_Image、Seq、Step、GRAY_LEVEL賦初始值;(4)在命令窗口中,輸入“GLCM_FAST(Path_of_Image,Seq,Step,GRAY_LEVEL);”即可運(yùn)行程序。待彈出窗口后,程序結(jié)束,在命令窗口中,顯示程序運(yùn)行時間,并將所得特征參數(shù)寫到當(dāng)前目錄下相應(yīng)的“WH_4_ Angles.txt”、“WH_AVR.txt”和“WH_4_Angles_Gui.txt”等3個數(shù)據(jù)文件中,分別對應(yīng)灰度共生矩陣4個方向特征參數(shù)值數(shù)據(jù)文件、4個方向特征參數(shù)平均值數(shù)據(jù)文件和4個方向歸一化后特征參數(shù)值數(shù)據(jù)文件。
2.2 主函數(shù)程序程序代碼
function GLCM_FAST(path_of_image,seq,step, gray_level)
clc;
t=cputime;
Seq= seq;
STEP=step;
GRAY_LEVEL=gray_level;
PATH_OF_IMAGE= path_of_image;
YDT=fix(clock);
time=[num2str(YDT(4)),':',num2str(YDT(5)),':',num2str(YDT(6))];
disp(time)
eval(['cd' ' ' PATH_OF_IMAGE]);
ff0=fopen('WH_4_Angles.txt','w');
ff1=fopen('WH_AVR.txt','w');
ff2=fopen('WH_4_Angles_Gui.txt','w');
Image_First=Seq(1);Image_Last=Seq(2);
name=int2str(Image_First);
for Image_number=Image_First:Image_Last
x=imread(name,'bmp');
data=rgb2gray(x);
DATA=double(data);
GCLM_P1=Cal_Co_Matrix_0(DATA,GRAY_LEVEL,STEP);
Parameter(1,:)=Cal_Para(GCLM_P1,GRAY_LEVEL);
GCLM_P2=Cal_Co_Matrix_45(DATA,GRAY_LEVEL,STEP);
Parameter(2,:)=Cal_Para(GCLM_P2,GRAY_LEVEL);
GCLM_P3=Cal_Co_Matrix_90(DATA,GRAY_LEVEL,STEP);
Parameter(3,:)=Cal_Para(GCLM_P3,GRAY_LEVEL);
GCLM_P4=Cal_Co_Matrix_135(DATA,GRAY_LEVEL,STEP);
Parameter(4,:)=Cal_Para(GCLM_P4,GRAY_LEVEL);
PARAMETER=mean(Parameter);
P_SUM=sum(Parameter);
Parameter_Gui=Parameter;
for iii=1:14
Parameter_Gui(:,iii)=Parameter(:,iii)/P_SUM(iii);
end
for J=1:4
for I=1:14
String=[num2str(Parameter(J,I)),' '];
fprintf(ff0,'%s',String);
String2=[num2str(Parameter_Gui(J,I)),' '];
fprintf(ff2,'%s',String2);
if J==1
String1=[num2str(PARAMETER(I)),' '];
fprintf(ff1,'%s',String1);
end
end%
fprintf(ff0,'%s\n',';');
fprintf(ff2,'%s\n',';');
end%
fprintf(ff1,'%s\n',';');
name=str2double(name);name=name+1;name=int2str(name);
fprintf(ff0,'%s\n','');
fprintf(ff2,'%s\n','');
end
fclose(ff0);
fclose(ff1);
fclose(ff2);
YDT=fix(clock);
time=[num2str(YDT(4)),':',num2str(YDT(5)),':',num2str(YDT(6))];
disp(time)
disp(cputime-t)
Figure
3 結(jié)語
本文使用MATLAB語言設(shè)計(jì)了灰度共生矩陣圖像處理及特征提取程序,給出了軟件算法在MATLAB開發(fā)平臺上程序的源代碼。該軟件應(yīng)用于機(jī)器視覺、智能控制與模式識別研究領(lǐng)域,獲取已知圖像的灰度圖像共生矩陣,能夠反映圖像灰度關(guān)于方向、相鄰間隔、變化幅度的綜合信息。通過灰度共生矩陣可以分析圖像的局部模式和排列規(guī)則等。還可以提取其角二階矩、對比度、相關(guān)、熵、方差、均值和、方差和、逆差矩、差的方差、和熵、差熵、聚類陰影、顯著聚類和最大概率共14個紋理特征參數(shù)。該程序使用靈活,設(shè)有6個輸入形式參數(shù),輸入圖像格式兼容范圍廣,輸出為灰度共生矩陣及其特征參數(shù),可以根據(jù)需要設(shè)置灰度共生矩陣及其特征的獲取參數(shù),以滿足不同需求下的紋理參數(shù)獲取。此外,本軟件還可以計(jì)算程序執(zhí)行時間,能夠解決圖像灰度共生矩陣紋理二次特征提取問題的需求,同時能夠滿足數(shù)字圖像處理技術(shù)課程與科研實(shí)驗(yàn)的需要。
參考文獻(xiàn)
[1] 王輝,白雪冰,丁金華,等.基于貝葉斯理論集成網(wǎng)絡(luò)分類器在板材識別中的應(yīng)用[J].大連工業(yè)大學(xué)學(xué)報,2015,34(3):231-234.
[2] 蘭蓉,母保洋.二級分區(qū)下顏色融合紋理的刑偵圖像檢索[J].計(jì)算機(jī)應(yīng)用與軟件,2019,36(8):181-188.
[3] 蘆兵,孫俊,楊寧,等.基于熒光透射譜和高光譜圖像紋理的茶葉病害預(yù)測研究[J].光譜學(xué)與光譜分析,2019,39(8):2515-2521.
[4] 肖志云,劉洪.小波域馬鈴薯典型蟲害圖像特征選擇與識別[J].農(nóng)業(yè)機(jī)械學(xué)報,2017,48(9):24-31.
[5] 基于MATLAB語譜圖的聲樂研究[J].軟件工程,2019,22(9):1-4.