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.....
23 次查看(过去 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)));
2 个评论
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Filtering and Enhancement 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!