一种测量透镜畸变的方法及系统与流程

文档序号:17750724发布日期:2019-05-24 20:56阅读:295来源:国知局
一种测量透镜畸变的方法及系统与流程

技术领域

本发明涉及图像处理领域,具体涉及一种测量透镜畸变的方法及系统。



背景技术:

随着科技水平的提高,消费类电子产品以飞快的步伐迈入人类生活,头戴显示类产品凭借绚丽的外形及先进的功能吸引着大众的眼球。头戴显示类产品将视觉技术完美的应用与产品,其使用高分辨率的LCD屏显示图像,经过透镜放大,以便用户能观看到清晰的图像;并采用3D技术处理图像,让用户感受3D带来的视觉冲击感。然而透镜将图像放大的同时,也使得图像产生了畸变,畸变属于成像的几何失真,它是由于焦平面上不同区域对影像的放大率不同而形成的画面扭曲变形现象,这种变形的程度从画面中心至画面边缘依次递增,主要在画面边缘反映得较明显。因此需要测量到这个畸变量,再通过图像处理技术将畸变的图像还原成正常的图像,现有技术中的测量透镜畸变的方法计算速度慢并且测量精度不高,还原为正常图像具有较大的误差,不能满足图像处理的需求。



技术实现要素:

本发明提供了一种测量透镜畸变的方法及系统,以解决现有的透镜畸变测量方法计算速度慢且测量精度不高的问题。

为达到上述目的,本发明的技术方案是这样实现的:

本发明提供了一种测量透镜畸变的方法,该方法包括:设置具有K×N个点构成的点阵图案的测试卡,K与N均为自然数,K等于或不等于N;

获取测试卡通过透镜产生畸变后的畸变图像;

以畸变图像左上角的点为坐标原点,以原点向右为X轴正方向,以原点向下为Y轴正方向构建畸变图像的平面坐标系;

基于中心点与所有非中心点的物理相对位置不变的关系,采用坐标定位方式,通过扫描检索定位畸变图像的中心点以及所有非中心点,并确定中心点以及所有非中心点在平面坐标系中的坐标值;

利用中心点以及所有非中心点的坐标值,计算畸变图像的畸变量,进而得到透镜的畸变量。

其中,测试卡上中心点的半径比所有非中心点的半径大。

其中,通过扫描检索定位畸变图像的中心点以及所有非中心点包括:

设定一个以畸变图像中心的坐标值为中心的正方形检索区域;正方形检索区域的边长的一半大于等于中心点半径的2倍;

以正方形检索区域的左上角的一点为中心,设定一个边长的一半为中心点半径的正方形扫描区域,以扫描区域的中心为扫描起始点,扫描该扫描区域并计算该区域内所有像素点的平均值;

在检索区域内,按照从上到下、从左到右的顺序移动扫描区域的中心,直至扫描完检索区域,比较扫描区域每次获取到的像素点平均值,并将所有像素点平均值中的最小平均值或者最大平均值所在的扫描区域的中心确定为中心点的中心,进而确定中心点中心的坐标值,将中心点中心的坐标值定位为中心点的坐标值。

以此类似的方法,定位出所有非中心点的坐标值。

其中,以此类似的方法,定位出所有非中心点的坐标值包括:

以中心点的中心为基准,以特定的步长,向左移动正方形检索区域,定位出与中心点同一行的左边所有的非中心点,并确定非中心点的坐标值;

以中心点的中心为基准,以特定的步长,向右移动正方形检索区域,定位出中心点同一行的右边所有非中心点,并确定非中心点的坐标值;

以中心点的中心为基准,以特定的步长,向下移动正方形检索区域,定位出中心点所在行的下一行所有非中心点,并确定非中心点的坐标值;

以中心点的中心为基准,以特定的步长,向上移动正方形检索区域,定位出中心点所在行的上一行所有非中心点,并确定非中心点的坐标值;

在所述检索区域内,按照从上到下、从左到右的顺序移动所述扫描区域的中心,直至扫描完所述检索区域。

其中,该方法还包括:在缓存中定义一个长度能够至少包含所有点的二维数组,将中心点的坐标信息存储于二维数组的中心数值中;

