找回密码
 注册
关于网站域名变更的通知
查看: 935|回复: 1
打印 上一主题 下一主题

基于MATLAB图像处理的白平衡算法,也称灰色世界法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-5 09:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
基于MATLAB图像处理的白平衡算法,也称灰色世界法. N4 V* H! t7 R8 ~" H8 d# q
& J& u* j) \. R5 J) Z

: i: f1 M* v- `白平衡,即所谓的白色的平衡。1 s( {, R( w5 R- |! r
" i. H% }9 M" r, V- S- O
白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法!; E8 E' V. i* M6 G

( A6 N  H* _1 R& m) \灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R、 G、 B 三个分量的平均值趋于同一个灰度K。$ B9 ?  j) r* z% u0 Q! A' B8 t8 Y
$ j0 a7 x) @. }% ]
下面是具体的算法代码:- I$ Q) B0 B" I0 X: w
3 h" F: ~3 j' J! {
( x* y+ j2 _- h( c" E) a  q
  • 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);
    6 k, w2 S' [. z" `( m1 L' \% g* P
     
7 u# c7 ^4 J5 l4 X
( Q' g5 |( w3 t* }8 i" g4 r

0 m( y* H% Q  T9 F& G
. v7 ~8 G5 i% V
下面是算法的效果:
7 t* ?0 M! `% v+ s0 {' o& g* U" Z0 I( _6 i9 p- T) O
原图:
1 Z  Y& R7 Q3 Y
; R( e" a4 h, F  Q1 \( L' D
; |8 l6 m" B- [

7 n8 W' U1 k& c. j+ v7 E# g1 }5 ]8 ?0 b, u% u
白平衡之后:
: J9 l3 r) N+ ?! ^  w' T/ `6 ]7 l1 t$ }  p- V2 M
0 H5 o; s& p3 @

: S1 v2 m( x! i! J/ x1 c6 i& x' j# d" j# P
可见,最原始的算法,效果还是不错的,后面有机会会补充其他好一些的算法。/ Q, Q+ B, i( n1 W# @, v9 x

4 A9 S# C7 ]; K5 e: v

该用户从未签到

2#
发表于 2019-12-5 18:39 | 只看该作者
这个看着好厉害
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 19:07 , Processed in 0.171875 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表