码迷,mamicode.com
首页 > 编程语言 > 详细

MATLAB图像处理_图像的白平衡算法(灰色世界法)

时间:2015-01-19 09:14:37      阅读:407      评论:0      收藏:0      [点我收藏+]

标签:图像处理

白平衡,即所谓的白色的平衡。

白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法!

灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R、 G、 B 三个分量的平均值趋于同一个灰度K。


下面是具体的算法代码:

RGB=imread('test.jpg');

R = RGB(:,:,1);      G = RGB(:,:,2);      B = RGB(:,:,3);
Rx4 = RGB(:,:,1)*4;  Gx4 = RGB(:,:,2)*4;  Bx4 = RGB(:,:,3)*4; //Rx4只是做了一个简单的线性的提亮,可以不用参考。

Rave = mean(mean(R)); 
Gave = mean(mean(G)); 
Bave = mean(mean(B));
Kave = (Rave + Gave + Bave) / 3;

R1 = (Kave/Rave)*R; G1 = (Kave/Gave)*G; B1 = (Kave/Bave)*B; 
R2 = (Kave/Rave)*Rx4; G2 = (Kave/Gave)*Gx4; B2 = (Kave/Bave)*Bx4; 

RGB_white = cat(3, R1, G1, B1);
RGB_whitex4 = cat(3, R2, G2, B2);

RGB_white_out = uint8(RGB_white); RGB_white_outx4 = uint8(RGB_whitex4);

下面是算法的效果:

原图:

技术分享


白平衡之后:

技术分享


可见,最原始的算法,效果还是不错的,后面有机会会补充其他好一些的算法。


MATLAB图像处理_图像的白平衡算法(灰色世界法)

标签:图像处理

原文地址:http://blog.csdn.net/scottly1/article/details/42741495

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!