how PCA is applied to a set of 10 images for making a model

8 views (last 30 days)
anybody please give me a matlab code for applying PCA to a set ofimages for obtaining a model.

Answers (1)

Uttiya Ghosh
Uttiya Ghosh on 15 Jul 2020
Hi Raj,
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', ...
'nndatasets','DigitDataset');
imds = imageDatastore(setDir,'IncludeSubfolders',true,'LabelSource',...
'foldernames');
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)]);
end
coeffs = pca(data);
For more information, refer to the following links.

Categories

Find more on Dimensionality Reduction and Feature Extraction in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!