Hello Mat

 找回密码
 立即注册
查看: 3673|回复: 0

图像白平衡算法

[复制链接]

1323

主题

1551

帖子

0

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22647
发表于 2017-2-5 11:30:32 | 显示全部楼层 |阅读模式
由于所摄图像存在大量的噪声,往往使得图像中所有物体的颜色都偏离了它们原有的真实色彩的现象,采用白平衡方法处理图像失真,从而校正有色偏的图像颜色,以获得正常颜色的图像。白平衡MATLAB程序如下:
  1. clc,clear,close all                    % 清屏、清工作区、关闭窗口
  2. warning off                         % 消除警告
  3. feature jit off                       % 加速代码执行
  4. img=imread('1.jpg');
  5. subplot(121),imshow(img),title('原始图像')
  6. img_1=img(:,:,1);  % R
  7. img_2=img(:,:,2);  % G
  8. img_3=img(:,:,3);  % B
  9. Y=0.299*img_1+0.587*img_2+0.114*img_3;  % 白平衡系数
  10. [m,n]=size(Y);
  11. k=Y(1,1);
  12. for i=1:m
  13.     for j=1:n
  14.         if Y(i,j)>=k    % 判断比较
  15.             k=Y(i,j);
  16.             k1=i;    % 保存角标
  17.             k2=j;    % 保存角标
  18.         end
  19.     end
  20. end
  21. [m1,n1]=find(Y==k);
  22. Rave=sum(sum(img_1));    % 求和
  23. Rave=Rave/(m*n);         % 比例系数
  24. Gave=sum(sum(img_2));    % 求和
  25. Gave=Gave/(m*n);
  26. Bave=sum(sum(img_3));    % 求和
  27. Bave=Bave/(m*n);
  28. Kave=(Rave+Gave+Bave)/3;   % 求均值
  29. img_1=(Kave/Rave)*img_1;    % 重构R通道
  30. img_2=(Kave/Gave)*img_2;    % 重构G通道
  31. img_3=(Kave/Bave)*img_3;    % 重构B通道
  32. imgysw=cat(3,img_1,img_2,img_3);
  33. subplot(122),imshow(imgysw),title('白平衡处理结果')
复制代码



算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-11-23 05:40 , Processed in 0.235055 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表