一种变焦摄像机光轴校正方法与流程

文档序号:26001646发布日期:2021-07-23 21:18阅读:604来源:国知局
一种变焦摄像机光轴校正方法与流程

本发明涉及摄像机成像技术领域,具体为一种变焦摄像机光轴校正方法。



背景技术:

随着成像技术的日益发展,行业内对摄像机光轴一致性的要求越来越高。我们将参照中国台湾专利第225008号中对变焦镜头结构的介绍去分析光轴偏移成因。变焦镜头内部成像部分结构参照图3,该专利中描述的变焦镜头结构包括一外套筒、一圆柱凸轮套筒、圆柱凸轮、一固定环及一镜筒组,该外套筒内设有若干条直线凹槽,可供该固定环上所设的凸键卡合,使固定环浮锁与圆柱凸轮套筒外,镜筒组包括有第一群镜筒与第二群镜筒,固定环上设置有定位片可卡合于第二群镜筒上的定位槽,以限制第二群镜头旋转,第一群镜筒上的定位片卡合于定位槽内,受第二群镜筒的限制而不能旋转,第一群镜筒与第二群镜筒外设有滚轮,可通过外套筒一侧开设的长孔槽与圆柱凸轮底部外壁的齿轮作用使圆柱凸轮于光轴直线上作线性运动,由此使得镜筒组在光轴直线上作前后相对运动,以实现变焦功能。

从变焦镜头整体的设计结构和运作过程分析,产生光轴偏移问题的原因有以下几个:

(1)设计精度缺陷:由于加工过程中的组装精度误差,导致相机各部件光轴不一致,比如上述专利中提及的第一群镜筒和第二群镜筒因组装误差导致的镜片组群中心未对齐,且实际上,有些高精密度的变焦相机,其群镜筒只会更多,如图3-2所示;又比如滚轮加工不到位而使得圆柱凸轮发生非线性位移。相机硬件本身的组装误差,是导致镜头光轴偏移的重要因素。

(2)运动偏移:镜头的变焦过程,是在滚轮和圆柱凸轮的齿轮咬合推动下实现的,但是各齿轮咬合过程中产生的缝隙是不可避免的,所以圆柱凸轮会在变焦过程中出现左右偏移的现象,从而导致相机光轴产生偏移。

然而,当前领域内,针对解决摄像机光轴一致性问题大多是从硬件入手,要么设计改变镜头内部结构,比如通过检测光轴路径上各组镜片的组合光轴中心是否与中心轴重合从而调节镜片位置以达到光轴校正的目的;又比如公开号cn111367090a,名为“一种光学镜头光轴校正装置及方法”的专利中,设计出一种从外部控制摄像机镜头拍摄方向的机架,原理是通过镜头对转菲林图像产生的直射拍摄的图像分析光学镜头的光轴偏移情况,并通过机架对摄像机位置进行校正以达到光轴校正的目的。这两种包括与其类似的方案一方面提高了硬件设计的复杂度,增加了设计成本,另一方面又对摄像机的稳定性提出了更高的要求,同时,这种“实时检测,实时校正”的方法大大增加了摄像机的校正周期,在场景不稳定的环境下执行光轴校正调节更对摄像机的灵敏度提出了考验。

还有的方法通过从图像处理入手,比如公开号cn206905698u,名为“一种一体机光轴校正的装置”的专利中,提出通过两组电机移动获取摄像机近端与远端的两组图像,并通过对比两组图像中的参考特征点来计算得出摄像机光轴偏移坐标,由此对摄像机进行校正,然而由于摄像机内部镜头中驱动电机工作的特殊性,机芯在整个变倍的过程中光轴的偏移程度有可能不是线性的,这种情况下采用这种方法对摄像机进行光轴校正就会出现较大偏差。



技术实现要素:

本发明的目的在于提供一种变焦摄像机光轴校正方法,以解决上述背景技术中提出现有的针对解决摄像机光轴一致性问题大多是从硬件入手,增加了设计成本,另一方面又对摄像机的稳定性提出了更高的要求,同时,这种“实时检测,实时校正”的方法大大增加了摄像机的校正周期,在场景不稳定的环境下执行光轴校正调节更对摄像机的灵敏度提出了考验,或者从图像处理入手,不能够提高光轴校准准确性的问题。

