how PCA is applied to a set of 10 images for making a model
32 views (last 30 days)
Uttiya Ghosh on 15 Jul 2020
As per my understanding you want to apply PCA to a set of images. There are multiple ways to do it. You can either read the images and reshape them as row vectors and then apply pca on the matrix created by the combination of all such row vectors or you can use bagOfFeatures to extract important features from the images and then apply it. In the following code I have used the former option.
setDir = fullfile(matlabroot,'toolbox','nnet','nndemos', ...
imds = imageDatastore(setDir,'IncludeSubfolders',true,'LabelSource',...
img = readimage(imds,1);
data = zeros(length(imds.Files),numel(img));
for i = 1:length(imds.Files)
img = readimage(imds,i);
data(i,:) = reshape(img,[1 numel(img)]);
coeffs = pca(data);
For more information, refer to the following links.