matlab练习程序(白平衡<动态阈值>)

MATLAB白平衡算法实现
本文详细介绍了一种基于MATLAB的图像白平衡算法实现过程。该算法首先将RGB图像转换为YCbCr颜色空间,然后计算Cb、Cr通道的均值和方差,通过阈值筛选出近白色区域的像素,最后选择亮度较高的10%像素作为参考白点,调整RGB通道的增益,从而实现图像白平衡效果。
clear all;
close all;
clc;

im=imread('2.png');
im2=im;
im1=rgb2ycbcr(im);%将图片的RGB值转换成YCbCr值%
Lu=im1(:,:,1);
Cb=im1(:,:,2);
Cr=im1(:,:,3);
[x y z]=size(im);
tst=zeros(x,y);

%计算Cb、Cr的均值Mb、Mr%
Mb=mean(mean(Cb));
Mr=mean(mean(Cr));

%计算Cb、Cr的均方差%
Db=sum(sum(Cb-Mb))/(x*y);
Dr=sum(sum(Cr-Mr))/(x*y);

%根据阀值的要求提取出near-white区域的像素点%
cnt=1;    
for i=1:x
    for j=1:y
        b1=Cb(i,j)-(Mb+Db*sign(Mb));
        b2=Cr(i,j)-(1.5*Mr+Dr*sign(Mr));
        if (b1<abs(1.5*Db) & b2<abs(1.5*Dr))
           Ciny(cnt)=Lu(i,j);
           tst(i,j)=Lu(i,j);
           cnt=cnt+1;
        end
    end
end
cnt=cnt-1;
iy=sort(Ciny,'descend');%将提取出的像素点从亮度值大的点到小的点依次排列%
nn=round(cnt/10);
Ciny2(1:nn)=iy(1:nn);%提取出near-white区域中10%的亮度值较大的像素点做参考白点%
 
%提取出参考白点的RGB三信道的值% 
mn=min(Ciny2);
for i=1:x
    for j=1:y
        if tst(i,j)<mn
           tst(i,j)=0;
        else
           tst(i,j)=1;
        end
    end
end

R=im(:,:,1);
G=im(:,:,2);
B=im(:,:,3);
R=double(R).*tst;
G=double(G).*tst;
B=double(B).*tst;
 
%计算参考白点的RGB的均值%
Rav=mean(mean(R));
Gav=mean(mean(G));
Bav=mean(mean(B));
Ymax=double(max(max(Lu)))/15;%计算出图片的亮度的最大值%
 
%计算出RGB三信道的增益% 
Rgain=Ymax/Rav;
Ggain=Ymax/Gav;
Bgain=Ymax/Bav;

%通过增益调整图片的RGB三信道%
im(:,:,1)=im(:,:,1)*Rgain;
im(:,:,2)=im(:,:,2)*Ggain;
im(:,:,3)=im(:,:,3)*Bgain;

%显示图片%
figure,imshow(im2,[]),title('原图');
figure,imshow(im,[]),title('白平衡后的效果图');

别人的程序。

参考:

1.http://wenku.baidu.com/view/24632048767f5acfa1c7cd7e.html

转载于:https://www.cnblogs.com/tiandsp/archive/2012/05/01/2477897.html

另一种方法,就是根据大量的数提炼出个 另一种方法,就是根据大量的数提炼出个 另一种方法,就是根据大量的数提炼出个 均值,并把它定义 均值,并把它定义 均值,并把它定义 均值,并把它定义 为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所为灰色。这种方法提炼的值可能因数据库使用不 同而有所同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 同。最终提炼的灰色也能仅适用于原始数据库,而对未包 括的图片适用 度就会比较差一些。确定下来灰色表达形式可以括的图片适用 度就会比较差一些。确定下来灰色表达形式可以括的图片适用 度就会比较差一些。确定下来灰色表达形式可以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值