经典白平衡算法(AWB)(灰度世界法和完美反射法MATLAB完整代码)

时间:2024-04-06 11:15:54

经典白平衡算法(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])

经典白平衡算法(AWB)(灰度世界法和完美反射法MATLAB完整代码)
左原图 右灰度世界

二、完美反射法

%%
%完美反射算法(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=R
KR;G1=GKG;B1=BKB;
out=cat(3,R1,G1,B1);
imshow([I out]);

经典白平衡算法(AWB)(灰度世界法和完美反射法MATLAB完整代码)
左原图 右边完美反射