所以我使用以下代码进行图像识别。
一切正常,直到我尝试在分类器中显示匹配图像的查询图像。
基本上,我希望在匹配的图像旁边显示我想要识别的图像......但是它会显示查询图像和空白图形图,底部显示错误。我该如何展示?
此外,我的原始图像的trainingSet文件夹包含标记为0-9的子文件夹。所以预测的代码行,NairaLabel实际上预测将我的查询图像与作为变量的正确文件夹相匹配,但我希望它显示出来。
[imname,impath]=uigetfile({'*.jpeg;*.jpg;*.png'});
notes=imread([impath,'/',imname]);
%preprocessing
%resize image
LoadIm;
% Extract HOG features and HOG visualization
[hog_4x4, vis4x4] = extractHOGFeatures(I,'CellSize',[4 4]);
cellSize = [4 4];
hogFeatureSize = length(hog_4x4);
%% Test Images from Test Set
NAIRALabel = predict(classifier,hog_4x4);
V%% Map back to training set to find identity
personIndex{digit} = trainingSet(i).Description;
%%
booleanIndex = strcmp(NAIRALabel, personIndex);
integerIndex = find(booleanIndex);
subplot(1,2,1);imshow(notes);title('Query Face');
subplot(1,2,2);imshow(read(trainingSet(integerIndex),1));title('Matched Class');
错误:
使用imageSet / read时出错(第307行)
imageSet对象数组不支持此方法。hogFeat出错(第24行) subplot(1,2,2); imshow(read(trainingSet(integerIndex),1)); title('Matched Class');
%%%%%%%% updated %%%%%%%
% NAIRALabel predicts the right folder which the image is located.
%so I did something like this:
if NAIRALabel = '1';
imshow(read(image, 1); title(valid note);
end
%But I get this error:
The expression to the left of the equals sign is not a valid target for an assignment.
我有办法让这种方法有效吗?
答案 0 :(得分:0)
问题是因为integerIndex
不是标量。它可以是多元素数组,也可以是空数组。我认为它是空的,因为你无法找到匹配。
因此,当您索引到trainingSet
(使用integerIndex
)时,您将获得一个非标量imageset
对象(如错误消息所述)。