平面图像斜视梯形矫正方法及矫正系统与流程

文档序号:20353031发布日期:2020-04-10 23:08阅读:748来源:国知局
平面图像斜视梯形矫正方法及矫正系统与流程

本发明涉及光电技术及数字图像处理领域,具体涉及一种平面图像斜视梯形矫正方法及矫正系统。



背景技术:

在平面图像拍摄过程中,因为摄像角度及位置原因,中轴线方向经常会处于一个倾斜的方向上;例如航拍图中,较大区域的视角都是倾斜的;在指纹采集、车牌识别等智能系统中,都需要用正视图像作为原始样本;然而在实际应用中拍摄得到的大都是倾斜图像,与正视图像相比存在梯形失真,需要经过梯形矫正才能使用。对于任意视角拍摄的图像,不论采用哪种方法矫正梯形,都要先把图像旋转到物面与坐标轴平行的位置,然后才能按照图像梯形畸变的规律进行矫正。

目前进行梯形矫正主要有两类方法,一类是以计算按照视角倾斜的角度来计算每个像素的反正切函数值的三角函数法,另一类是用矫正矩阵进行变换处理的矩阵法;这些方法都必须使用大量的浮点数乘除计算,速度比较慢,对处理器的性能要求较高。



技术实现要素:

本发明为解决现有斜视图像的矫正方法复杂,计算速度慢,且对处理器的性能要求高等问题,提供一种平面图像斜视梯形矫正方法及矫正系统。

平面图像斜视梯形矫正方法,该方法由以下步骤实现:

步骤一、采用光电传感器获得斜视图像,所述光电传感器在像面上光电转换区域为矩形,接收像面发出的成像光转换成边缘为矩形的图像;

定义光电传感器光电转换区域矩形中心点为像心,定义通过光电转换区域矩形底边沿光电传感器水平扫描方向的直线为u轴,定义通过光电转换区域矩形侧边沿光电传感器垂直扫描方向的直线为v轴;

所述斜视图包括正斜图像和侧斜图像;所述正斜图像是物面与u轴或v轴平行时拍摄得到的图像,侧斜图像是物面与两个坐标轴都不平行时拍摄得到的图像;

步骤二、采用图像处理器对所述正斜图像进行梯形畸变矫正,获得正视图;对侧斜图像进行旋转成为正斜图像后,采用梯形畸变矫正,获得正视图;

对所述正斜图像进行梯形畸变矫正的过程为:

步骤二一、对所述正斜图像进行水平扩展,获得水平矫正图像;

步骤二二、对所述水平矫正图像在垂直方向上的畸变进行抛物线扩展矫正,获得抛物扩展图,即为正视图。

平面图像斜视梯形矫正系统,包括物面、透镜、光电传感器和图像处理器;

所述物面为平面,被拍摄物体的光线经透镜后在光电传感器上成实像;

光电传感器在像面上光电转换区域为矩形,接收像面发出的成像光转换成为边缘为矩形的图像;定义光电传感器光电转换区域矩形中心点为像心,定义通过光电转换区域矩形底边沿光电传感器水平扫描方向的直线为u轴,定义通过光电转换区域矩形侧边沿光电传感器垂直扫描方向的直线为v轴;定义物面中成像在像心的点为物心;在透镜与物心之间的直线设定为中轴线,物心发出的光沿中轴线经透镜处理后恰好到达像心;定义中轴线与物面法线所成的夹角为视角;视角为零时拍摄的图像为正视图;视角为非零时拍摄的图像为斜视图;图像处理器对所述斜视图进行梯形畸变矫正成为正视图。

本发明有益的效果:本发明所述的矫正方法,采用循环累加计算的方式,以正视图各像素坐标作为直接复制像素或插值产生像素的目标点;与必须采用浮点计算的三角函数法相比,本发明只需使用少量定点数乘除法,可以不需要浮点乘除计算,总共循环计算的次数大约只有图像像素数量的两倍,速度比三角函数法快得多,适用于低成本低功耗的处理器;矫正矩阵法属于小视野条件下的近似拟合计算,在大视角或者大视野条件下误差很大;本发明提供一种运用斜视图共顶特点,把正斜图在水平方向上线性扩展矫正,在垂直方向上进行抛物扩展矫正的精确矫正方法;矫正过程采用循环计数的方式,不但速度比计算矫正矩阵快,而且在很大的视角和视野条件下始终可以保持很高的矫正精度。

附图说明

图1为本发明所述的平面图像斜视梯形矫正系统的光学结构图;

图2为本发明所述的平面图像斜视梯形矫正方法中正斜视顶点的原理图;

图3为本发明所述的平面图像斜视梯形矫正方法中正斜图与正视图二者重叠放在一起的效果图;

