How to combine the multiple images to get the average single image?
7 views (last 30 days)
Show older comments
Hello, I have several images. I want to combine them to create my own template. Please help me with the code.
0 Comments
Answers (2)
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
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?
Image Analyst
on 15 Jan 2016
See my demo for averaging images, attached.
4 Comments
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.
See Also
Categories
Find more on Image Data Workflows 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!