为实现上述目的,本发明提供如下技术方案:一种变焦摄像机光轴校正方法,包括以下步骤:

步骤一:设置原始图像为像素x*y的画布,a点为原始图像(1倍)中心像素特征点,b点为某一倍率下原始图像的中心像素特征点偏移后的位置,将通过对图像进行裁剪处理的方式使得任意倍率下的图像中的b点都位于图像中心,以达到对图像进行中心校正的目的。

步骤二:首先明确画布(通道)内图像的成像原理:我们借助一组特征参数,包括画布的起始坐标以及画布的宽度与高度,起始坐标在左上角。以原始图像为例,其起始坐标(primitive_coordinates)为(primitive_coord_x,primitive_coord_y),primitive_coord_x=0,primitive_coord_y=0,宽度(primitive_width)为x,高度(primitive_height)为y,内部函数将调用这组参数处理生成并输出一帧图像,图像尺寸比例c=x/y。

步骤三:中心像素特征点的偏差方向deviation_direction分为4个方向,依次定义为1(左上)、2(右上)、3(左下)、4(右下)。

步骤四:以图2中b点为例,偏差方向为右上,故deviation_direction=2,记b点相较于a点横向偏移参数为x_data,纵向偏移参数为y_data,在原有画布内裁剪出一个使得b点处于图像中心的最大画布,标记为一次划分图像。

一次划分图像的特征参数为:

起始坐标(first_crop_x,first_crop_y):

first_crop_x=primitive_coord_x+(x_data*2)

first_crop_y=primitive_coord_y

宽度first_crop_width:

first_crop_width=x–(x_data*2)

高度first_crop_height

first_crop_height=y–(y_data*2),划分图像如图3-1所示;

对于其他的偏差方向,仅对一次划分图像的起始坐标做修改:

若偏差方向为左上

deviation_direction=1,则:

first_crop_x=primitive_coord_x

first_crop_y=primitive_coord_y,划分图像如图3-2所示;

若偏差方向为左下

deviation_direction=3,则:

first_crop_x=primitive_coord_x

first_crop_y=primitive_coord_y+(y_data*2),划分图像如图3-3所示;

若偏差方向为右下

deviation_direction=4,则:

first_crop_x=primitive_coord_x+(x_data*2)

first_crop_y=primitive_coord_y+(y_data*2),划分图像如图3-4所示;

步骤五:对一次划分图像的特征参数进一步调整,使得裁剪后的图像尺寸比例等于原始图像尺寸比例c,得到二次划分图像,二次划分图像的特征参数计算如下:

起始坐标(second_crop_x,second_crop_y):

宽度second_crop_width:

高度second_crop_width:

若first_crop_width/first_crop_height=c,则:

second_crop_width=first_crop_width

second_crop_height=first_crop_height

second_crop_x=first_crop_x

second_crop_y=first_crop_y,二次划分图像与一次划分图像一致,若宽度比例偏大

first_crop_width/first_crop_height>c,则:

second_crop_width=first_crop_width*c

second_crop_height=first_crop_height

second_crop_x=first_crop_x+(first_crop_width–second_crop_width)/2

second_crop_y=first_crop_y,二次划分图像如图4-1所示;

若高度比例偏大

first_crop_width/first_crop_height<c,则

second_crop_width=first_crop_width

second_crop_height=first_crop_height/c

second_crop_x=first_crop_x

second_crop_y=first_crop_y+(first_crop_height–second_crop_height)/2,二次划分图像如图4-2所示。

优选的,所述图像生成是根据内部函数,处理输出一幅始于左上角的起始坐标为(primitive_coord_x,primitive_coord_y),宽度为primitive_width,高度primitive_height的像素图像。

