EDA365电子论坛网
标题:
基于MATLAB图像处理的白平衡算法,也称灰色世界法
[打印本页]
作者:
pulbieup
时间:
2019-12-5 09:55
标题:
基于MATLAB图像处理的白平衡算法,也称灰色世界法
基于MATLAB图像处理的白平衡算法,也称灰色世界法
) q, K! m$ E3 J& r: K1 H
; D' {, j ^! ^& F8 i
3 l* Q9 s. V7 D& W2 C% ^! l
白平衡,即所谓的白色的平衡。
8 S/ o5 y* ^( k. W- d8 ^% C& G0 F
" s( |, n( Q! ]8 l# s3 K& N
白平衡的算法有很多,这里记录的是最简单实用的白平衡算法,即灰色世界法!
5 l9 O! ?6 m5 H6 D
$ G7 {2 M0 W' i, }3 @' U
灰度世界算法(Gray World)是以灰度世界假设为基础的,该假设认为对于一幅有着大量色彩变化的图像, R、 G、 B 三个分量的平均值趋于同一个灰度K。
3 I) l0 v9 v5 ~! E4 x
! @2 a" r$ A$ k1 V! b: e
下面是具体的算法代码:
! b9 |5 l# R! g# v0 v
; o- G( @) `' ^2 ^* p- o/ @
+ W" F5 s0 Z" k' a- r7 S6 `
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);
0 _7 } ~$ j: G2 T; ]
1 N7 L5 O6 F$ d7 O
H4 O1 ?/ {+ M' h
7 H1 N' |! s& j' H! G' g# Q
9 J# t# N0 m5 q B6 o/ ~
下面是算法的效果:
1 R& ?( J, d4 S* }* S8 I5 x
D6 u# Q! C! c" F3 {! c
原图:
Z1 g/ @ y& I" ]0 f
- ]7 O& _; J4 b3 W; c/ J
也称灰色世界法-2.png
(138.81 KB, 下载次数: 9)
下载附件
保存到相册
2019-12-5 09:55 上传
m- ?( C1 p9 v0 h9 n& i
, ^7 @( G6 h0 z) z7 x) n
9 j) T8 q3 E, b( E
白平衡之后:
$ ]* Z; M- U6 c2 H
" v- A! a3 `2 T5 }$ B# \
也称灰色世界法-1.png
(154.93 KB, 下载次数: 9)
下载附件
保存到相册
2019-12-5 09:55 上传
7 v' S( i/ \7 a
3 f; Z7 o/ R9 C
, B/ n- S% ? a- |3 O
可见,最原始的算法,效果还是不错的,后面有机会会补充其他好一些的算法。
. k) m8 o! _; \- v J
0 q5 G* B# x9 \. R5 D
作者:
CCxiaom
时间:
2019-12-5 18:39
这个看着好厉害
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2