基于FPGA寄存器的白平衡校正方法、内窥镜及存储介质与流程

文档序号:14737438发布日期:2018-06-19 20:47阅读:157来源:国知局
基于FPGA寄存器的白平衡校正方法、内窥镜及存储介质与流程

本发明涉及图像处理领域,尤其是涉及一种基于FPGA寄存器的白平衡校正方法、内窥镜及存储介质。



背景技术:

白平衡(White Balance)是在不同的光线条件下调整好红(R)、绿(G)、蓝(B)三原色的比例,使其混合后成为白色,以使图像得到准确的色彩还原。颜色实质上是对光线的解释,在正常光线下,一个物体拍摄得到的图像为白色的,但在其他的情况下,这个物体拍摄得到的图像可能就会有偏差。为了能够适应不同的场景,需要通过不同的白平衡模式对采集到的图像进行颜色上的校正,减少外来光线对目标物体的颜色造成影响,以使图像能够在不同的色温条件下,达成正确的色彩平衡。

目前工程上应用的白平衡算法主要有全局白平衡算法和局部白平衡算法两大类,全局白平衡算法以灰度世界法为代表,局部白平衡法以镜面法为代表,全局白平衡法算法有较大的局限性,场景过亮、过暗或者色彩比较单一的时候,该算法几乎完全失效,局部白平衡算法的关键点是确认白点,白点会随着环境、光线等因素发生变化,因此算法较为复杂,计算时间较长,不符合工程上简便快捷的要求。



技术实现要素:

本发明的目的在于提供一种基于FPGA寄存器的白平衡校正方法、内窥镜及存储介质,该校正方法能够较为快速简单地实现白平衡的校正。

本发明例提供一种基于FPGA寄存器的白平衡校正方法,该方法包括如下步骤:

S01:拍摄校正测试板,并计算拍摄画面内R、G及B分量均值Rave、Gave及Bave;

S02:根据所述R分量均值Rave、所述G分量均值Gave及B分量均值Bave,以及预先存储的R分量、G分量及B分量对应的默认寄存器值KR、KG及KB得出R分量值RS、G分量值GS及B分量值BS;

S03:以所述R分量值RS、所述G分量值GS及所述B分量值BS三者的其中之一分量值为基准分量值,以所述R分量值RS、所述G分量值GS及所述B分量值BS三者的另外两个分量值为待调整分量值,求得所述待调整分量值与所述基准分量值的偏差值E;并判断所述偏差值E是否大于预先设定的最大偏差值Em,若所述偏差值E大于所述最大偏差值Em,则进入S04步骤;

S04:以对应的步长S对所述待调整分量值对应的默认寄存器值K进行调整,并根据所述待调整分量值以及调整后的寄存器值K`重新得出待调整分量值;

S05:将重新得到的待调整分量值与所述基准分量值进行对比,若所述待调整分量值与所述基准分量值的偏差值E小于或等于所述最大偏差值Em,则进入步骤S06,若所述偏差值E大于所述最大偏差值Em,则重新进入步骤S04,并在所述调整后的寄存器值K`的基础上重新对所述待调整分量值对应的寄存器值进行调整;

S06:用调整后的寄存器值K`替换所述默认寄存器值K。

进一步地,在步骤S01中,所述校正测试板为白板或白平衡标准测试板。

进一步地,所述R分量对应的默认寄存器值KR、所述G分量对应的默认寄存器值KG及所述B分量对应的默认寄存器值KB的值相等。

进一步地,在步骤S02中,所述R分量值RS、所述G分量值GS及所述B分量值BS为所述R分量均值Rave、所述G分量均值Gave以及所述B分量均值Bave与各自对应的默认寄存器值KR、KG及KB相除所得的值。

进一步地,在步骤S03中,以所述G分量值GS为所述基准分量值,以所述R分量值RS及所述B分量值BS为所述待调整分量值。

进一步地,在S04步骤中,步长S与偏差值E呈正比,具体地,所述步长S等于所述偏差值E除以所述最大偏差值Em的商。

进一步地,所述偏差值E与所述步长S为正相关关系。

进一步地,在S04步骤中,在调整所述步长S之前,还需要比较所述基准分量值与所述待调整分量值的大小,若所述基准分量值大于所述待调整分量值,则所述调整后的寄存器值K`为所述默认寄存器值K与所述步长S之和;若所述基准分量值小于或等于所述待调整分量值,则所述调整后的寄存器值K`为所述默认寄存器值K与所述步长S之差。

本发明还提供了一种内窥镜,包括图像获取单元、处理单元、FPGA寄存器、存储器及存储在存储器上并可在处理单元上运行的白平衡校正系统的程序代码,其特征在于,所述处理单元执行所述程序代码实现以下步骤:;

所述处理单元接收所述图像处理器拍摄的校正测试板的图像信号,并计算所述图像信号内R、G及B分量均值Rave、Gave及Bave;

所述处理单元调取所述FPGA寄存器内存储的R分量、G分量及B分量对应的默认寄存器值KR、KG及KB,并根据所述R分量均值Rave、所述G分量均值Gave、所述B分量均值Bave及各自对应的默认寄存器值KR、KG及KB,得到R分量值RS、G分量值GS及B分量值BS;

所述处理单元以所述R分量值RS、所述G分量值GS及所述B分量值BS三者的其中之一分量值为基准分量值,所述R分量值RS、所述G分量值GS及所述B分量值BS三者的另外两个分量值为待调整分量值,求得所述待调整分量值与所述基准分量值的偏差值E,并判断所述偏差值E是否大于预先设定的最大偏差值Em;

若所述偏差值E大于预先设定的所述最大偏差值Em,则以对应的步长S对所述待调整分量值对应的所述默认寄存器值K进行调整,并根据所述待调整分量值以及所述调整后的寄存器值K`重新得出待调整分量值;

