转载请注明出处和作者,谢谢合作!!!
使用相机等采集图像的过程中,往往由于成像过程中的感光元件或者镜头会对原始色彩造成影响,为了校正这种光线和镜头对颜色影响,都会加入白平衡来对成像结果进行调整,那么今天就介绍一个最简单的白平衡处理方法:灰色世界方法
话不多说了,有不懂原理的可以留言,直接上测试通过的代码:
im = imread('1.jpg','jpg');
im = double(im)./256;
r = im(:,:,1);
g = im(:,:,2);
b = im(:,:,3);
avgR = mean(mean(r));
avgG = mean(mean(g));
avgB = mean(mean(b));
avgGray = (avgR + avgG + avgB)/3;
if avgR == 0
outR = r;
else
outR = (avgGray/avgR).*r;
end
if avgG == 0
outG = g;
else
outG = (avgGray/avgG).*g;
end
if avgB == 0
outB = b;
else
outB = (avgGray/avgB).*b;
end
maxRGB = [max(max(outR)) max(max(outG)) max(max(outG))];
factor = max(maxRGB);
if factor > 1
outR = outR./factor;
outG = outG./factor;
outB = outB./factor;
end
GWoutIm(:,:,1) =