一种基于fpga的实时图像自动白平衡系统及方法

文档序号:8946077阅读:829来源:国知局
一种基于fpga的实时图像自动白平衡系统及方法
【技术领域】
[0001] 本发明涉及一种基于FPGA的实时图像自动白平衡系统及方法。属于图像白平衡 处理领域。
【背景技术】
[0002] 轻小型低功耗面阵CMOS相机已广泛应用于卫星本体机构、深空探测、空间站及飞 船上的视频遥测。其中,使目标物体的色彩与人眼观察的色彩一致是一个难点,主要因素在 于:不同光照条件的色温差异往往会导致同一目标物体的发射光线偏离真实色彩,在低色 温光照条件下偏红,在高色温光照条件下偏蓝;况且空间环境复杂,目标物体特殊,很少有 人的参与;再加上要对目标物体进行实时检测,拍摄的图像数据量大。因此需要对图像进行 实时自动白平衡处理。
[0003] 目前,自动白平衡方法有多种,包括灰度世界法(GWM,grayworldMethod),全反 射法(PRM,PerfectReflectorMethod)、灰度世界和全反射正交组合法(QCGP,Quadratic CombiningGW&PR)、色域映射法(GMM,GamutMappingMethod)、模糊规则法(FRM,fuzzy rulemethod)、神经网络法(NNM,NeuralNetworkMethod)。这些方法中后四种算法比较 复杂,难以满足实时性要求。因此能够用FPGA实现的实时自动白平衡方法主要有:灰度世 界法、全反射法。
[0004] 灰度世界法假设图像有丰富的色彩变化,则它的RGB分量的均值会趋于相等。这 是一个在自动白平衡方面应用极为广泛的理论。缺点是当图像的色彩并不丰富时,灰度世 界法往往会失真;全反射法假设图像上最亮点就是白点,并以此白点为参考对图像进行自 动白平衡。全反射法也是在自动白平衡处理中最常用的理论之一。如果只把一个点作为参 考,结果往往不太理想。一种改进的方法是用图像上最亮的一部分点的均值作为参考,对图 像进行自动白平衡处理,例如用图像最亮的前20%的部分,作为参考。缺点是当图像的最亮 部分并非白点时,全反射算法得到的数值是不真实的。

【发明内容】