根据重新得到的待调整分量值得到新的待调整分量值与基准分量值的偏差值E,并将所述偏差值E与所述最大偏差值Em重新进行对比:

若所述偏差值E大于预先设定的所述最大偏差值Em,则在所述调整后的寄存器值K`的基础上重新以对应的步长S调整寄存器值K`;

若所述偏差值E小于或等于预先设定的所述最大偏差值Em,所述处理单元将得到的所述调整后的寄存器值K`重新写入所述FPGA寄存器内。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中包括白平衡校正系统的程序代码,所述白平衡校正系统的程序代码被处理单元执行时,执行所述基于FPGA寄存器的白平衡校正方法的任意步骤。

在本发明中,通过将R分量值RS、G分量值GS及B分量值BS三者的其中之一做为基准分量值,R分量值RS、G分量值GS及B分量值BS三者的另外两个分量值做为待调整分量值,通过待调整分量值与基准分量均值的偏差值E以及最大偏差值Em得到步长S,以步长S调整默认寄存器值K,继而使待调整分量值与基准分量均值的偏差值E缩小到最大偏差值Em内,最后修改寄存器值,完成白平衡校正,该校正方法能够较为快速简单地实现白平衡的校正。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为本发明提供的基于FPGA寄存器的白平衡校正方法的流程示意图。

图2为本发明提供的内窥镜的系统框图。

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如下。

本领域的技术人员知道,本发明的实施方式可以实现为一种方法、装置、设备、系统或计算机程序产品。因此,本发明可以具体实现为完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

本发明的目的在于提供一种基于FPGA寄存器的白平衡校正方法、内窥镜以及存储介质,该校正方法能够较为快速简单地实现白平衡的校正。

图1为本发明提供的基于FPGA寄存器的白平衡校正方法的流程示意图。

本发明提供了一种基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)寄存器的白平衡校正方法,该方法包括如下步骤:

S01:拍摄校正测试板,并计算拍摄画面内R(红色)、G(绿色)及B(蓝色)的分量均值Rave、Gave及Bave。

具体地,在本实施例中,校正测试板可以为白板或者白平衡标准测试板。

S02:根据R分量均值Rave、G分量均值Gave及B分量均值Bave,以及预先存储的R分量、G分量及B分量对应的默认寄存器值KR、KG及KB得出R分量值RS、G分量值GS及B分量值BS。所述默认寄存器值由芯片厂家在出厂时进行预设,支持重新写入。

具体地,在本实施例中,在默认寄存器值未被调整的初始状态,该默认寄存器值KR、KG及KB三者可以相等,例如都为1,R分量值RS、G分量值GS及B分量值BS可以为R分量均值Rave、G分量均值Gave以及B分量均值Bave与各自的默认寄存器值KR、KG及KB相除所得的值,也即:RS=Rave/KR;

GS=Gave/KG;

BS=Bave/KB。

S03:以R分量值RS、G分量值GS及B分量值BS三者的其中之一分量值为基准分量值,以R分量值RS、G分量值GS及B分量值BS三者的另外两个分量值为待调整分量值,求得待调整分量值与基准分量值之间的偏差值E;判断上述的偏差值E是否大于预先设定的最大偏差值Em,若该偏差值E小于或等于上述最大偏差值Em,则R分量值RS、G分量值GS及B分量值BS已经为平衡状态,此时R分量、G分量及B分量对应的默认寄存器值KR、KG及KB不需改变;若该偏差值E大于上述最大偏差值Em,则进入S04步骤。

在本实施例中,最大偏差值Em可以根据需要而设定,例如,该最大偏差值为5。以G分量值GS为基准分量值为例,则R分量值RS与B分量值BS为待调整分量值,则偏差值ER为R分量值RS与G分量值GS之差的绝对值,偏差值EB为B分量值BS与G分量值GS之差的绝对值,即:

ER=|GS-RS|;

EB=|GS-BS|。

S04:以对应的步长S对待调整分量值对应的默认寄存器值K进行调整,并根据待调整分量值以及调整后的寄存器值K`重新得出待调整分量值。

在本实施例中,仍以G分量值GS为基准分量值,R分量值RS与B分量值BS为待调整分量值为例,步长S为偏差值E除以最大偏差值Em的商,所述步长S包括R分量值RS的步长SR及B分量值BS的步长SB。在本实施例中,SR与SB的计算公式为:

SR=|GS-RS|/Em=ER/Em;

SB=|GS-BS|/Em=EB/Em。

在上述公式中,当步长S不为整数时,将小数部分舍去,仅保留整数部分。

根据上述的计算关系可知,待调整分量值与基准分量值的偏差值E与步长S为正相关关系,待调整分量值与基准分量值的偏差值E越大,则步长S越大。

在本实施例中,在调整步长S之前,还需要比较基准分量值与待调整分量值之间的大小。若基准分量值大于待调整分量值,则调整后的寄存器值K`为默认寄存器值K与步长S之和,也即:

KR`=KR+SR;

KB`=KB+SB。

若基准分量值小于或等于待调整分量值,则调整后的寄存器值K`为默认寄存器值K与步长S之差,也即:

KR`=KR-SR;

KB`=KB-SB。

S05:将重新得到的待调整分量值与基准分量值进行对比,并判断此时的偏差值E是否大于最大偏差值Em,若待调整分量值与基准分量值的偏差值E小于或等于最大偏差值Em,则R分量值RS、G分量值GS及B分量值BS已经为平衡状态,进入S06步骤;若该偏差值E大于上述最大偏差值Em,则重新进入步骤S04对待调整分量值对应的寄存器值进行调整。

S06:用调整后的寄存器值K`替换默认寄存器值K,完成白平衡校正。

在本发明中,通过将R分量值RS、G分量值GS及B分量值BS三者的其中之一做为基准分量值,R分量值RS、G分量值GS及B分量值BS三者的另外两个分量值做为待调整分量值,通过待调整分量值与基准分量均值的偏差值E以及最大偏差值Em得到步长S,以步长S调整默认寄存器值K,继而使待调整分量值与基准分量均值的偏差值E缩小到最大偏差值Em内,最后修改寄存器值,完成白平衡校正,该校正方法能够较为快速简单地实现白平衡的校正。

图2为本发明提供的内窥镜的系统框图,如图2所示,本发明还提供了一种内窥镜,该内窥镜包括图像获取单元10、处理单元20、FPGA寄存器30、存储器(图2中未示出)及存储在存储器上并可在处理单元上运行的白平衡校正系统的程序代码。

所述存储器包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。

所述处理单元在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器中存储的程序代码或处理数据,例如执行白平衡校正系统程序代码等。

在本发明中,处理单元20接收图像获取单元10拍摄的校正测试板的图像信号,并计算图像信号内R(红色)、G(绿色)及B(蓝色)分量均值Rave、Gave及Bave。

处理单元20调取FPGA寄存器30内存储的R分量、G分量及B分量对应的默认寄存器值KR、KG及KB,并根据R分量均值Rave、G分量均值Gave、B分量均值Bave及各自对应的默认寄存器值KR、KG及KB,得到R分量值RS、G分量值GS及B分量值BS。

处理单元20以R分量值RS、G分量值GS及B分量值BS三者的其中之一为基准分量值,R分量值RS、G分量值GS及B分量值BS三者的另外两个分量值为待调整分量值,求得待调整分量值与基准分量值的偏差值E,并判断上述的偏差值E是否大于预先设定的最大偏差值Em。

若偏差值E小于或等于预先设定的最大偏差值Em,则不改变R分量、G分量及B分量对应的默认寄存器值KR、KG及KB,白平衡校正结束。

若偏差值E大于预先设定的最大偏差值Em,则以对应的步长S对待调整分量值对应的默认寄存器值K进行调整,并根据待调整分量值以及调整后的寄存器值K`重新得出待调整分量值。

根据重新得到的待调整分量值得到新的待调整分量值与基准分量值的偏差值E,并将待调整分量值与基准分量值的偏差值E与最大偏差值Em重新进行对比:

若偏差值E大于预先设定的最大偏差值Em,则在调整后的寄存器值K`的基础上重新以对应的步长S调整寄存器值K`;

若偏差值E小于或等于预先设定的最大偏差值Em,则说明重新得到的待调整分量值与基准分量值之间的差距已经较小,白平衡校正结束,处理单元20将得到的调整后的寄存器值K`重新写入FPGA寄存器30内。

在本发明中,处理单元20通过将R分量值RS、G分量值GS及B分量值BS三者的其中之一做为基准分量值,R分量值RS、G分量值GS及B分量值BS三者的另外两个分量值做为待调整分量值,通过待调整分量值与基准分量均值的偏差值E以及最大偏差值Em得到步长S,以步长S调整默认寄存器值K,继而使待调整分量值与基准分量值的偏差值E缩小到最大偏差值Em内,最后将调整后的寄存器值K`重新写入FPGA寄存器30内,即可完成白平衡校正,该校正方法能够较为快速简单地实现白平衡的校正。

本发明所提供的内窥镜,除上述所提及的元器件外,关于该内窥镜的其他具体结构,请参见现有技术,在此不再赘述。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1