依次将定位到的所有点按照畸变图像上的相对物理位置,存储于二维数组中,建立中心点以及所有非中心点与二维数组的索引关系。

其中,利用中心点以及非中心点的坐标值,计算畸变图像的畸变量包括:

根据二维数组与中心点以及所有非中心点的索引关系,找出分别位于在畸变图像上的四个点A1、A2、A3、A4,所述点A1、A2、A3、A4应尽可同时满足以下条件:

四个点A1、A2、A3、A4两、两处于同一基准线;

根据四个点A1、A2、A3、A4及其两两所在的同一基准线上所有非中心点与中心点的索引关系,找出所述四个点A1、A2、A3、A4两两所在的同一基准线上的中间点,其中,点A1与点A2所在的基准线的中间点记为B1,点A2与点A3所在的基准线的中间点记为B2,点A3与点A4所在的基准线的中间点记为B3,点A1与点A4所在的基准线的中间点记为B4,中间点B1、B2、B3、B4同时满足以下条件:

B1点、中心点、B3点这三个点位于同一基准线;

B2点、中心点、B4点这三个点位于同一基准线;

点A1、A2相对于点B1的索引差值相等并记为m,点A3、A4相对于点B3的索引差值相等并记为n,且m=n;

点A1、A4相对于点B4索引差值相等并记为u,点A2、A3相对于点B2的索引差值相等并记为v,且v=u。

其中,利用中心点以及非中心点的坐标值,计算畸变图像的畸变量包括:

根据如下公式计算出畸变图像垂直方向的畸变量:

Vertical=100%*(DisA1A4+DisA2A3)/(2*DisB1B3)

其中,DisA1A4表示点A1和A4的之间距离,DisA2A3表示点A2和A3之间的距离,DisB1B3表示点B1和B3之间的距离,Vertical表示畸变图像垂直方向的畸变量;

根据如下公式计算出畸变图像水平方向的畸变量:

Horizontal=100%*(DisA1A2+DisA3A4)/(2*DisB2B4)

其中,DisA1A2表示点A1和A2的距离,DisA3A4表示点A3和A4的距离,DisB2B表示点B2和B4的距离,Horizontal表示畸变图像水平方向的畸变量。

其中,获取测试卡通过透镜产生畸变后的畸变图像包括:

采用高像素的工业相机,相机中心、透镜中心以及测试卡中心重合,通过透镜拍摄测试卡,得到畸变图像。

其中,当中心点以及非中心点为黑色的点时,将所有像素点平均值中的最小平均值所在的扫描区域的中心确定为中心黑点的中心,并确定中心黑点中心的坐标值。

本发明还提供一种测量透镜畸变的系统,应用上述的方法测量透镜畸变,该系统包括:

测试卡,具有K×N个点构成的点阵图案;

成像装置,用于获取测试卡通过透镜产生畸变后的畸变图像;

图像处理装置,用于以畸变图像左上角的点为坐标原点,以原点向右为X轴正方向,以原点向下为Y轴正方向构建畸变图像的平面坐标系;基于中心点与所有非中心点的物理相对位置不变的关系,采用坐标定位方式,通过扫描检索定位畸变图像的中心点以及所有非中心点,并确定中心点以及所有非中心点在平面坐标系中的坐标值;以及利用中心点以及非中心点的坐标值,计算畸变图像的畸变量,进而得到透镜的畸变量。

本发明的这种测量透镜畸变的方法及系统,能够快速、准确的定位测试卡上的所有点,实际误差范围达到亚像素级别,达到快速的计算畸变图像的畸变量,真实反应出透镜的畸变的目的。

附图说明

图1是本发明一个实施例提供的一种测量透镜畸变的方法的流程图;

图2是本发明一个实施例提供的测试卡的示意图;

图3是本发明一个实施例提供的获取畸变图像的示意图;

图4是本发明一个实施例提供的测试卡经过透镜畸变后的畸变图像示意图;

图5是本发明一个实施例提供的对畸变图像的黑点进行定位的模型图;

图6是本发明一个实施例提供的定位出的所有黑点实物图;

图7是本发明一个实施例提供的黑点坐标缓存的示意图;

