How to combine the multiple images to get the average single image?

31 views (last 30 days)
Poornima Gokhale
Poornima Gokhale on 13 Jan 2016
Commented: Image Analyst on 16 Jan 2016
Hello, I have several images. I want to combine them to create my own template. Please help me with the code.

Answers (2)

Walter Roberson
Walter Roberson on 13 Jan 2016
for ....
....
this_filename = ... construct an appropriate string
TheImageArray = imread(this_filename);
if file_index == 1
image_totals = double(TheImageArray);
elseif isequal( size(image_totals), size(TheImageArray) )
image_totals = image_totals + TheImageArray;
else
error(sprintf('File "%s" is the wrong size', this_filename));
end
end
average_image = image_totals / number_of_images;
  2 Comments
Walter Roberson
Walter Roberson on 13 Jan 2016
Then I do not understand your question. If you have different images of the same letter, you would normally write each of the images as a template.
Is the question about how to take a number of different images of the same letter and somehow construct a combined image that is "more representative" of how the letter should ideally look? Or is the question about how to create a mosaic image that shows all of the different images in a single image?

Sign in to comment.


Image Analyst
Image Analyst on 15 Jan 2016
See my demo for averaging images, attached.
  4 Comments
Image Analyst
Image Analyst on 16 Jan 2016
The array is already cast to uint8() after the division of the sum to get the mean. I added an imwrite() and imread() after that and it worked fine. So you must have done something different than me but you forgot to attach your m-file with your modifications, so I don't know what you're doing.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!