Effacer les filtres
Effacer les filtres

How to read image from pixel values

1 vue (au cours des 30 derniers jours)
Jim
Jim le 12 Sep 2011
Hi,
How to find the mean value of pixels of 10 images
Thanks in advance

Réponse acceptée

Walter Roberson
Walter Roberson le 12 Sep 2011
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))
  6 commentaires
Jim
Jim le 13 Sep 2011
Hi,
I got the mean by using the command for gray scale image
In that command you used 3 dimensional
when using 2 dimensional I am not getting the answer.why?
Thanks in advance
Walter Roberson
Walter Roberson le 13 Sep 2011
If you have several 2 dimensional images, then you can stack them on the 3rd dimension and then take the mean along that 3rd dimension to have a 2d result for each location. It is important that the first number in the cat() call be one more than the number of dimensions in your image.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Convert Image Type dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by