find the average pixel value of matrix of images
    14 views (last 30 days)
  
       Show older comments
    
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 Comments
Answers (1)
  Konrad
      
 on 17 Dec 2021
        
      Edited: Konrad
      
 on 17 Dec 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 Comments
  Image Analyst
      
      
 on 17 Dec 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, []);
See Also
Categories
				Find more on Annotations in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