图8是本发明一个实施例提供的畸变图像畸变量计算的参照图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明的核心思想是利用一种新的畸变图像测试卡,该测试卡上设置有黑点这些黑点组成点阵图案,并基于该测试卡进行坐标定位,快速识别出畸变图像的所有黑点的坐标,并根据所有黑点的坐标计算出畸变图像的畸变量。本发明的这种测量方法能够快速的找到测试卡上的黑点,加快畸变量测量的处理速度,提高测量精度。

图1是本发明一个实施例提供的一种测量透镜畸变的方法的流程图;参见图1,该方法包括:

步骤S110,设置具有K×N个点构成的点阵图案的测试卡,K与N均为自然数,K等于或不等于N;

步骤S120,获取测试卡通过透镜产生畸变后的畸变图像;

步骤S130,以畸变图像左上角的点为坐标原点,以原点向右为X轴正方向,以原点向下为Y轴正方向构建畸变图像的平面坐标系;

步骤S140,通过扫描检索定位畸变图像的中心点以及所有非中心点,并确定中心点以及所有非中心点在平面坐标系中的坐标值;

步骤S150,利用中心点以及非中心点的坐标值,计算畸变图像的畸变量,进而得到透镜的畸变量。

通过构建畸变图像平面坐标系,快速识别畸变图像中所有的点,并计算畸变图像上所有点的坐标值,该测量方法计算量少,进而提高了畸变图像测量时的速度,同时,采用K×N个点构成的点阵图案的测试卡保证了测量精度的提高。

图2是本发明一个实施例提供的测试卡的示意图;参见图2,显示了本实施例中所使用的测试卡的局部:一个21行和21列的黑色的点构成的方阵,1表示方阵的中心黑点;中心黑点的半径比其他所有非中心黑点的半径大,以便于在拍摄畸变图像时将其与相机中心对齐,另外,中心黑点半径较大也便于在利用图像处理技术进行计算处理时识别其为中心点。可以理解,图2只是本实施例截取的透镜拍摄到的测试卡的畸变图像中间的部分,由于透镜导致测试卡的畸变,畸变图像边缘部分会呈现近似圆形的形状,中间部分近似矩阵排列。

在头戴显示类产品等其他类似智能显示产品使用高分辨率的LCD屏显示图像时,需要经过透镜放大,以便用户能观看到清晰的图像,但透镜将图像放大的同时,会使图像产生畸变。本发明的方法是对畸变图像畸变量的测量,在进行测量前需要获取畸变图像。图3是本发明一个实施例提供的获取畸变图像的示意图,参见图3,高像素(例如1千万像素)的工业相机31通过透镜32拍摄置于头戴显示类产品LCD屏33上的测试卡,将测试卡图片的中心与所述相机31的中心以及透镜32的中心重合,则此时拍摄到的畸变图像就能准确表示透镜造成图像的畸变量。

图4是本发明一个实施例提供的测试卡经过透镜畸变后的畸变图像示意图,图4能最大反映出计算透镜畸变的合适区域,边缘上四个角的点尽可能的靠近图像边缘,且两两处于边缘上最外围且最完整的同一基准线,一般为F×F的点阵区域,F为奇数;参见图4,测试卡经过透镜放大的同时也发生了枕形畸变,畸变使得测试卡上的黑点位置发生偏移,并且每个黑点偏移的位置不一样,畸变图像上四周边缘位置的黑点的畸变程度最严重。本发明采用坐标定位方式定位该畸变图像上所有黑点的坐标值,在测试卡经过透镜发生了畸变后的畸变图像上,中心点以及其他非中心点的物理相对位置是不变的,具体的坐标值可能发生了变化,利用坐标定位技术定位出所有黑点的坐标,由于黑点的相对物理位置不变,而实际的坐标值发生了改变,利用改变的所有黑点的坐标值以及畸变量计算公式得到该畸变图像的畸变量值,并进而得到透镜的畸变量,从而调整畸变图像以减小还原为正常图像时的误差。

下面结合图5和图6具体说明对畸变图像的所有黑点进行定位:图5是本发明一个实施例提供的对畸变图像的黑点进行定位的模型图;图6是本发明一个实施例提供的定位出的所有黑点实物图;