优选的,所述原始图像需划分为四个象限,以中心点为画面中心,从左至右依次排列,摄像机变倍到最大倍,观测该像素特征点的偏移位置处于四个象限的哪一个象限以确定偏差方向参数,若像素特征点偏移至第一象限,则偏差方向参数deviation_direction=1;若像素特征点偏移至第二象限,则偏差方向参数deviation_direction=2;若像素特征点偏移至第三象限,则偏差方向参数deviation_direction=3;若像素特征点偏移至第四象限,则偏差方向参数deviation_direction=4。

优选的,所述图像校正的情况会根据相机帧率的不同,相机的处理芯片会周期性地处理并输出参照当前电机位置的偏差系数而计算裁剪后的图像。

优选的,所述目标相机走动到的特定位置后对比获取相机在该位置的偏差系数,然后计算出当前位置下能使得图像光轴居中,不发生畸变且保留像素最多的新的一组图像特征参数并生成输出新的像素图像,其坐标为(second_crop_x,second_crop_y),宽度为second_crop_width,高度为second_crop_height。

与现有技术相比,本发明的有益效果是:该变焦摄像机光轴校正方法,本发明不对摄像机硬件做改动,这样减少了额外的硬件开发成本,同时不扩展摄像机的操作复杂度,也规避了“实时检测,实时校正”导致的较长的校正周期这一问题;本发明也对部分现有的软件处理方案做了优化,弥补了因摄像机运行过程中光轴的非线性偏移而导致线性偏差参数处理方案不适用的缺陷。

(1)本发明方法不用对摄像机硬件进行二次设计,降低了摄像机的操作复杂度,减少了硬件设计成本,同时规避了因改变摄像机硬件结构(无论是内部或者外部)而造成的损失摄像机的稳定性这一问题。

(2)本发明方法直接对摄像机原始数据进行对比获取偏差方向参数和偏差数组参数,从而通过图像处理技术对摄像机光轴实行校正,大大减小了摄像机实际工作过程中的校正周期,且避免了硬件设计方案中“实时校正”方法中因环境影响可能导致的校正不精确的问题。

(3)本发明方法的偏差数组参数对摄像机进行折线型校正,故同样适用于运行过程中光轴中心非线性偏移的设备。

附图说明

图1为摄像机光轴校正过程中芯片的图像采集、图像处理、图像输出框图;

图2为摄像机图像处理模块中的图像光轴校正居中模块的图像图像处理示意图;

图3-1为现有变焦相机的右上方变焦镜头结构的立体分解图;

图3-2为现有变焦相机的左上方变焦镜头结构的立体分解图;

图3-3为现有变焦相机的左下方变焦镜头结构的立体分解图;

图3-4为现有变焦相机的右下方变焦镜头结构的立体分解图;

图4-1为摄像机图像处理模块裁剪出光轴居中的初次校正图像的抽象示意图;

图4-2为摄像机图像处理模块裁剪出光轴居中的二次校正图像的抽象示意图;

图5为线性方案校正数据跟折线型方案校正数据对比示意图;

图6为现有变焦相机的变焦镜头原始分布示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-图6,本发明提供一种技术方案:一种变焦摄像机光轴校正方法,包括以下步骤:

步骤一:设置原始图像为像素x*y的画布,a点为原始图像(1倍)中心像素特征点,b点为某一倍率下原始图像的中心像素特征点偏移后的位置,将通过对图像进行裁剪处理的方式使得任意倍率下的图像中的b点都位于图像中心,以达到对图像进行中心校正的目的。

步骤二:首先明确画布(通道)内图像的成像原理:我们借助一组特征参数,包括画布的起始坐标以及画布的宽度与高度,起始坐标在左上角。以原始图像为例,其起始坐标(primitive_coordinates)为(primitive_coord_x,primitive_coord_y),primitive_coord_x=0,primitive_coord_y=0,宽度(primitive_width)为x,高度(primitive_height)为y,内部函数将调用这组参数处理生成并输出一帧图像,图像尺寸比例c=x/y。

步骤三:中心像素特征点的偏差方向deviation_direction分为4个方向,依次定义为1(左上)、2(右上)、3(左下)、4(右下)。

步骤四:以图2中b点为例,偏差方向为右上,故deviation_direction=2,记b点相较于a点横向偏移参数为x_data,纵向偏移参数为y_data,在原有画布内裁剪出一个使得b点处于图像中心的最大画布,标记为一次划分图像。

