MATLAB: Is the following code is sufficient for feature detection, extraction of multiple images and storing them into single cell for classification

plz give me changes regarding my question and error

srcFiles = dir('C:\Users\LENOVO\Desktop\Genuine\1\*.png'); % the folder in which ur images exists
Features = cell(length(srcFiles),1) ;
Valid_points =cell(length(srcFiles),1) ;
for i = 1 : length(srcFiles)
filename = strcat('C:\Users\LENOVO\Desktop\Genuine\1\',srcFiles(i).name);
I1 = rgb2gray(imread(filename));
points1 = detectSURFFeatures(I1); hold on;
[features1, valid_points] = extractFeatures(I1, points1);
Features{i} = features1 ;
Valid_points{i} = valid_points ;
figure; imshow(I1);
plot(valid_points{i}.selectStrongest(10),'showOrientation',true);
end
Features;
Valid_points;
I got a blank graph:
blank graph.png
And i got following error using above code
Error using Feature_storing (line 13)
Cell contents reference from a non-cell array object.

Best Answer

Look closely what you're exactly trying to plot
Valid_points{i} = valid_points;
figure; imshow(I1);
plot(valid_points{i}.selectStrongest(10),'showOrientation',true);
Giving variables the same name (except first letter uppercase) is not only confusing for you but also for others that might ever have to read your code. You probably either want to
plot(Valid_points{i});
or
plot(valid_points);