LBPを使用して抽出されたすべての画像の特徴を行列に格納しようとしています。
しかし、それは私にこのエラーを与えている。ここで行列内に特徴抽出データを格納する際に寸法不一致エラーが発生する
Subscripted assignment dimension mismatch.
Error in fe1 (line 10) A(i, :) = LBP(img);
は私のコードは次のとおりです。
fe.m
clc;
clear all;
pat = 'D:/modified database';
Angry = dir([pat '/anger']);
Andry = Angry(3:end);
A = zeros(255, length(Andry));
for i = 1:length(Andry)
img = imread(Andry(i).name);
A(:, i) = LBP(img);
end
display(A);
LBP.m
function LBP0 = LBP(I)
I = imresize(I, [256,256]);
I = rgb2gray(I);
m = size(I,1);
n = size(I,2);
for i = 2:m-1
for j = 2:n-1
J0 = I(i,j);
I3(i-1,j-1) = I(i-1,j-1)>J0;
I3(i-1,j) = I(i-1,j)>J0;
I3(i-1,j+1) = I(i-1,j+1)>J0;
I3(i,j+1) = I(i,j+1)>J0;
I3(i+1,j+1) = I(i+1,j+1)>J0;
I3(i+1,j) = I(i+1,j)>J0;
I3(i+1,j-1) = I(i+1,j-1)>J0;
I3(i,j-1) = I(i,j-1)>J0;
LBP0(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
end
私はといくつかの問題があると思います行列Aの次元 コードを教えてください。
ありがとうございます。 :) A = zeros(255, 255, length(Andry));
私はまだ線A(=、:、i)= LBP(img)で同じエラーが発生しています。 – Tejashree
LBP出力のサイズはすべての画像で同じにする必要がありますか? – Tejashree
サイズが異なる場合、3D行列の代わりにセル配列を使用できます。 – Rotem