一次划分图像的特征参数为:

起始坐标(first_crop_x,first_crop_y):

first_crop_x=primitive_coord_x+(x_data*2)

first_crop_y=primitive_coord_y

宽度first_crop_width:

first_crop_width=x–(x_data*2)

高度first_crop_height

first_crop_height=y–(y_data*2),划分图像如图3-1所示;对于其他的偏差方向,仅对一次划分图像的起始坐标做修改:

若偏差方向为左上

deviation_direction=1,则:

first_crop_x=primitive_coord_x

first_crop_y=primitive_coord_y,划分图像如图3-2所示;

若偏差方向为左下

deviation_direction=3,则:

first_crop_x=primitive_coord_x

first_crop_y=primitive_coord_y+(y_data*2),划分图像如图3-3所示;

若偏差方向为右下

deviation_direction=4,则:

first_crop_x=primitive_coord_x+(x_data*2)

first_crop_y=primitive_coord_y+(y_data*2),划分图像如图3-4所示;

步骤五:对一次划分图像的特征参数进一步调整,使得裁剪后的图像尺寸比例等于原始图像尺寸比例c,得到二次划分图像,二次划分图像的特征参数计算如下:

起始坐标(second_crop_x,second_crop_y):

宽度second_crop_width:

高度second_crop_width:

若first_crop_width/first_crop_height=c,则:

second_crop_width=first_crop_width

second_crop_height=first_crop_height

second_crop_x=first_crop_x

second_crop_y=first_crop_y,二次划分图像与一次划分图像一致,若宽度比例偏大

first_crop_width/first_crop_height>c,则:

second_crop_width=first_crop_width*c

second_crop_height=first_crop_height

second_crop_x=first_crop_x+(first_crop_width–second_crop_width)/2

second_crop_y=first_crop_y,二次划分图像如图4-1所示;

若高度比例偏大

first_crop_width/first_crop_height<c,则

second_crop_width=first_crop_width

second_crop_height=first_crop_height/c

second_crop_x=first_crop_x

second_crop_y=first_crop_y+(first_crop_height–second_crop_height)/2,二次划分图像如图4-2所示。

本发明中:图像生成是根据内部函数,处理输出一幅始于左上角的起始坐标为(primitive_coord_x,primitive_coord_y),宽度为primitive_width,高度primitive_height的像素图像。

本发明中:原始图像需划分为四个象限,以中心点为画面中心,从左至右依次排列,摄像机变倍到最大倍,观测该像素特征点的偏移位置处于四个象限的哪一个象限以确定偏差方向参数,若像素特征点偏移至第一象限,则偏差方向参数deviation_direction=1;若像素特征点偏移至第二象限,则偏差方向参数deviation_direction=2;若像素特征点偏移至第三象限,则偏差方向参数deviation_direction=3;若像素特征点偏移至第四象限,则偏差方向参数deviation_direction=4。

本发明中:图像校正的情况会根据相机帧率的不同,相机的处理芯片会周期性地处理并输出参照当前电机位置的偏差系数而计算裁剪后的图像。

本发明中:目标相机走动到的特定位置后对比获取相机在该位置的偏差系数,然后计算出当前位置下能使得图像光轴居中,不发生畸变且保留像素最多的新的一组图像特征参数并生成输出新的像素图像,其坐标为(second_crop_x,second_crop_y),宽度为second_crop_width,高度为second_crop_height。

工作原理:本发明的校正方法直接通过软件对图像处理,通过对摄像机未校正时的一组图像做分析,确认镜头从近端到远端的运行过程中光轴的偏差方向,作为偏差方向参数;同时将一个变倍周期中间一组有限且特定位置的生成图像与1倍时的生成图像做对比,确定该组位置中每一个位置的偏差数据,整合作为该摄像机的偏差数组参数,在摄像机实时变倍过程中,对每一个变倍位置通过图像采集模块获取的图像,调用偏差方向参数和偏差数组参数对其进行校正裁剪处理并输出图像,从而实现校正的目的。

