CN113706625A - 一种镜头畸变校正方法及装置 - Google Patents
一种镜头畸变校正方法及装置 Download PDFInfo
- Publication number
- CN113706625A CN113706625A CN202110858733.9A CN202110858733A CN113706625A CN 113706625 A CN113706625 A CN 113706625A CN 202110858733 A CN202110858733 A CN 202110858733A CN 113706625 A CN113706625 A CN 113706625A
- Authority
- CN
- China
- Prior art keywords
- points
- point
- characteristic point
- curve
- interpolating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012937 correction Methods 0.000 title claims abstract description 37
- 239000011159 matrix material Substances 0.000 claims abstract description 68
- 238000012360 testing method Methods 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 abstract description 10
- 238000013507 mapping Methods 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种镜头畸变校正方法及装置,所述方法包括:基于镜头拍摄的测试图,获得特征点矩阵。基于二次B样条曲线原理对特征点矩阵进行插值,获得特征点地图;其中,特征点矩阵的第一特征点与二次B样条曲线的型值点对应;基于特征点地图中的第二特征点,对镜头拍摄的待校正图像进行校正,获得校正图像。本发明在校正的过程中使用了通过二次B样条曲线原理得到的特征点地图,该特征点地图具有较高的映射精度,使用该特征点地图进行校正时不需要进行大量的计算,计算开销小。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种镜头畸变校正方法及装置。
背景技术
广角镜头所拍摄的图片一般会产生畸变。目前,业界进行畸变矫正时是利用小孔成像或鱼眼相机模型,根据预先拍摄的图片求出相机的畸变参数,然后再利用该畸变参数对每个像素进行畸变矫正。
但是,目前的矫正方法在完成畸变校正时,构建的校正模型过于复杂,存在计算量大和精度差的问题。
发明内容
鉴于上述问题,本发明提出了一种镜头畸变校正方法及装置,获取的校正模型简单,计算开销小、校正映射精度高。
第一方面,本申请通过一实施例提供如下技术方案:
一种镜头畸变校正方法,包括:
基于镜头拍摄的测试图,获得特征点矩阵;基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图;其中,所述特征点矩阵的第一特征点与所述二次B样条曲线的型值点对应;基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像。
可选的,所述测试图中包括阵列点;所述基于镜头拍摄的测试图,获得特征点矩阵,包括:
去除所述测试图中不完整的行阵列点与列阵列点,获得特征点矩阵。
可选的,所述基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图,包括:
基于二次B样条曲线原理对所述特征点矩阵的行阵列点进行拟合,获得行曲线;对所述行曲线进行插值,获得第一新增点;基于二次B样条曲线原理对所述特征点矩阵的列阵列点以及第一新增点进行拟合,获得列曲线;对所述列曲线进行插值,获得第二新增点;根据所述行阵列点、所述列阵列点、所述第一新增点和所述第二新增点,获得所述特征点地图。
可选的,所述对所述行曲线进行插值,获得第一新增点,包括:
基于预设区域的目标阵列点,获取行目标阵列点之间的第一平均距离;基于所述第一平均距离,确定相邻所述行阵列点之间的第一插值数量;基于所述第一插值数量对所述行曲线进行插值,获得所述第一新增点。
可选的,所述对所述列曲线进行插值,获得第二新增点,包括:
基于预设区域的目标阵列点,获取列目标阵列点之间的第二平均距离;基于所述第二平均距离,确定相邻所述列阵列点之间的第二插值数量;基于所述第二插值数量对所述列曲线进行插值,获得所述第二新增点。
可选的,所述目标阵列点包括:
目标特征点;所述目标特征点为距离所述测试图几何中心最近的第一特征点;在所述测试图长度方向上距离所述目标特征点最近的两个第一特征点;在所述测试图宽度方向上距离所述目标特征点最近的两个第一特征点。
可选的,所述基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图,包括:
基于二次B样条曲线原理对所述特征点矩阵的列阵列点进行拟合,获得列曲线;对所述列曲线进行插值,获得第三新增点;基于二次B样条曲线原理对所述特征点矩阵的行阵列点以及第三新增点进行拟合,获得行曲线;对所述行曲线进行插值,获得第四新增点;根据所述行阵列点、所述列阵列点、所述第三新增点和所述第四新增点,获得所述特征点地图。
可选的,所述基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像,包括:
基于所述第二特征点,在所述待校正图像中获取所述第二特征点对应的像素值;基于所述第二特征点对应的像素值,获得所述校正图像。
第二方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种镜头畸变校正装置,包括:
获取模块,用于基于镜头拍摄的测试图,获得特征点矩阵;插值模块,用于基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图;其中,所述特征点矩阵的第一特征点与所述二次B样条曲线的型值点对应;校正模块,用于基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像。
第三方面,基于同一发明构思,本申请通过一实施例提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本发明实施例中提供的一种镜头畸变校正方法及装置,其首先,基于镜头拍摄的测试图,获得特征点矩阵。然后,基于二次B样条曲线原理对特征点矩阵进行插值,获得特征点地图;其中,特征点矩阵的第一特征点与二次B样条曲线的型值点对应;获取特征点地图的过程简单,并且能够准确的反应待校正图像的实际像素位置,可保证较高的映射校正精度。最后,基于特征点地图中的第二特征点,对镜头拍摄的待校正图像进行校正,获得校正图像。在校正的过程中使用了通过二次B样条曲线原理得到的特征点地图,该特征点地图具有较高的映射精度,使用该特征点地图进行校正时不需要进行大量的计算,计算开销小。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本发明第一实施例提供的一种镜头畸变校正方法的流程图;
图2示出了本发明第一实施例中的一示例性的测试图;
图3示出了图2经过处理后的示意图;
图4~图8示出了抛物样条曲线方法的拟合原理图;
图9示出了本发明第一实施例中的特征点地图的示意图;
图10示出了图2经过校正后得到的校正图像的示意图;
图11示出了本发明第二实施例提供的一种镜头畸变校正装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一实施例
请参见图1,示出了本发明第一实施例提供的一种镜头畸变校正方法的流程图,该方法,包括:
步骤S10:基于镜头拍摄的测试图,获得特征点矩阵。
在步骤S10中,可通过拍摄标定板获得测试图。标定板可为具有特殊图案的光源板,即chart板。其中,特殊图案可以是均匀分布的图案,并且可识别、可提取。例如,特殊图案可为:棋盘格图、圆点阵列图、等等;也即测试图中包含由特殊图案形成的阵列。本实施例中,以标定板为圆点阵列图为例进行说明,如图2所示。镜头拍摄的测试图为畸变图像,用于构建特征点地图。
具体的,阵列图中每个特殊图案的几何中心或角点坐标位置为阵列点。例如,在棋盘格中可以棋盘格的格子四角的点,即角点为阵列点,也可以格子的几何中心点为阵列点。本实施例中,以圆点阵列图的圆点几何中心所在位置为阵列点,如图2所示。进一步的,去除测试图中不完整的行阵列点与列阵列点,去除不完整的阵列点的方式为:整行去除不完整的行阵列点,整列去除不完整的列阵列点,去除完成后可得到M行、N列的第一特征点,如图3所示,其中边缘A区域为去除部分,B区域为保留部分。然后,基于该M行、N列的第一特征点的坐标可得到特征点矩阵,矩阵中每个元素的值表示一个第一特征点的坐标。
在畸变校正过程中去除不完整的阵列点,可保证畸变校正后的图像能够显示为规则的矩形区域。同时,在不完整的阵列点中,一般会存在几何形状不完整的特征点,比如图片边沿处的圆未完整拍出来,如图2所示。那么计算出来的它的几何中心坐标就是错误的,去除不完整的阵列点后可提高畸变校正的准确度。
步骤S20:基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图;其中,所述特征点矩阵的第一特征点与所述二次B样条曲线的型值点对应。
在步骤S20中,采用二次B样条曲线原理,也即抛物样条曲线方法。具体的,设有P1,P2,…,Pn共n个型值点。为了保证端部点可进行插值处理,可将型值点扩展为P0,P1,P2,…,Pn,Pn+1共n+2个型值点,其中P0=P1,Pn+1=Pn。n+2个型值点可以确定该n-1段曲线,如图4所示。型值点扩展的方式不作限制,例如可利用自由端条件进行扩展,也即让补点P0和Pn+1与原两端点P1和Pn分别重合。
任一段曲线包含起点Q1、中间点Q2以及终点Q3,如图5所示,一段曲线可表示为:
P(t)=A1+A2t+A3t2,(0≤t≤1);
其中,A1、A2、A3为表达式的系数,且为向量形式。确定系数A1、A2、A3的三个独立条件:参变量t=0时,曲线过Q1;参变量t=1时,曲线过Q3;参变量t=0.5时,曲线过Q2,且切矢量等于Q3-Q1。基于上述独立条件可得到方程:
t=0:P(0)=A1=Q1;
t=1:P(1)=A1+A2+A3=Q3;
t=0.5:P(0.5)=A1+0.5A2+0.25A3=Q2;
可得到系数:
A1=Q1;
A2=4Q2–Q3–3Q1;
A3=2Q1+2Q3–4Q2;
由此可得:
P(t)=(2t2–3t+1)Q1+(–4t2+4t)Q2+(2t2–t)Q3
得到的曲线P(t)为独立的曲线,向量的两端曲线之间没有连接,如图6所示。因此,还需要将相邻的两段曲线进行平滑过渡。请继续参阅图7,本实施例中对两段相邻曲线进行加权合成,如下:
如经过四点的两条抛物线段分别为Si(ti)和Si+1(ti+1),在加权合成过程中,首先要选择两个合适的权函数。可选择的两个权函数分别设为f(T)和g(T),加权合成后的曲线用Pi+1(t)表示,则:
Pi+1(t)=f(T)·Si(ti)+g(T)·Si+1(ti+1)
在抛物样条曲线中,权函数f(T)和g(T)都是简单的一次函数,且它们之间存在互补性。它们分别为:f(T)=1–T,g(T)=T(0≤T≤1);因此可得:
Pi+1(t)=(1–T)·Si(ti)+T·Si+1(ti+1)
进一步的,选用t将三个参变量T、ti、ti+1进行统一化为含有t的形式,并给定t的合理取值范围。假如t的取值范围为:0≤t≤0.5,则三个参变量可统一形式为:
T=2t;
ti=0.5+t;
ti+1=t;
因此有:
Pi+1(t)=(1–2t)·Si(t+0.5)+2t·Si+1(t)
Si(t+0.5)=(2t2–t)Pi+(1–4t2)Pi+1+(2t2+t)Pi+2
Si+1(t)=(2t2–3t+1)Pi+1+(4t–4t2)Pi+2+(2t2–t)Pi+3
可得到在Pi+1到Pi+2段的曲线插值表达式如下:
Pi+1(t)=(–4t3+4t2–t)Pi+(12t3–10t2+1)Pi+1+(–12t3+8t2+t)Pi+2+(4t3–2t2)Pi+3
其中,i=1,2,…,n–3,0≤t≤0.5;如图8所示。
在步骤S20中,也即基于上述的Pi+1(t),对特征点矩阵进行插值处理,获得特征点地图。具体的,在插值的过程中需要对M行、N列的第一特征点形成的曲线分别进行插值。
对行特征点进行插值和对列特征点进行插值的先后顺序不作限制。当先对行特征点进行插值时,步骤S20执行过程包括如下的子步骤:
步骤S21a:基于二次B样条曲线原理对所述特征点矩阵的行阵列点进行拟合,获得行曲线;
步骤S22a:对所述行曲线进行插值,获得第一新增点;
步骤S23a:基于二次B样条曲线原理对所述特征点矩阵的列阵列点以及第一新增点进行拟合,获得列曲线;
步骤S24a:对所述列曲线进行插值,获得第二新增点;
步骤S25a:根据所述行阵列点、所述列阵列点、所述第一新增点和所述第二新增点,获得所述特征点地图。
在步骤S21a-S24a中,行曲线为一行的多个阵列点和该行扩展的两个扩展点拟合形成的曲线;列曲线为一列的多个阵列点、该列扩展的两个扩展点以及第一新增点拟合形成的曲线。M行分别拟合可得到M条行曲线,进行行曲线的插值后得到的第一新增点可构成新的列;也即在步骤S23a中,不仅拟合矩阵的列阵列点,还需要拟合第一新增点可构成新的列,从而形成列曲线的数量为:M+K,K为一行中的第一新增点的数量。
针对每条曲线进行插值时,需要确定对相邻的两个阵列点之间的插值数量,插值的数据可根据相邻阵列点之间的间距确定,也可进行任意的预设。相邻阵列点之间的间距为像素距离。为了实现较好的效果,本实施例中提供如下执行插值的方式:
首先,基于预设区域的目标阵列点,获取行目标阵列点之间的第一平均距离;以及基于预设区域的目标阵列点,获取列目标阵列点之间的第二平均距离。
其中,目标区域为测试图上的任一未发生畸变或畸变较小的区域。例如,在本实施例中可取测试图的中心区域作为目标区域;也可以根据镜头的成像特点标确定一目标区域,例如所标定的目标区域相对于中心区域具有一定偏移。目标区域的大小形状不做限制。例如,目标区域的长度为中心位置的1/10~1/2长度,如1/5长度;目标区域的宽度为中心位置的1/10~1/2宽度,如1/5宽度。又如,目标区域的长度为中心位置宽度方向以及长度方向上的预设数量的阵列点所在的区域,预设数量可为4个、6个、10个、20个、等等,不作限制。在目标区域内的阵列点即为目标阵列点,然后计算可得到目标阵列点中各个行阵列点之间的第一平均距离,以及可得到目标阵列点中各个列阵列点之间的第二平均距离。
然后,基于第一平均距离,确定相邻行阵列点之间的第一插值数量,以及基于第二平均距离,确定相邻列阵列点之间的第二插值数量。
其中,由于目标区域也可能存在较小的畸变,取得的第一平均距离可能为小数,因此需要对第一平均距离进行四舍五入的取整,保证得到较优的插值数量。另外,也可进行进一位的取整,不作限制。然后,将对第一平均距离取整后得到的结果作为相邻行阵列点之间的第一插值数量。同样的,可对第二平均距离进行取整,可得到第二插值数量。本实施例中通过第一插值数量和第二插值数量进行插值,可保证在图像中心区域与原图像尽可能的接近,保留图片中心的细节质量。
进一步的,在本实施例中可将目标区域确定为测试图上的中心位置最近的第一特征点和该特征点上、下、左、右所在的区域;也即目标阵列点包括:目标特征点,目标特征点为距离测试图几何中心最近的第一特征点;在测试图长度方向上距离目标特征点最近的两个第一特征点;在测试图宽度方向上距离目标特征点最近的两个第一特征点。
具体的,遍历特征点矩阵的所有第一特征点,查找距离测试图中心最近的点,即图片宽、高一半位置的点,记为Center特征点。接着,再遍历所有第一特征点查找距离Center特征点最近的4个特征点P1,P2,P3,P4。其中,分布在Center特征点左、右位置的点为P1,P2;分布在Center特征点上、下位置的点P3,P4。最后,根据左右特征点P1,P2的X方向坐标差确定X方向插入的第一插值数量,根据上下特征点P3,P4的Y方向坐标差确认Y方向的插入的第二插值数量。
最后,基于第一插值数量对行曲线进行插值,获得第一新增点,以及基于第二插值数量对列曲线进行插值,获得第二新增点。
其中,在行曲线的每两个阵列点之间插值第一插值数量的插值点,在列曲线的每两个阵列点或第一新增点之间插值第二插值数量的插值点。进行插值时具体的插值位置如下:
对行曲线进行插值。一条行曲线可分为N-1段,第一插值数量为Ix个。对于每一段而言,将公式Pi+1(t)中的t从0到0.5均分为Ix+1份。则每段插入的插值点的位置为:完成行阵列点之间的插值后,每条行曲线的型值点由N个增加到(N-1)*(Ix+1)+1个,也即特征点矩阵变为M行、(N-1)*(Ix+1)+1列的矩阵,可记为矩阵Array_[M][(N-1)*(Ix+1)+1]。
基于同样的原理,对矩阵Array_[M][(N-1)*(Ix+1)+1]中的列曲线进行插值,列曲线的数量为(N-1)*(Ix+1)+1。一条列曲线可分为M-1段,第二插值数量为Iy个。对于每一段而言,将公式Pi+1(t)中的t从0到0.5均分为Iy+1份。则每段插入的插值点的位置为:完成列阵列点之间的插值后,每条列曲线的型值点由M个增加到(M-1)*(Iy+1)+1个,也即特征点矩阵变为(M-1)*(Iy+1)+1行、(N-1)*(Ix+1)+1列的矩阵,可记为矩阵Array_[(M-1)*(Iy+1)+1][(N-1)*(Ix+1)+1]。完成插值后可得到特征点地图,也即矩阵Array_[(M-1)*(Iy+1)+1][(N-1)*(Ix+1)+1],特征点地图中的每个元素记为第二特征点,如图9所示。第二特征点为二维点坐标,表示待校正图像上a位置到校正后的校正图像上b位置的映射。例如,特征点地图中的点(x,y)的值为(u,v),则表示待校正图像的点(u,v)与校正图像的点(x,y)对应。
需要说明的是,若先进行列特征点插值时,步骤S20执行过程包括如下的子步骤:
步骤S21b:基于二次B样条曲线原理对所述特征点矩阵的列阵列点进行拟合,获得列曲线;
步骤S22b:对所述列曲线进行插值,获得第三新增点;
步骤S23b:基于二次B样条曲线原理对所述特征点矩阵的行阵列点以及第三新增点进行拟合,获得行曲线;
步骤S24b:对所述行曲线进行插值,获得第四新增点;
步骤S25b:根据所述行阵列点、所述列阵列点、所述第三新增点和所述第四新增点,获得所述特征点地图。
在步骤S21a-S24a中,列曲线为一列的多个阵列点和该列扩展的两个扩展点拟合形成的曲线;行曲线为一行的多个阵列点、该行扩展的两个扩展点以及第三新增点拟合形成的曲线。N列分别拟合可得到N条列曲线,进行列曲线的插值后得到的第三新增点可构成新的行;也即在步骤S23a中,不仅拟合矩阵的行阵列点,还需要拟合新的行中的第三新增点,从而形成行曲线的数量为:N+L,L为一列中的第三新增点的数量。
上述步骤S21b-S25b的具体实现方式,可参照前述步骤S21a-S25a中的阐述,本实施例中不再赘述。
步骤S30:基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像。
在步骤S30中,待校正图像为镜头拍摄得到的任意图像。校正图像的图像宽度和特征点地图的宽度相同,图像高度和特征点地图的高度相同。因此,可通过特征点地图实现待校正图像与校正图像之间的映射,在预设的目标空白图中填入像素值获得校正图像。具体的校正实现过程如下:
步骤S31:基于所述第二特征点,在所述待校正图像中获取所述第二特征点对应的像素值。
在步骤S31中,特征点地图中,若第二特征点(x,y)对应待校正图像中点(u,v)的像素值,可获取待校正图像的点(u,v)处的像素值。以此类推,可通过第二特征点的映射,获取校正图像中的所有像素值。
步骤S32:基于所述第二特征点对应的像素值,获得所述校正图像。
在步骤S32中,可首先对第二特征点对应的值进行插值处理,获得校正像素值。本实施例中通过像素亮度的插值可保证地图的精度,由于映射地图中每个第二特征点的值都精确到了亚像素级,也即精确到了像素的小数位,例如某一第二特征点的值是(2.3,4.6),对于像素来说,不存在小数位,因此为了能够从待校正图的位置(2.3,4.6)处拿到像素值,可以进行插值处理。插值处理方式可为双线性插值、三次曲线插值法、最邻近元法或其他图像插值方法,上述插值方法的具体实现均为已知方式,本实施例中不再赘述其实现原理。
例如,一种方式是通过最邻近元法获取像素值,对这个坐标值(2.3,4.6)四舍五入得到点(2,5),从待校正图像中取(2,5)处的像素值,该方法具有效率高的特点。另一种方式为双线性插值,取该坐标值(2.3,4.6)为整数的周围的点的像素值,即待校正图像中的点(2,4)、(3,4)、(2,5)、(3,5)四个点的像素值,按照向上和向下凑整的余数(2.3-2)、(3-2.3)、(4.6-4)、(5-4.6)作为权重,然后加权求和得到坐标值(2.3,4.6)处对应的像素值,该方式具有较高的准确性。
然后,将校正像素值赋值给目标空白图,获得校正图像。将校正像素值按照特征点地图中对应的位置赋值到目标空白图中,即可获得校正图像。
例如,特征点地图Array_(M-1)*(Iy+1)+1[(N-1)*(Ix+1)+1]中,其X行Y列的第二特征点记为P(X,Y),取存储在P(X,Y)处的值Q(U,V)。基于Q(U,V)在待校正图像中获取(U,V)位置和/或其周围点的像素值,然后根据插值方式进行插值处理得到校正图像中(X,Y)位置的像素值,也即需要赋值到目标空白图(X,Y)位置的像素值。以图2作为待校正图像为例,根据特征点地图对该待校正图像进行矫正后可获得的校正图像,如图10所示。
综上所述,本实施例中提供的一种镜头畸变校正方法,首先,基于镜头拍摄的测试图,获得特征点矩阵。然后,基于二次B样条曲线原理对特征点矩阵进行插值,获得特征点地图;其中,特征点矩阵的第一特征点与二次B样条曲线的型值点对应;获取特征点地图的过程简单,并且能够准确的反应待校正图像的实际像素位置,可保证较高的映射校正精度。最后,基于特征点地图中的第二特征点,对镜头拍摄的待校正图像进行校正,获得校正图像。因此,本实施例方法通过二次B样条曲线原理得到的特征点地图简单可靠,具有较高的映射精度,使用该特征点地图进行校正时不需要进行大量的计算,计算开销小。
第二实施例
请参阅图11,基于同一发明构思,本发明第二实施例提供了一种镜头畸变校正装置300。所述镜头畸变校正装置300,包括:
获取模块301,用于基于镜头拍摄的测试图,获得特征点矩阵;插值模块302,用于基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图;其中,所述特征点矩阵的第一特征点与所述二次B样条曲线的型值点对应;校正模块303,用于基于所述特征点地图中的第二特征点和预设的图像模板,对所述镜头拍摄的待校正图像进行校正,获得校正图像。
作为一种可选的实施方式,所述获取模块301,具体用于:
去除所述测试图中不完整的行阵列点与列阵列点,获得特征点矩阵。
作为一种可选的实施方式,所述插值模块302,具体用于:
基于二次B样条曲线原理对所述特征点矩阵的行阵列点进行拟合,获得行曲线;对所述行曲线进行插值,获得第一新增点;基于二次B样条曲线原理对所述特征点矩阵的列阵列点以及第一新增点进行拟合,获得列曲线;对所述列曲线进行插值,获得第二新增点;根据所述行阵列点、所述列阵列点、所述第一新增点和所述第二新增点,获得所述特征点地图。
作为一种可选的实施方式,所述插值模块302,还具体用于:
基于预设区域的目标阵列点,获取行目标阵列点之间的第一平均距离;基于所述第一平均距离,确定相邻所述行阵列点之间的第一插值数量;基于所述第一插值数量对所述行曲线进行插值,获得所述第一新增点。
作为一种可选的实施方式,所述插值模块302,还具体用于:
基于预设区域的目标阵列点,获取列目标阵列点之间的第二平均距离;基于所述第二平均距离,确定相邻所述列阵列点之间的第二插值数量;基于所述第二插值数量对所述列曲线进行插值,获得所述第二新增点。
作为一种可选的实施方式,所述目标阵列点包括:
目标特征点;所述目标特征点为距离所述测试图几何中心最近的第一特征点;在所述测试图长度方向上距离所述目标特征点最近的两个第一特征点;在所述测试图宽度方向上距离所述目标特征点最近的两个第一特征点。
作为一种可选的实施方式,所述插值模块302,还具体用于:
基于二次B样条曲线原理对所述特征点矩阵的列阵列点进行拟合,获得列曲线;对所述列曲线进行插值,获得第三新增点;基于二次B样条曲线原理对所述特征点矩阵的行阵列点以及第三新增点进行拟合,获得行曲线;对所述行曲线进行插值,获得第四新增点;根据所述行阵列点、所述列阵列点、所述第三新增点和所述第四新增点,获得所述特征点地图。
作为一种可选的实施方式,所述校正模块303,具体用于:
基于所述第二特征点,在所述待校正图像中获取所述第二特征点对应的像素值;基于所述第二特征点对应的像素值,获得所述校正图像。
需要说明的是,本发明实施例所提供的一种镜头畸变校正装置300,其具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第三实施例
基于同一发明构思,本发明第三实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一实施例中任一项所述方法的步骤。
需要说明的是,本发明实施例所提供的计算机可读存储介质中,上述程序被处理器执行时每个步骤的具体实现及产生的技术效果和前述方法实施例相同,为简要描述,本实施例未提及之处可参考前述方法实施例中相应内容。
本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种镜头畸变校正方法,其特征在于,包括:
基于镜头拍摄的测试图,获得特征点矩阵;
基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图;其中,所述特征点矩阵的第一特征点与所述二次B样条曲线的型值点对应;
基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像。
2.根据权利要求1所述的方法,其特征在于,所述测试图中包括阵列点;所述基于镜头拍摄的测试图,获得特征点矩阵,包括:
去除所述测试图中不完整的行阵列点与列阵列点,获得特征点矩阵。
3.根据权利要求1所述的方法,其特征在于,所述基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图,包括:
基于二次B样条曲线原理对所述特征点矩阵的行阵列点进行拟合,获得行曲线;
对所述行曲线进行插值,获得第一新增点;
基于二次B样条曲线原理对所述特征点矩阵的列阵列点以及第一新增点进行拟合,获得列曲线;
对所述列曲线进行插值,获得第二新增点;
根据所述行阵列点、所述列阵列点、所述第一新增点和所述第二新增点,获得所述特征点地图。
4.根据权利要求3所述的方法,其特征在于,所述对所述行曲线进行插值,获得第一新增点,包括:
基于预设区域的目标阵列点,获取行目标阵列点之间的第一平均距离;
基于所述第一平均距离,确定相邻所述行阵列点之间的第一插值数量;
基于所述第一插值数量对所述行曲线进行插值,获得所述第一新增点。
5.根据权利要求3所述的方法,其特征在于,所述对所述列曲线进行插值,获得第二新增点,包括:
基于预设区域的目标阵列点,获取列目标阵列点之间的第二平均距离;
基于所述第二平均距离,确定相邻所述列阵列点之间的第二插值数量;
基于所述第二插值数量对所述列曲线进行插值,获得所述第二新增点。
6.根据权利要求4或5所述的方法,其特征在于,所述目标阵列点包括:
目标特征点;所述目标特征点为距离所述测试图几何中心最近的第一特征点;
在所述测试图长度方向上距离所述目标特征点最近的两个第一特征点;
在所述测试图宽度方向上距离所述目标特征点最近的两个第一特征点。
7.根据权利要求1所述的方法,其特征在于,所述基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图,包括:
基于二次B样条曲线原理对所述特征点矩阵的列阵列点进行拟合,获得列曲线;
对所述列曲线进行插值,获得第三新增点;
基于二次B样条曲线原理对所述特征点矩阵的行阵列点以及第三新增点进行拟合,获得行曲线;
对所述行曲线进行插值,获得第四新增点;
根据所述行阵列点、所述列阵列点、所述第三新增点和所述第四新增点,获得所述特征点地图。
8.根据权利要求1所述的方法,其特征在于,所述基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像,包括:
基于所述第二特征点,在所述待校正图像中获取所述第二特征点对应的像素值;
基于所述第二特征点对应的像素值,获得所述校正图像。
9.一种镜头畸变校正装置,其特征在于,包括:
获取模块,用于基于镜头拍摄的测试图,获得特征点矩阵;
插值模块,用于基于二次B样条曲线原理对所述特征点矩阵进行插值,获得特征点地图;其中,所述特征点矩阵的第一特征点与所述二次B样条曲线的型值点对应;
校正模块,用于基于所述特征点地图中的第二特征点,对所述镜头拍摄的待校正图像进行校正,获得校正图像。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858733.9A CN113706625A (zh) | 2021-07-28 | 2021-07-28 | 一种镜头畸变校正方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110858733.9A CN113706625A (zh) | 2021-07-28 | 2021-07-28 | 一种镜头畸变校正方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113706625A true CN113706625A (zh) | 2021-11-26 |
Family
ID=78650776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110858733.9A Pending CN113706625A (zh) | 2021-07-28 | 2021-07-28 | 一种镜头畸变校正方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113706625A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07282252A (ja) * | 1994-04-13 | 1995-10-27 | Kokusai Electric Co Ltd | 画像データ補正方法及び画像データ補正装置及びその処理方法 |
KR20070102989A (ko) * | 2007-04-06 | 2007-10-22 | 실리콘 옵틱스 인코포레이션 | 2차원 공간변환을 표현하는 시스템과 방법 |
US20090268053A1 (en) * | 2008-04-28 | 2009-10-29 | Omnivision Technologies, Inc. | System and Method For Lens Shading Correction Of An Image Sensor Using Splines |
CN102521794A (zh) * | 2011-11-10 | 2012-06-27 | 广东威创视讯科技股份有限公司 | 基于样条曲面的图像插值方法及装置 |
CN105160700A (zh) * | 2015-06-18 | 2015-12-16 | 上海工程技术大学 | 一种用于三维模型重建的截面曲线重构方法 |
CN107491035A (zh) * | 2017-09-11 | 2017-12-19 | 大连理工大学 | 一种五轴双样条曲线插补轨迹生成方法 |
CN109345461A (zh) * | 2018-09-30 | 2019-02-15 | 中国科学院长春光学精密机械与物理研究所 | 一种图像畸变校正方法、装置、设备及存储介质 |
CN109523492A (zh) * | 2019-01-24 | 2019-03-26 | 重庆邮电大学 | 广角相机非规则畸变全域校正方法 |
CN109859137A (zh) * | 2019-02-14 | 2019-06-07 | 重庆邮电大学 | 一种广角相机非规则畸变全域校正方法 |
CN110246079A (zh) * | 2019-05-23 | 2019-09-17 | 上海交通大学 | 基于b样条曲面拟合的摄像头畸变矫正方法、系统及介质 |
CN110930508A (zh) * | 2019-11-27 | 2020-03-27 | 西安应用光学研究所 | 二维光电视频与三维场景融合方法 |
CN111062866A (zh) * | 2019-11-07 | 2020-04-24 | 广西科技大学鹿山学院 | 一种基于变换矩阵的全景图像拼接的方法 |
CN112835552A (zh) * | 2021-01-26 | 2021-05-25 | 算筹信息科技有限公司 | 一种外积累加求解稀疏矩阵与稠密矩阵内积的方法 |
-
2021
- 2021-07-28 CN CN202110858733.9A patent/CN113706625A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07282252A (ja) * | 1994-04-13 | 1995-10-27 | Kokusai Electric Co Ltd | 画像データ補正方法及び画像データ補正装置及びその処理方法 |
KR20070102989A (ko) * | 2007-04-06 | 2007-10-22 | 실리콘 옵틱스 인코포레이션 | 2차원 공간변환을 표현하는 시스템과 방법 |
US20090268053A1 (en) * | 2008-04-28 | 2009-10-29 | Omnivision Technologies, Inc. | System and Method For Lens Shading Correction Of An Image Sensor Using Splines |
CN102521794A (zh) * | 2011-11-10 | 2012-06-27 | 广东威创视讯科技股份有限公司 | 基于样条曲面的图像插值方法及装置 |
CN105160700A (zh) * | 2015-06-18 | 2015-12-16 | 上海工程技术大学 | 一种用于三维模型重建的截面曲线重构方法 |
CN107491035A (zh) * | 2017-09-11 | 2017-12-19 | 大连理工大学 | 一种五轴双样条曲线插补轨迹生成方法 |
CN109345461A (zh) * | 2018-09-30 | 2019-02-15 | 中国科学院长春光学精密机械与物理研究所 | 一种图像畸变校正方法、装置、设备及存储介质 |
CN109523492A (zh) * | 2019-01-24 | 2019-03-26 | 重庆邮电大学 | 广角相机非规则畸变全域校正方法 |
CN109859137A (zh) * | 2019-02-14 | 2019-06-07 | 重庆邮电大学 | 一种广角相机非规则畸变全域校正方法 |
CN110246079A (zh) * | 2019-05-23 | 2019-09-17 | 上海交通大学 | 基于b样条曲面拟合的摄像头畸变矫正方法、系统及介质 |
CN111062866A (zh) * | 2019-11-07 | 2020-04-24 | 广西科技大学鹿山学院 | 一种基于变换矩阵的全景图像拼接的方法 |
CN110930508A (zh) * | 2019-11-27 | 2020-03-27 | 西安应用光学研究所 | 二维光电视频与三维场景融合方法 |
CN112835552A (zh) * | 2021-01-26 | 2021-05-25 | 算筹信息科技有限公司 | 一种外积累加求解稀疏矩阵与稠密矩阵内积的方法 |
Non-Patent Citations (6)
Title |
---|
MUHAMMAD AMMAD, ET AL.,: ""Cubic B-Spline Curve Interpolation with Arbitrary Derivatives on its Data Points"", 《 2019 23RD INTERNATIONAL CONFERENCE IN INFORMATION VISUALIZATION – PART II》, 26 August 2019 (2019-08-26) * |
孙慧贤;罗飞路;张玉华;: "内窥镜图像非线性畸变数字校正方法", 无损检测, no. 02 * |
方白等: ""基于复合抛物样条的图像放大算法的设计与实现"", 《中央民族大学学报( 自然科学版)》, vol. 22, pages 88 - 93 * |
范勇;张佳成;陈念年;周敬滨;王俊波;: "图像几何畸变校正方法", 计算机工程与应用, no. 29 * |
蔺宏伟, 王国瑾, 董辰世: "用迭代非均匀B-spline曲线(曲面)拟合给定点集", 中国科学E辑, no. 10 * |
黄健民;施法中;宋荆洲;: "基于广义逆矩阵的B样条曲线节点消去算法研究", 中国图象图形学报, no. 03 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11997397B2 (en) | Method, apparatus, and device for processing images, and storage medium | |
CN109035170B (zh) | 基于单网格图分段映射的自适应广角图像校正方法及装置 | |
CN101577004B (zh) | 一种极线矫正方法、装置和系统 | |
CN103530852A (zh) | 一种镜头畸变校正方法 | |
JP2000196939A (ja) | 歪曲収差及び面方向色収差のない画像形成装置及びその方法 | |
CA2220721A1 (en) | Texture mapping of photographic images to cad surfaces | |
JP2008512767A (ja) | 一般的な2次元空間変換の表現システム及び方法 | |
CN115953302A (zh) | 一种多矩阵顶点融合拼接方法、系统、电子设备 | |
CN107256563B (zh) | 基于差异液位图像序列的水下三维重建系统及其方法 | |
CN113706625A (zh) | 一种镜头畸变校正方法及装置 | |
CN110555880B (zh) | 一种焦距未知的p6p相机位姿估计方法 | |
CN115100078B (zh) | 一种曲面屏图像中点阵坐标修正与填补的方法及相关装置 | |
CN107945136B (zh) | 一种鱼眼图像矫正方法、系统、设备及计算机存储介质 | |
JP7003291B2 (ja) | 補正方法および像データを補正するための装置 | |
CN114339205A (zh) | 一种测试图生成方法及装置 | |
CN110555385A (zh) | 一种基于变步长曲率滤波的焊缝特征点求取方法 | |
CN111089563B (zh) | 平面斜视图像测距定位方法及测距定位系统 | |
CN112819900B (zh) | 一种智能立体摄影内方位、相对定向和畸变系数标定方法 | |
US20120098939A1 (en) | Image processing apparatus and method, and program | |
CN113160059A (zh) | 一种水下图像拼接方法、装置及存储介质 | |
CN112465986A (zh) | 一种卫星遥感影像镶嵌的方法及装置 | |
CN112991211A (zh) | 一种工业相机暗角校正方法 | |
CN104809696B (zh) | 图像畸变矫正方法和系统 | |
CN112288791B (zh) | 一种视差图获得方法、基于鱼眼相机的三维模型获得方法及装置 | |
CN109493274A (zh) | 一种基于坐标转换的图像扭曲处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |