principal component analysis pca

23 views (last 30 days)
Mohanned Al Gharawi
Mohanned Al Gharawi on 13 Nov 2019
Answered: nick on 16 Aug 2024
Hello everybody
I have infrared images (144) for one day for a specific specimen. Anyhow, I transferred these images into 3D matrix that has thousands of signals. I want to subject the PCA approach so I can change the frequencies to get best results for these images.
I uploaded only one signal, please any help on doing that on my signals.
Thanks

Answers (1)

nick
nick on 16 Aug 2024
Hello Mohaneed,
I understand that you want to use PCA approach on the dataset of images. The signal shared can't be used for PCA as PCA cant be performed on a single observation.
To apply PCA to infrared images stored in a 3D matrix :
  1. You need to reshape the data such that each row represents the flatenned image.
  2. Then you can use the 'pca' function to perform pca on the data.
% Reshape the 3D matrix into a 2D matrix
[height, width, num_images] = size(images);
reshaped_images = reshape(images, height * width, num_images)';
% Perform PCA on the reshaped data
[coeff, score, latent, tsquared, explained] = pca(reshaped_images);
You may refer to the following documentation to learn more about the 'pca' function :
Hope this helps!

Categories

Find more on Dimensionality Reduction and Feature Extraction 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!