具体操作为:1、获取偏差方向参数和偏差数组参数;2、借助偏差方向参数和偏差数组参数的光轴校正算法实现,我们将图像划分为4个象限,中心点为画面中心,在摄像机处于1倍时标记图像中的一个中心像素特征点,摄像机变倍到最大倍,观测该像素特征点的偏移位置处于四个象限的哪一个象限以确定偏差方向参数,若像素特征点偏移至第一象限,则偏差方向参数deviation_direction=1;若像素特征点偏移至第二象限,则偏差方向参数deviation_direction=2;若像素特征点偏移至第三象限,则偏差方向参数deviation_direction=3;若像素特征点偏移至第四象限,则偏差方向参数deviation_direction=4。

依照经验,图像中心随着摄像机变倍会大致往一个方向偏移,所以偏差方向参数的获取相对容易,但是实际变倍过程中,图像中心不会往一个方向做线性偏移,所以我们采用在整个变倍周期内选取一组有限且特定的倍率位置,这里我们将每一个位置抽象成一个zoom步长参数:zoom[n]={zoo

m1,zoom2,zoom3,.........zoom(n-1),zoomn},摄像机走电机到特定zoom位置,对比分析图像中心的偏移情况,获取当前位置像素特征点的横向偏移量x_data_n和纵向偏移量y_data_n,组成当前位置的偏差数据(x_data_n,y_data_n),整合每一个zoom位置的偏差数据作为偏差参数数组:array[n]={(x_data_1,y_data_1),

(x_data_2,y_data_2),.......(x_data_n,y_data_n)},对处于两个zoom位置(例如zooma和zoomb)中间的zoomc,我们可以通过计算得出这些非特定位置的一组偏差数据(x_data_zoomc,y_data_zoomc):

计算zoomc处于zooma和zoomb之间的位置参数data:

data=(zoomc–zooma)/(zoomb-zooma)

x_data_zoomc=(1-data)*x_data_zooma+data*x_data_zoomb

y_data_zoomc=(1-data)*y_data_zooma+data*y_data_zoomb

这样我们就可以通过查询摄像机当前的zoom位置,根据zoom位置调用array[n]中的对应位置的偏差数据,计算出使得当前位置的图像光轴保持居中的一组图像处理特征参数,然后调用图像光轴校正算法对图像进行校正处理。这种对每一组zoom区间的zoom值做线性校正的折线型校正方案有效地避免了采用现有的线性校正方案对光轴非线性偏移的摄像机进行校正时导致的较大误差。

综上所述:该变焦摄像机光轴校正方法,本发明不对摄像机硬件做改动,这样减少了额外的硬件开发成本,同时不扩展摄像机的操作复杂度,也规避了“实时检测,实时校正”导致的较长的校正周期这一问题;本发明也对部分现有的软件处理方案做了优化,弥补了因摄像机运行过程中光轴的非线性偏移而导致线性偏差参数处理方案不适用的缺陷。

(1)本发明方法不用对摄像机硬件进行二次设计,降低了摄像机的操作复杂度,减少了硬件设计成本,同时规避了因改变摄像机硬件结构(无论是内部或者外部)而造成的损失摄像机的稳定性这一问题。

(2)本发明方法直接对摄像机原始数据进行对比获取偏差方向参数和偏差数组参数,从而通过图像处理技术对摄像机光轴实行校正,大大减小了摄像机实际工作过程中的校正周期,且避免了硬件设计方案中“实时校正”方法中因环境影响可能导致的校正不精确的问题。

(3)本发明方法的偏差数组参数对摄像机进行折线型校正,故同样适用于运行过程中光轴中心非线性偏移的设备。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

本系统中涉及到的相关模块均为硬件系统模块或者为现有技术中计算机软件程序或协议与硬件相结合的功能模块,该功能模块所涉及到的计算机软件程序或协议的本身均为本领域技术人员公知的技术,其不是本系统的改进之处;本系统的改进为各模块之间的相互作用关系或连接关系,即为对系统的整体的构造进行改进,以解决本系统所要解决的相应技术问题。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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