扫描检索定位畸变图像的中心点以及所有非中心点的方法具体为:设定一个以畸变图像中心的坐标值为中心的正方形检索区域;正方形检索区域的边长的一半大于等于中心点半径的2倍;以正方形检索区域的左上角的一点为中心,设定一个边长的一半为中心点半径的正方形扫描区域,以扫描区域的中心为扫描起始点,扫描该扫描区域内的图像并计算该区域内图像所有像素点的平均值;在检索区域内,按照顺序移动扫描区域的中心,直至扫描完检索区域,比较扫描区域每次获取到的像素点平均值,并将所有像素点平均值中的最小平均值或者最大平均值所在的扫描区域的中心确定为中心点的中心,并确定中心点中心的坐标值,将中心点中心的坐标值定位为中心点的坐标值。

以此类似的方法,定位出所有非中心点的坐标值。

参见图5,在本实施例中,测试卡上中心点和非中心为黑色的点,在图5所示的中心黑点所在的黑色区域中,以黑点的半径52的2倍或者比黑点半径(即正方形边长的一半)2倍更大的半径51定义一个正方形的检索区域,以该检索区域左上角的一点为中心,定义一个以黑点半径(即正方形边长的一半)为半径53的方形扫描区域,在该半径(即正方形边长的一半)较大的检索区域内,按照从上到下、从左到右的顺序依次移动该扫描区域的中心进行扫描;每扫描一次,记录一个该扫描区域内所有像素点的平均值;直至将该检索区域扫描完毕,比较每次扫描区域获取到的平均像素值中最小平均值所在的扫描区域,以该扫描区域的中心确定为中心黑点的中心,完成中心黑点的定位,计算该中心黑点坐标值并保存。可以理解,在应用本发明的方法时,测试卡上的点的颜色不限于黑色这一种,因而在对测试卡上的点进行定位时,应该根据具体点颜色的像素值选取平均值最小或者最大的扫描区域作为中心点的中心点,在本实施例中,测试卡上点的颜色为黑色,那么扫描区域包含的黑色部分越多,像素值较小,纯黑的像素值为0。在本发明的其他实施例中,测试卡的底色可能为其他色,中心点以及非中心点的颜色例如白色这种情况下,在利用扫描区域进行定位时,将扫描区域像素点平均值中最大平均值(白色的像素值为255)所在的扫描区域的中心定位为中心点的中心。

与定位中心黑点的方法类似,定位出所有非中心黑点,具体如下:以中心黑点的中心为基准,以特定的步长,向左移动正方形检索区域,定位出与中心黑点的同一行的左边所有非中心黑点,并确定非中心黑点的坐标值;然后向右移动正方形检索区域,定位出中心黑点同一行的右边所有非中心黑点,并确定非中心黑点的坐标值;以中心黑点的中心为基准,以特定的步长,向下移动正方形检索区域,定位出中心黑点所在行的下一行所有非中心黑点,并确定非中心黑点的坐标值;以中心黑点的中心为基准,以特定的步长,向上移动正方形检索区域,定位出中心黑点所在行的上一行所有非中心黑点,并确定非中心黑点的坐标值。

在定位非中心黑点时,选取的正方形的检索区域的边长的一半为非中心黑点的半径2倍或者更大的值。在移动检索区域时的特定步长是指畸变图像上每两个黑点中心之间的距离,它是一个预先设定的经验值,每次移动这个距离可以避免不必要的扫描,提高扫描区域扫描的速度和效率。

图6是本发明一个实施例提供的定位出的所有黑点实物图;参见图6,定位出中心黑点和所有非中心黑点后用圆圈进行标注。通过上述步骤确定中心黑点以及非中心其他黑点的坐标值并保存。

在对坐标值进行保存时,本发明一个实施例采用二维数组的方式进行存储,图7是本发明一个实施例提供的黑点坐标缓存的示意图;参见图7示例性的选取了畸变图像上的几个点,将选取的这些点的坐标值按照在畸变图像上的相对物理位置进行保存,先在缓存中定义一个长度能够至少包含所有点的二维数组,(根据应用场景的不同,畸变图像上黑点的数量不同,设置不同长度的二维数组)例如本实施例中,定义了一个长度为41的二维数组array[41][41],定义了二维数组后,先将中心黑点的坐标进行存储,在存储时找到二维数组的最中间位置array[21][21],将中心黑点的坐标放入数组array[21][21],将畸变图像中心黑点同一行的左边那个黑点的坐标放入array[20][21]中,以此类推,将畸变图像上其他黑点的坐标值放入二维数组中,建立畸变图像黑点与二维数组的索引关系。