图4为本发明所述的平面图像斜视梯形矫正方法中斜视图经过旋转以及平移之后得到的正斜图;

图5为本发明所述的平面图像斜视梯形矫正方法中对正斜图中的某行像素进行水平像素插值生成水平矫正图的过程示意图;

图6为本发明所述的平面图像斜视梯形矫正方法中水平矫正图51经过垂直像素插值得到抛物扩展图的过程示意图。

图中:1、物面,2、透镜,3、光电传感器,4、物面法线,5、中轴线,6、物心,7、像心,x为光电传感器的x扫描方向;y为光电传感器的y扫描方向;

具体实施方式

具体实施方式一、结合图1至图6说明本实施方式,平面图像斜视梯形矫正系统,包括物面1,透镜2,光电传感器3和图像处理器;物面1为平面,是被拍摄的物体所在的平面,忽略被拍摄的物体的高度;

透镜2由一个或多个光学元件组成,即可以只由一个成像透镜组成,又可以由多个折射以及反射光学元件组成,来自被拍摄物体的光线经过光路及透镜2,在光电传感器3上成实像;

光电传感器3是ccd或cmos等光电图像传换元件,像面是光电传感器3接收到成像光的平面,光电传感器3在像面上光电转换区域为矩形,接收像面发出的成像光转换成为边缘为矩形的图像;定义光电传感器3光电转换区域矩形中心点为像心,定义通过光电转换区域矩形底边沿光电传感器3水平扫描方向的直线为u轴,定义通过光电转换区域矩形侧边沿光电传感器3垂直扫描方向的直线为v轴;定义物面1中成像在像心的点为物心;在透镜2与物心之间存在一条假想的直线被称为中轴线,物心发出的光沿中轴线到达透镜2经光学元件处理后恰好到达像心;定义中轴线与物面法线所成的夹角为视角;视角为零时拍摄的图像为正视图;视角不为零时拍摄的图像为斜视图;

斜视图像分为正斜图像和侧斜图像两种情况;正斜图像是物面与u轴或v轴平行时拍摄得到的照片图像,侧斜图像是物面与两个坐标轴都不平行时拍摄得到的照片图像;正斜图像与正视图像相比存在梯形畸变,并且正斜图像的梯形畸变具有共顶特点;

结合图2说明本实施方式,图2为本实施方式所述正共顶特点原理图,图中f为光心,o为像心,q为物心;物面为π,在物面上有一个矩形,并且这个矩形有一组对边在像面成像时与一个坐标轴平行,那么把这种矩形的称为平行矩形;因为与v轴平行的情况和与u轴平行的情况类似,所以用与u轴平行为例介绍平行矩形;平行矩形中成像后与u轴平行的一组对边称为平行边,另外成像后与v轴垂直的那一组对边称为垂边;在斜视图中,平行矩形成像的形状为梯形,两条平行边分别成像为梯形上底与下底,两条垂边分别成像为梯形的两个腰,梯形两腰的延长线在远处相交于一点,定义这个交点为正斜视顶点;所述共顶特点就是所有平行矩形在正斜图中成像都共有同一个正斜视顶点p,像面为β,物面与像面夹角等于视角θ;物面上的平行矩形abcd成像得到的正斜图为等腰梯形ijkl,两腰延长线交点为正斜视顶点p,并且正斜视顶点位于穿过像心并与y轴平行的直线上,与像心的距离op等于像距of乘以物视角θ的余切;

op=of*cot(θ)

本实施方式中,若物面与u轴不平行时,则需要旋转斜视图得到正斜图;若所要矫正的图像不是完整的斜视图像,而是经过切割后只剩下其中的一部分,或者经过与其他图形拼接扩大了范围,则在旋转之后还需要平移;斜视图旋转的结果是把图像中呈现的物面旋转至与水平方向,虚拟获得u轴平行于物面的效果,并且使斜视顶点位于图像的上侧,平移是把像心的像素平移到图像的垂直中心线上,同时斜视顶点也被平移到图像的垂直中心线上,把具有这几个特征的斜视图像称为正斜图,正斜图与正视图相比存在等腰梯形失真而不再是任意梯形失真;图像数据用数组p[y][x]保存,其中y为行索引号,表示像素数据所在的行号,而x为列索引号,表示像素数据在水平方向的列号,使每个像素数据都由坐标(x,y)唯一确定位置;规定斜视顶点的坐标为(xp,yp),则有;

yp=of*cot(θ)

图像旋转的计算量比较大;对于地面景物来说,通常拍摄照片,视频监控图像大多都是近似的正斜图;对于指纹采集,科研测绘拍照等情况可以通过设计拍摄角度而直接得到正斜图。

