Subscripted assignment dimension mismatch.
7 views (last 30 days)
Show older comments
Hi there,
I'm writing a piece of code for facial recognition and i am getting the error message 'Subscripted assignment dimension mismatch.' on a certain section of the code;
faceDatabaseFeatures = zeros(size(faceDatabase,2)*faceDatabase(2).Count,4280);
featureCount = 1;
for i=1:size(faceDatabase,2)
for j = 1:faceDatabase(i).Count
faceDatabaseFeatures(featureCount,:) = extractHOGFeatures(read(faceDatabase(i),j));
faceDatabaseLabel{featureCount} = faceDatabase(i).Description;
featureCount = featureCount + 1;
end
personIndex{i} = faceDatabase(i).Description;
end
Under
faceDatabaseFeatures(featureCount,:) = extractHOGFeatures(read(faceDatabase(i),j));
I believe it is here that the problem is occuring but i cannot for the life of me see why it is giving me that error.

This is the image of my workspace, any help would be much apperciated.
Andrew
7 Comments
Adam
on 11 Jan 2019
What does
which -all imageSet
show on that line if you put a breakpoint on that line and put the above on the command line?
Answers (1)
Jan
on 11 Jan 2019
Edited: Jan
on 11 Jan 2019
This is the answer concerning your comment https://www.mathworks.com/matlabcentral/answers/439201-subscripted-assignment-dimension-mismatch#comment_659392
I looks like it does show, which line is failing:
queryImage = sample(sample(person),j);
Use the debugger to examine the problem. Type this in the command window:
dbstop if error
Now run the code again. When it stops at this line, try this:
person
sample(person)
j
sample(sample(person),j)
What do you observe?
See Also
Categories
Find more on Get Started with Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!