图8是本发明一个实施例提供的畸变图像畸变量计算的参照图,参见图8,在得到所有黑点的坐标值后,观察畸变图像,选取畸变图像上畸变最能表现畸变程度的几个关键点,参见图8,快速查找缓存中二维数组,先找到能最大程度反映计算透镜畸变的四个点A1、A2、A3、A4,这四个点应尽可能的靠近畸变图像边缘,即A1、A2、A3、A4这四个点所限定的区域能最大反映出计算透镜畸变的合适区域,A1、A2、A3、A4这四个点两两处于边缘上最外围且最完整的同一基准线上并定义出选取的该基准线的末端),并同时满足以下条件:

A1、A2、A3、A4这四个点两、两处于同一基准线;点A1与点A2连线与中心点所在的竖直基准线相交的点记为B1;点A2与点A3连线与中心点所在的水平基准线相交的点记为B2;同理,确定出B3和B4点。点A1、A2相对于B1点的索引差值相等记为m,点A3、A4相对于B3点的索引差值相等记为n,并且m=n=9,B1、O(中心黑点)、B3这三点位于同一基准线;同理,A1、A4相对B4点索引差值相等记为u,A2、A3相对于B2点的索引差值相等记为v,并且v=u=9,且B2、O(中心黑点)、B4这三点位于同一基准线,索引差值为9表示中心黑点距离B1点相隔9个黑点。实际中,B1、B2、B3、B4可以看成是四个点A1、A2、A3、A4两、两所在的同一基准线上的中间点(或称中点),即点A1与点A2所在的基准线的中心点为B1,点A2与点A3所在的基准线的中间点为B2,点A3与点A4所在的基准线的中间点为B3,点A1与点A4所在的基准线的中间点为B4。

得到上面关键点A1-A4和B1-B4的坐标值后,根据畸变量计算公式进行计算:

根据如下公式计算出畸变图像水平方向的畸变量:

Horizontal=100%*(DisA1A2+DisA3A4)/(2*DisB2B4)

其中,DisA1A2表示点A1和A2的距离,DisA3A4表示点A3和A4的距离,DisB2B4表示点B2和B4的距离,Horizontal表示畸变图像水平方向的畸变量。

同理,根据如下公式计算出畸变图像垂直方向的畸变量:

Vertical=100%*(DisA1A4+DisA2A3)/(2*DisB1B3)

其中,DisA1A4表示点A1和A4的距离,DisA2A3表示点A2和A3的距离,DisB1B3表示点B1和B3的距离,Vertical表示畸变图像垂直方向的畸变量。

计算得到畸变图像的水平方向的畸变量和垂直方向的畸变量后,即可得到该畸变图像的畸变量,进而得到透镜的畸变量,对该畸变图像进行调整,以更好的还原图像,减小误差。

本发明一个实施例还提供了一种测量透镜畸变的系统,应用图1所示的方法测量透镜畸变,该系统包括:

测试卡,具有K×N个点构成的点阵图案;

成像装置,用于获取测试卡通过透镜产生畸变后的畸变图像;

图像处理装置,用于以畸变图像左上角的点为坐标原点,以原点向右为X轴正方向,以原点向下为Y轴正方向构建畸变图像的平面坐标系;通过扫描检索定位畸变图像的中心点以及所有非中心点,并确定中心点以及所有非中心点在平面坐标系中的坐标值;以及利用中心点以及非中心点的坐标值,计算畸变图像的畸变量,进而得到透镜的畸变量。

综上,本发明的这种测量透镜畸变的方法及系统,基于畸变图像定义了新的平面坐标系,利用坐标定位,快速、准确的找到测试卡上的点,加快图像处理的速度和效率;而且误差范围达到亚像素级别,提高了测量精度;另外利用缓存数组存储图像上点的坐标信息,方便快速查找图像点的坐标并计算畸变图像的畸变量,较真实的反映出透镜的畸变程度。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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