具体实施方式二、结合图3至图6说明本实施方式,平面图像斜视梯形矫正方法,图3为本实施方式中所述正斜图与正视图二者重叠放在一起的效果,正视图中以a,b,c以及d为顶点的最大平行矩形区10对应正斜图中有效梯形区11的四个顶点a1,b1,c1以及d1,也就是矩形的正视图10在倾斜拍摄时得到梯形的斜视图,经过旋转平移处理之后可得到正斜图11;c与c1能够重合,d与d1也能够重合;最大平行矩形区的平形边长为w,垂边长为t;有效梯形区的上底边长为a,下底边长为w,高度为h,两腰c1a1和d1b1的延长线相交于斜视顶点o。

图4为本实施方式中所述斜视图经过旋转以及平移之后得到的正斜图,31为任意视角下的一个斜视图经过其他处理之后,梯形b2,bx,cx,c2区域被裁剪,任意梯形a2,b2,c2,d2区域以外被拼接有其它图像内容,f点为像心,o2为斜视顶点;经过旋转之后,得到梯形a3,b3,c3,d3,并且梯形的下底边c3d3以上底边a3b3处于水平方向,斜视顶点o3位于图像上侧;经过平移之后的图像,斜视顶点o3与像心f3都位于图像的垂直中心线上,原来被裁剪掉的梯形区b3,b4,c4,c3被补充完整,内部可填充任意数据;梯形a3,b4,c4,d3为所述有效梯形区;

设定物面上的存在一个四个顶点分别为a,b,c以及d的最大平行矩形区,对应正斜图中一个等腰梯形区的四个顶点a1,b1,c1以及d1,这个梯形区被称为有效梯形区;正斜图中这个有效梯形区经过矫正成为一个矩形区域,可以得到物面上这个最大平行矩形区的正视图;正视图边缘所在矩形的边长ab和cd等于有效梯形区域下底边长w,并且大于有效梯形区域的上底边长a,边长ad和bc大于有效梯形区的高度h,因此有效梯形区的像素数量小于最大平行矩形区在正视图中像数数量;对正斜图进行像素插值处理,额外制造出一些新像素填充到正斜图中,分为水平像素插值与垂直像素插值两个步骤;

正斜图经过水平像素插值得到的图像称为水平矫正图,水平矫正图在水平方向上宽度为w,与最大平行矩形区的平行边等宽,高度仍然等于正斜图的高度h;水平矫正图在垂直方向上通过垂直像素插值扩展得到的图像称为抛物扩展图;

正斜图向水平矫正图的变换过程是在水平方向进行像素复制以及像素额外插入;在正斜图中,每一行的多数数据都要按照各自原本的行号按顺序沿水平方向复制到水平矫正图中;水平像素插值是在执行水平复制的过程中,在水平矫正图的指定位置额外多插入一个新的像素数据;这个数据的数值要根据正斜图中与上次复制到水平矫正图的那个像素位置相邻的多个像素数据通过插值计算得出;正斜图中除下底边有w个像素无需插值以外,其他各行的像素数量都小于w,这些行各自经过水平插值之后都具有w个像素;这种水平插值实现的水平扩展的效果,就是能够把数量小于w个的像素均匀分布在以w为宽度的图像行上,并用插值方法均匀填充一些原本不存在的近似像素;

水平矫正图的高度h小于最大平行矩形区垂边长度t,通过垂直像素插值把水平矫正图的各行进行扩展得到抛物扩展图,扩展的方式是把水平矫正图中的各行,在沿垂直方向按顺序复制到抛物扩展图的过程中,在指定行的位置额外多插入一行像素,在抛物扩展图的垂直方向上增加像素;经过垂直插值之后的抛物扩展图与水平矫正图相比,宽度仍然为w,而高度等于最大平行矩形垂边的边长t;这种垂直像素插值实现垂直扩展的效果,就是能够把数量为h的水平像素,以抛物线的分布规律,分散复制到边长为t的抛物扩展图中,因分散复制而产生的空余像素行,用邻近行的像素经过插值计算得到进行填充;

具体过程为:

以正斜图的左下角为原点建立平面直角坐标系,斜视顶点水平坐标xp位于正斜图垂直中心线上,数值等于正斜图宽度的一半,为w/2,斜视顶点垂直坐标yp=w*h/(w-a);正斜图中的每一行图像都有一个扩展因子ex(y),是以y为自变量的函数;

ex(y)=y/yp

ex(y)的含意是正斜图中的行数据被矫正成为正视图中行数据时,这行数据根据自身所位于行号进行扩展所需要增加像素的数量;计算有效梯形区中每行数据的数量n(y),是经y为自变量的函数;

