ggYYa

matlab灰度变彩色+白平衡算法实现

% matlab彩色图像分离通道并合并成处理后的彩色图像(彩色变灰度再变彩色)
% 白平衡算法(灰度世界法)消除RGB受光照影响
clear all;
close all;
%读入原始图像
srcImage = imread(\'7.jpg\');
figure,imshow(srcImage);
srcImageGray = rgb2gray(srcImage);
figure,imshow(srcImageGray);
%白平衡算法
R = srcImage(:,:,1);
G = srcImage(:,:,2);
B = srcImage(:,:,3);
%求其各通道平均值及增益
Raver = mean(mean(R));
Gaver = mean(mean(G));
Baver = mean(mean(B));
K = (Raver+Gaver+Baver)/3;
Kr = K/Raver;
Kg = K/Gaver;
Kb = K/Baver;
%更新RGB值
Rnew = R*Kr;
Gnew = G*Kg;
Bnew = B*Kb;
%合并通道
% [m,n,k] = size(srcImage);
% dstImage = zeros(m,n,k);
dstImage(:,:,1) = Rnew;
dstImage(:,:,2) = Gnew;
dstImage(:,:,3) = Bnew;

figure,imshow(dstImage);
dstImageGray = rgb2gray(dstImage);
figure,imshow(dstImageGray);

结果图如下:

原图:

白平衡后图:

 

分类:

技术点:

相关文章:

  • 2021-06-22
  • 2022-12-23
  • 2021-07-16
  • 2021-09-01
  • 2021-11-28
  • 2021-07-23
  • 2021-11-19
猜你喜欢
  • 2021-12-31
  • 2021-12-28
  • 2022-12-23
  • 2021-11-24
  • 2022-01-15
  • 2021-05-24
相关资源
相似解决方案