Can anyone please help me to calculate average(mean) RGB value from the image in matlab? and also show the image using that average values.....

15 次查看(过去 30 天)
I=imread(filename);
red=I(:,:,1);
green=I(:,:,2);
blue=I(:,:,3);
Ravg=(sum(sum(red)))./((size(red,1)).*(size(red,2)));
Gavg=(sum(sum(green)))./((size(green,1)).*(size(green,2)));
Bavg=(sum(sum(blue)))./((size(blue,1)).*(size(blue,2)));

采纳的回答

Image Analyst
Image Analyst 2019-8-18
编辑:Image Analyst 2019-8-18
What does "enhance" mean to you? Increase the saturation? If so, convert to HSV space with rgb2hsv() and multiply the second channel, the "S" channel, by some factor. See attached demo where I do that for the blue colored things.
Regarding your code, you could do it much simpler by
Ravg = mean2(red);
Gavg = mean2(green);
Bavg = mean2(blue);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Filtering and Enhancement 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by