簡體   English   中英

如何在Matlab中從LBP圖像的直方圖中保存特征值?

[英]How to save feature value from histogram of LBP image in Matlab?

我正在使用本地二進制模式LBP )提取圖像組的功能(“ 訓練”文件夾中有500張圖像,“測試”文件夾中有100張圖像 )。 確實,我已經成功提取了這些功能,但是我不確定它們是否以正確的方式保存。

這是提取功能的一部分代碼:

for x = 1:total_images
% Specify images names with full path and extension    
full_name= fullfile(test_set, filenames(x).name);

% Read images from Training folder
I2 = imread(full_name);
I3=I2;
m=size(I2,1);
n=size(I2,2);

for i=2:m-1
    for j=2:n-1
        c=I2(i,j);
        I3(i-1,j-1)=I2(i-1,j-1)>c;
        I3(i-1,j)=I2(i-1,j)>c;
        I3(i-1,j+1)=I2(i-1,j+1)>c; 
        I3(i,j+1)=I2(i,j+1)>c;
        I3(i+1,j+1)=I2(i+1,j+1)>c; 
        I3(i+1,j)=I2(i+1,j)>c; 
        I3(i+1,j-1)=I2(i+1,j-1)>c; 
        I3(i,j-1)=I2(i,j-1)>c;
        LBP (i,j) =I3(i-1,j-1)*2^7+I3(i-1,j)*2^6+I3(i-1,j+1)*2^5+ ...
            I3(i,j+1)*2^4+I3(i+1,j+1)*2^3+I3(i+1,j)*2^2+ ...
            I3(i+1,j-1)*2^1+I3(i,j-1)*2^0;
    end
end

featureMatrix {x} = hist(LBP,0:255); 

end 

通過使用此代碼,我可以獲得所有圖像的LBP功能,但不確定是否將它們正確保存在矩陣中。 如何從LBP圖像的直方圖中保存特征值? 我想為每個圖像存儲此值。

featureMatrix是數據將存儲在其中的矩陣。它應由500行組成,每行應具有每個圖像的所有特征。

任何答案將不勝感激。

您應該在進入外部循環之前初始化特征矩陣(如果您知道LBP的大小):

featureMatrix = zeros(total_images,size_LBP); % where size_LBP is the number of columns of LBP.

然后替換featureMatrix {x} = hist(LBP,0:255); 在循環中:

featureMatrix(x,:) = hist(LBP,255);

希望這對您有用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM