1、问题:彩色图像整体向某一方向移动,导致图像偏冷、偏黄

2、产生原因:采集设备的彩色偏差等因素

3、解决问题的思想:基于灰度世界假设,RGB三个通道的平均值近似同一灰度值,然后分别调至每一像素。

4、GrayWorld 算法的具体实现步骤如下:

(1) 计算分别图像三个颜色分量的平均值avgR 、avgG、avgB ,并令图像的平均灰度值为

avgGray = ( avgR+ avgG + avgB) / 3

令 ar = avgGray /avgR

ag = avgGray /avgG

ab = avgGray /avgB

对于图像中每个像素c,调整其 R、G、B分量c(R)、c(G)、c(B),使得

c(R) = c(R)*ar

c(G) = c(G)*ag

c(B) = c(B)*ab

(3)将图像中每个像素的 R、G、B 值都调整到可示范围区间内。例如对于 24 位真彩图像,令factor为图像中所有像素的R、G、B三个分量中的最大值,并令factor= factor/ 255。若factor >1,则对于图像中的每一个像素c,调整其分量c ( R )、 c ( G )、 c ( B ),使得

c(R) = c(R) /factor

c(G) = c(G) /factor

c(B) = c(B) /factor

5、代码实现

matlab:

A=imread(frames.images{1});
A=double(A);
A(:,:,1)=A(:,:,1)*1.05;
A(:,:,2)=A(:,:,2)*0.95;
figure(1)
imshow(uint8(A))
avg_R=mean(mean(A(:,:,1)));
avg_G=mean(mean(A(:,:,2)));
avg_B=mean(mean(A(:,:,3)));

avg_Gray=(avg_R+avg_B+avg_G)/3;
ar=avg_Gray/avg_R;
ag=avg_Gray/avg_G;
ab=avg_Gray/avg_B;

new_A(:,:,1)=uint8(A(:,:,1)*ar);
new_A(:,:,2)=uint8(A(:,:,2)*ag);
new_A(:,:,3)=uint8(A(:,:,3)*ab);

figure(2)
imshow(new_A)

avg_R=mean(mean(new_A(:,:,1)));
avg_G=mean(mean(new_A(:,:,2)));
avg_B=mean(mean(new_A(:,:,3)));

结果:

1)原图

2)对各通道乘一系数

3)均衡化结果

GrayWorld 色彩均衡算法相关推荐

  1. 卷积神经网络算法python实现_自动色彩均衡(ACE)快速算法python实现

    自动色彩均衡(ACE)快速算法 ACE算法源自retinex算法,可以调整图像的对比度,实现人眼色彩恒常性和亮度恒常性,通过差分来计算目标点与周围像素点的相对明暗关系来校正最终像素值,有很好的增强效果 ...

  2. OpenCV—python 自动色彩均衡(ACE)

    文章目录 一.ACE算法理论 1.1 ACE算法 二.快速ACE算法 2.1 原理 2.2 代码演示 一.ACE算法理论 图像对比度增强的算法在很多场合都有用处,特别是在医学图像中,这是因为在众多疾病 ...

  3. (各种均衡算法在MIMO中的应用对比试验)最小均方误差(MMSE)原理推导以及在MIMO系统中对性能的改善。

    文档和程序地址:下载地址 各种均衡算法在MIMO中的应用对比试验,内附原理推导,对比实验说明和结果等.包括MMSE,ZF,ZF-SIC等.代码附有原理推导小论文.仅供参考

  4. 应用交换技术的负载均衡算法

    原文出处是:http://hi.baidu.com/ruijievideo/blog/item/5959be1f3c1621ff1bd576d2.html 应用交换技术的负载均衡算法 应用交换技术里主 ...

  5. nginx 负载 sessionid 不一致_你不知道的Nginx负载均衡算法,快进来迅速掌握

    关于负载均衡的三种算法,轮询法,随机法,最小连接法,这三种负载均衡的算法,但是关于负载均衡还有其他的算法,我们也需要你去看,而且在面试的过程中,很有可能是会问到的呦. 对于要实现高性能集群,选择好负载 ...

  6. 自古帝王多短命,假如皇帝也懂负载均衡算法...

    " 大家都知道古代皇帝各个都是后宫佳丽三千,而皇帝身上都天然的带着雨露均沾的精神,不想单独的宠爱一人! 来自:51cto技术栈 弱水三千,又怎舍得只取一瓢饮?据传皇帝们晚上睡觉个个都怕冷,因 ...

  7. 负载均衡算法-处理能力均衡

    处理能力均衡:此种均衡算法将把服务请求分配给内部处理负荷(根据服务器CPU型号.CPU数量.内存大小及当前连接数等换算)最轻的服务器,由于考虑到了内部服务器的处理能力及当前网络运行状况,所以此种均衡算 ...

  8. 负载均衡算法-最少连接数均衡

    最少连接数均衡:客户端的每一次请求服务在服务器停留的时间可能会有较大的差异,随着工作时间加长,如果采用简单的轮询或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,并没有达到真正的负载均衡. ...

  9. 负载均衡算法-响应速度均衡

    响应速度均衡( Response Time):负载均衡设备对内部各服务器发出一个探测请求(例如Ping).然后根据内部各服务器对探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求.此种均衡 ...

最新文章

  1. oracle判断值是否为0的高数,SQLServer和Oracle的常用函数对比
  2. Redux源码浅析系列(一):`CreateStore`
  3. matlab ufunc,ufunc函数
  4. locate 命令详解
  5. cef使用缓存_CEF 文件下载功能实现
  6. Source Insight中的多行注释
  7. firewallD卸载Linux,在Ubuntu 18.04/16.04系统上安装和使用Firewalld的方法
  8. ligergrid 奇偶行效果_怎么护发才是真的有效果的?
  9. python移位操作困惑
  10. servlet mysql insert_servlet+mybatis 实现mysql的增删改查实例
  11. 设计模式之享元(flyweight)模式
  12. 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)
  13. Get Intellisense for .axml files in Visual Studio
  14. git branch -d和-D
  15. PCL单选点和框选点
  16. Python如何自动播放视频(XXT)
  17. 新计算机如何用光盘安装系统,无光驱怎么重装系统|新电脑无光驱重装系统步骤...
  18. UE4 Slate二 用UMG思想去理解Slate+Slate编码
  19. php搜索银行所在支行,如何查询怎么查建设银行所属支行?
  20. SpringCloud技术选型

热门文章

  1. 2021版!万字UNIX网络编程学习笔记(套接字篇)
  2. USB gadget设备驱动解析
  3. Quantopian 入门系列二 - 流水线 (上)
  4. 前端ppt\word等等文件实现在线预览功能
  5. 物联网开发板设计笔记 (1/7)__ 设计思路
  6. 【网盘项目日志】Seafile 源码部署和安装命令
  7. 20230503 Javascript下载页面pdf的高质量代码
  8. arcgis 字段计算方位角
  9. php 支付宝账单监控,支付宝账单监测 收款监测 实时监控
  10. 弘辽科技:拼多多店铺账号忘了怎么找回?