MATLAB: How to read image from pixel values

image processing

Hi,
How to find the mean value of pixels of 10 images
Thanks in advance

Best Answer

Your title does not appear to be asking the same thing as your question ??
Are you reading 10 images all exactly the same size, and you want to get a per-pixel mean across the 10 images? If so then provided that the images are gray-scale, use
mean(cat(3,IMG1,IMG2,IMG3,IMG4,IMG5,IMG6,IMG7,IMG8,IMG9,IMG10),3)
If the images are pseudocolor, then you need to use the associated colormap and ind2rgb() to convert them to RGB before you can find the mean.
If you are working with truecolor (RGB -- separate red, green, and blue pixel values), then you need to decide whether you want the mean intensity (brightness) or if you want a mean per color channel. If you want a mean intensity, use rgb2gray() and then the mean() that I showed earlier. If you want a mean per color channel, then
mean(cat(4,IMG1,IMG2,IMG3,IMG4,IMG5,IMG6,IMG7,IMG8,IMG9,IMG10),3)
(I think.)
Warning: the process of taking the mean() will leave you with a double-precision array, even if your input arrays were uint8. If your input arrays were not already double-precision, then you will not be able to directly display or imwrite() the output. You will probably want to cast() the output of the mean to class(IMG1), as in
cast(mean(cat(3, IMG1, IMG2, IMG3, IMG4, IMG5, IMG6, IMG7, IMG8, IMG9, IMG10),3), class(IMG1))