Averaging an image

6 views (last 30 days)
Niranjan
Niranjan on 20 Mar 2011
A basic Image Processing question . How can I average the values or RGB for an input color image? If the input is a color image, the output I need is just the average value of RGB in the entire image. How can I do it?

Accepted Answer

Walter Roberson
Walter Roberson on 20 Mar 2011
One possible interpretation:
mean(YourImage(:))
Another possible interpretation:
mean(reshape(YourImage, size(YourImage,1) * size(YourImage,2), size(YourImage,3)))
Which you choose depends on whether you need the average R separate from the average G and average B (second expression) or if you are looking for the single over-all average value (first expression.)
  3 Comments
Walter Roberson
Walter Roberson on 21 Mar 2011
Do you want the average R, the average G, and the average B? If so, that's what the second expression gives.
If you want a single value that averages the intensity of _everything_, then that is what the first expression gives.
If you want a simpler version of the second expression, it would be
mean(reshape(YourImage,[],size(YourImage,3)))
Jan
Jan on 21 Mar 2011
Or even simpler for RGB images: mean(reshape(YourImage, [], 3))

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!