经典白平衡算法(AWB)(灰度世界法和完美反射法MATLAB完整代码)
一、灰度世界法
%%
%灰度世界法
RGB=imread(‘barnimages_alster_08.jpg’);
R=RGB(:,:,1);G=RGB(:,:,2);B=RGB(:,:,3);
R1=mean(mean®);G1=mean(mean(G));B1=mean(mean(B));
g=(R1+G1+B1)/3;
KR=g/R1;KG=g/G1;KB=g/B1;
R2=KRR;G2=KGG;B2=KB*B;
rgb=cat(3,R2,G2,B2);
imshow([RGB rgb])
左原图 右灰度世界
二、完美反射法
%%
%完美反射算法(2)
clc
clear
I=im2double(imread(‘barnimages_alster_08.jpg’));
R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);
sumRGB=R+G+B;
sumsort=sort(sumRGB(:)’);
count=round(size(sumsort,2)0.9);
T=sumsort(count);
index=sumRGB>T;
KR=max(R(:))/mean(R(index));%注意冒号要使用英文符号
KG=max(G(:))/mean(G(index));
KB=max(B(:)/mean(B(index));
R1=RKR;G1=GKG;B1=BKB;
out=cat(3,R1,G1,B1);
imshow([I out]);
左原图 右边完美反射