n(y)=w–w*ex(y)

根据有效梯形区为等腰梯形,可以计算出有效梯形区中每行数据在进行水平扩展之前有效数据的起始水平方向坐标x(y);

x(y)=n(y)/2

结合图5说明本实施方式,对正斜图中的某行像素进行水平像素插值生成水平矫正图的过程,左图41是正斜图,右图42是水平矫正图;实心点代表正斜图中原有的像素经过复制填充到水平矫正图中,空心点是水平插值生成的像素填入水平矫正图;

从正斜图向水平矫正图扩展变换过程的具体作法是;对有效梯形区的第y行像素,都用一个从0到n(y)的整数次循环,从这行数据的x(y)开始,每次循环都从正斜图中复制一个像素到水平矫正图;把初始值等于零的一个累加寄存器r放在循环过程之中,每次循环中r都增加一次水平扩展因子ex(y),若r数值大于等于一,则把r减去一的同时在水平矫正图中原本在下次循环将要复制填入像素的那个位置进行水平像素插值,额外插入一个新的像素数据;如果r减一之后仍然大于等于一,则重复r减一并插入额外像素的动作,直到r小于一为止;当从0到n(y)进行整数循环结束时,这一行的扩展变换结束,正斜图中正好有n(y)个像素数据被读取,并且在水平矫正图中恰好填充了w个数据,其中n(y)个像素是复制填入,有w-n(y)个数据由水平插值额外填入;这种在水平方向上扩展的结果能够把n(y)个像素均匀分布在以w为宽度的图像行上,并均匀填充了w-n(y)个原来不存在的近似像素;再用一个从0到h的循环,把y作为循环变量,对正斜图中每一行数据都进行水平扩展之后,就得到了水平矫正图,虽然完成了水平方向的矫正,但是垂直方向上仍然存在畸变;

结合图6说明本实施方式,对所述水平矫正图51经过垂直像素插值得到抛物扩展图的过程,实心点代表水平矫正图中原有的像素行按照顺序复制到抛物扩展图中,箭头标示出各行对应的填充位置;空心点是垂直插值生成的像素;

水平矫正图在垂直方向上的畸变可以用抛物线扩展矫正,矫正后的图像称为抛物扩展图;抛物线扩展矫正之后的抛物扩展图的高度等于t,定义加速度常数为m,计算方法为;

在实际图像中,因为h和t都远大于1,所以可以使用近似计算公式;

则垂直方向的扩展因子ey计算公式为;

ey=(w-a)/m*h

由此可见,在摄像机的光路元件,视角,像面以及物面都已经确定不变之后,加速度常数m和垂直方向的扩展因子ey都是固定不变的常数,系统只需要计算一次即可。

用一个从0开始到h结束的循环,按照从梯形区域的下底边逐行依次向上底边的方向,每次循环都从水平矫正图中复制一行数据到抛物扩展图中,每次循环的同时都计算新行插入判断值q;

q=(y*ey+1)*y*ey/2

用一个初始值等于1的寄存器g,在每次计算新行插入判断值q之后,比较q与g的大小,如果q大于等于g,则在g加一的同时,在抛物扩展图中即将要复制填入那行像素位置额外多插入一行新像素,这行新像素的数值由水平矫正图中刚被复制的那行像素数据以及附近像素插值获得;计算垂直方向扩展之后,抛物扩展图在垂直方向上总行数s为;

s=h+(((w–a+m)*(w-a)/(m*m))/2)

这种在垂直方向上进行抛物线扩展矫正的结果是把h条水平像素行按照抛物线函数的分布规律在高度为s的矩形中进行填充;总共填充有s行像素,其中有h行像素由复制填入,有((w-a+m)*(w-a)/(m*m))/2行原本不存在的近似像素行由垂直插值额外填入;抛物扩展图与正视图视角相同,得到了经过梯形矫正之后的正视图像。

可以用一个矩形模具校正精密光电系统的视角误差;例如在指纹光电采集模块的生产过程中,不仅透镜与光电图像传换元件本身存在尺寸公差,每个安装动作还存在安装偏差;导致生产出来每个指纹模块的视角θ误差状况各不相同,梯形畸变情况都不一样;把一个已知尺寸的矩形模具放在物面上,并使一个边与水平u轴平行,在像面上光电图像传换元件成像为一个梯形;利用梯形四个顶点的坐标,计算两腰所在直线的交点可得到斜视顶点在垂直方向上的坐标op1,计算这个模块的直实视角θ1;

这个指纹模块在使用中,用它的直实视角θ1代替原始设计图中的视角θ进行梯形矫正,就可以消除生产原因引入的视角误差,保证产品一致性。

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