MATLAB图像处理_图像的白平衡算法(灰色世界法)
2015-01-19 09:05
423 查看
白平衡,即所谓的白色的平衡。
白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法!
灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R、 G、 B 三个分量的平均值趋于同一个灰度K。
下面是具体的算法代码:
下面是算法的效果:
原图:
![](http://img.blog.csdn.net/20150119090333321?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2NvdHRseTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
白平衡之后:
![](http://img.blog.csdn.net/20150119090343883?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2NvdHRseTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
可见,最原始的算法,效果还是不错的,后面有机会会补充其他好一些的算法。
注:原创文章,转载请注明出处: http://blog.csdn.net/scottly1/article/details/42741495
白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法!
灰度世界算法(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);
下面是算法的效果:
原图:
白平衡之后:
可见,最原始的算法,效果还是不错的,后面有机会会补充其他好一些的算法。
注:原创文章,转载请注明出处: http://blog.csdn.net/scottly1/article/details/42741495
相关文章推荐
- MATLAB图像处理_去雾算法
- [置顶] 【matlab 图像处理】五种边缘检测算法比较
- MATLAB GUI实现常见图像处理算法与视频跟踪算法
- 【VS开发】【图像处理】基于灰度世界、完美反射、动态阈值等图像自动白平衡算法的原理、实现及效果
- MATLAB图像处理与计算机视觉(3):实现Carsten Steger 的曲线检测算法(1)
- 【VS开发】【图像处理】自动白平衡(AWB)算法---色温曲线
- 【VS开发】【图像处理】相机中白平衡的算法模拟实现
- 运动模糊图像处理(一)----- 模糊角度估计的算法研究及matlab实现
- 数字图像处理,经典滤波算法去噪对比实验(Matlab实现)
- Matlab 图像处理
- MATLAB图像处理详细命令
- 关于matlab图像处理
- 基于matlab图像锐化处理
- 发个MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数
- 使用Matlab进行图像处理
- 图像处理中聚类分析算法---C均值算法实现
- matlab图像处理(一)--图片读写
- 一些图像处理算法
- 图像处理(验证码识别)程序中常用算法
- 图像处理 算法