find the average pixel value of matrix of images
21 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi i was wondering how to put a group of 10 images that are 1920 x 1080 into a matrix that is size 1920x1080x10. Im doing this to keep track of values for each pixel.
i have tried
for i = 1:10
outputFileName = sprintf('bwImage%d.jpg', i);
allImages{i} = imread(outputFileName);
end
B = mean(allImages);
but this creates and matrix size 1 x 10.
This matrix will be used to calculate the average value at each pixel location
0 commentaires
Réponses (1)
Konrad
le 17 Déc 2021
Modifié(e) : Konrad
le 17 Déc 2021
Hi Michael,
allImages{i} = ... creates a cell-array containing the images.
If your images are all grayscale and of the same size you can use a 3-d array:
for i = 1:10
outputFileName = sprintf('bwImage%d.jpg', i);
allImages(:,:,i) = imread(outputFileName); % concatenate images in 3rd dimension
end
B = mean(allImages,3); % average across 3rd dimension
Best, K.
2 commentaires
Image Analyst
le 17 Déc 2021
You left out the allocation and some other robustness
numImages = 10;
allImages = zeros(1080, 1920, numImages, 'uint8'); % HDTV resolution -- 1080 lines (rows)
counter = 1;
for k = 1 : numImages
outputFileName = sprintf('bwImage%d.jpg', k);
fprintf('Reading in %s.\n', outputFileName);
if isfile(outputFileName)
allImages(:, :, counter) = imread(outputFileName); % concatenate images in 3rd dimension
counter = counter + 1;
else
message = sprintf('File not found : ', outputFileName)
uiwait(warndlg(message));
end
end
% Crop if some images were missing.
if counter < numImages + 1
allImages = allImages(:, :, 1:counter);
end
% Compute mean over all images of those images that we were able to read in.
meanImage = mean(allImages, 3); % average across 3rd dimension
% Display the image.
imshow(meanImage, []);
Voir également
Catégories
En savoir plus sur Install Products dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!