[0005] 本发明的技术解决问题是:针对现有技术中,对不丰富图像,采用灰度世界法处 理,出现失真问题;对最亮部分不是白点的图像,采用全反射法处理,出现失真问题。针对上 述的两个白平衡算法的缺点,提供了一种基于FPGA的实时图像自动白平衡系统及方法,综 合考虑了灰度世界法和镜平面反射法的优势。先判断图像色彩是否丰富,如果图像色彩丰 富则使用接近于灰度世界法的自动白平衡算法;如果色彩不丰富,则使用接近于镜平面法 的自动白平衡算法。
[0006] 本发明的技术解决方案是:一种基于FPGA的实时图像自动白平衡系统,包括数据 转换模块、统计模块、图像插值模块、存储器接口驱动模块、计算比值模块、阈值产生模块、 三分量调整模块、计算调整系数模块,在FPGA中能实现;
[0007] 外部传感器将采集的Bayer格式图像数据,包括多比特数据、Ibit场同步信号和 Ibit行同步信号,分别送至数据转换模块和统计模块;
[0008] 统计模块,以2x2像素为单元统计Bayer格式图像数据中红Red、绿Green、蓝Blue 这三个分量的均值,分别为红Red的全图像均值Rlave、绿Green的全图像均值Glave、蓝 Blue全图像均值Blave,送至计算比值模块;
[0009] 计算比值模块,从红Red的全图像均值Rlave、绿Green的全图像均值Glave、蓝 Blue全图像均值Blave中找出最大的均值Kmax和最小的均值Kmin,再将最大的均值Kmax 和最小的均值Kmin的比值K送至阈值产生模块;
[0010] 阈值产生模块根据最大的均值和最小的均值的比值K,确定阈值参数fv,确定方 法如下:
[0013] I. 2 ^K<I. 5fv=Kmin
[0014] 1 彡K<I. 2fv= 50 ;
[0015] 将阈值参数fv送至计算调整系数模块;
[0016] 数据转换模块,根据Ibit行同步信号和Ibit场同步信号,将多比特数据进行位 宽转换并通过存储器接口驱动模块存储至外部存储器;同时数据转换模块,通过存储器驱 动接口模块,从外部存储器中按行读出Bayer格式图像数据,同时产生Ibit新的行同步信 号和Ibit新的场同步信号,并将按行读出的Bayer格式图像数据、Ibit新的行同步信号和 Ibit新的场同步信号送至图像插值模块;
[0017] 图像插值模块,根据Ibit新的行同步信号和Ibit新的场同步信号,对按行读出的 Bayer格式图像数据进行插值,插成三基色RGB彩色图像,该三基色RGB彩色图像包括R分 量、G分量、B分量、三基色RGB彩色图像的场同步信号、三基色RGB彩色图像的行同步信号, 分别送至三分量调整模块和计算调整系数模块;
[0018] 计算调整系数模块,选出三基色RGB彩色图像中R分量、G分量、B分量都大于阈值 参数fv的像素点,再统计该三基色RGB彩色图像中R分量、G分量、B分量都大于阈值参数 fv的像素点的均值R2ave、G2ave和B2ave,根据该三基色RGB彩色图像中R分量、G分量、 B分量都大于阈值参数fv的像素点的均值,确定R的调整系数u、G的调整系数v、B的调整 系数w,公式如下:
[0020] 式中Kave= (R2ave+G2ave+B2ave)/3 ;
[0021] 然后将R的调整系数u、G的调整系数v、B的调整系数w,送至三分量调整模块;
[0022] 三分量调整模块,根据三基色RGB彩色图像的场同步信号、三基色RGB彩色图像的 行同步信号,对图像插值模块送来的三基色RGB彩色图像进行调整,得到调整后的RGB三分 量,即调整后的红色分量R'、调整后的红色分量G'和调整后的红色分量B',和调整后的三 基色RGB彩色图像的场同步信号、调整后的三基色RGB彩色图像的行同步信号,即完成图像 白平衡,调整公式为:R' =RXu,G' =GXv,B' =BXw;
[0023] 将三分量调整模块调整后的三基色RGB彩色图像输出。
[0024] 所述图像插值模块,根据Ibit新的行同步信号和Ibit新的场同步信号,对按行读 出的Bayer格式图像数据进行插值,插成三基色RGB彩色图像采用双线性内插法。
[0025] 基于上述系统的一种基于FPGA的实时图像自动白平衡方法,步骤如下:
[0026] (1)外部传感器将采集的Bayer格式图像数据,包括多比特数据、Ibit场同步信号 和Ibit行同步信号,分别送至数据转换模块和统计模块;
[0027] (2)统计模块,以2x2像素为单元统计步骤(I)Bayer格式图像数据中红Red、绿 Green、蓝Blue这三个分量的均值,分别为红Red的全图像均值Rlave、绿Green的全图像均 值Glave、蓝Blue全图像均值Blave,送至计算比值模块;
[0028] (3)计算比值模块,从步骤⑵红Red的全图像均值Rlave、绿Green的全图像均 值Glave、蓝Blue全图像均值Blave中找出最大的均值Kmax和最小的均值Kmin,再将最大 的均值Kmax和最小的均值Kmin的比值K送至阈值产生模块;
[0029] (4)阈值产生模块根据步骤(3)的最大的均值和最小的均值的比值K,确定阈值参 数fv,确定方法如下:
[0032] I. 2 ^K<I. 5fv=Kmin
[0033] 1 彡K<I. 2fv= 50 ;
[0034] 将阈值参数fv送至计算调整系数模块;
[0035] (5)数据转换模块,根据步骤⑴Ibit行同步信号和Ibit场同步信号,将步骤(1) 多比特数据进行位宽转换并通过存储器接口驱动模块存储至外部存储器;同时数据转换 模块,通过存储器驱动接口模块,从外部存储器中按行读出Bayer格式图像数据,同时产生 Ibit新的行同步信号和Ibit新的场同步信号,并将按行读出的Bayer格式图像数据、Ibit 新的行同步信号和Ibit新的场同步信号送至图像插值模块;
[0036] (6)图像插值模块,根据步骤(5)Ibit新的行同步信号和Ibit新的场同步信号, 对步骤(5)按行读出的Bayer格式图像数据进行插值,插成三基色RGB彩色图像,该三基色 RGB彩色图像包括R分量、G分量、B分量、三基色RGB彩色图像的场同步信号、三基色RGB 彩色图像的行同步信号,分别送至三分量调整模块和计算调整系数模块;
[0037](7)计算调整系数模块,选出步骤(6)三基色RGB彩色图像中R分量、G分量、B分 量都大于阈值参数fv的像素点,再统计该三基色RGB彩色图像中R分量、G分量、B分量都 大于阈值参数fv的像素点的均值R2ave、G2ave和B2ave,根据该三基色RGB彩色图像中R 分量、G分量、B分量都大于阈值参数fv的像素点的均值,确定R的调整系数u、G的调整系 数v、B的调整系数w,公式如下:
[0039] 式中Kave= (R2ave+G2ave+B2ave)
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1