图像畸变校正方法和装置转让专利

申请号 : CN201910550603.1

文献号 : CN110276734A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 康健

申请人 : OPPO广东移动通信有限公司

摘要 :

本发明提出一种图像畸变校正方法和装置,其中,方法包括:获取待校正的畸变图像,以及畸变图像中每个像素点的第一坐标;获取与第一坐标对应的第二坐标,其中,第二坐标是与第一坐标对应的无畸变坐标;获取第一坐标与畸变图像中心坐标点的距离,根据平滑处理函数,确定距离对应的平滑处理系数,其中,平滑处理函数用于指示距离与平滑处理系数之间的正比关系;根据平滑处理系数和第二坐标对第一坐标进行平滑校正,获取畸变校正图像。由此,对去畸变图像进行基于像素坐标的校正,提高了去畸变后图像的清晰度,解决现有技术中直接基于插值算法对去畸变图像处理导致畸变校正后的图像清晰度不高的技术问题。

权利要求 :

1.一种图像畸变校正方法,其特征在于,包括以下步骤:获取待校正的畸变图像,以及所述畸变图像中每个像素点的第一坐标;

获取与所述第一坐标对应的第二坐标,其中,所述第二坐标是与所述第一坐标对应的无畸变坐标;

获取所述第一坐标与所述畸变图像中心坐标点的距离,根据平滑处理函数,确定所述距离对应的平滑处理系数,其中,所述平滑处理函数用于指示所述距离与所述平滑处理系数之间的正比关系;

根据所述平滑处理系数和所述第二坐标对所述第一坐标进行平滑校正,获取畸变校正图像。

2.如权利要求1所述的方法,其特征在于,所述获取与所述第一坐标对应的第二坐标,包括:确定拍摄所述畸变图像的相机模组的内参;

根据预设算法对所述内参和所述第一坐标计算,获取所述第二坐标。

3.如权利要求1所述的方法,其特征在于,所述平滑处理函数为:其中,x为所述距离对应的归一化距离,S(x)为所述平滑处理系数。

4.如权利要求1所述的方法,其特征在于,所述根据所述平滑处理系数和所述第二坐标对所述第一坐标进行平滑校正,获取畸变校正图像,包括:根据预设算法对所述平滑处理系数、所述第二坐标和所述第一坐标计算,确定与所述每个第一坐标对应的浮点型坐标;

对所述浮点型坐标插值计算获取所述每个像素点的整数型坐标点和像素值;

根据所述整数型坐标点和像素值获取所述畸变校正图像。

5.如权利要求1所述的方法,其特征在于,所述根据所述平滑处理系数和所述第二坐标对所述第一坐标进行平滑校正,获取畸变校正图像,包括:根据所述平滑处理系数确定所述第二坐标的第一权重和所述第一坐标的第二权重,其中,所述第一权重和所述平滑处理系数成正比关系,所述第二权重和所述平滑处理系数成反比关系;

计算所述第一权重和所述第二坐标的第一乘积,以及所述第二权重和所述第一坐标的第二乘积;

根据所述第一乘积和所述第二乘积之和对所述第一坐标进行平滑校正,获取所述畸变校正图像。

6.一种图像畸变校正装置,其特征在于,包括:

第一获取模块,用于获取待校正的畸变图像,以及所述畸变图像中每个像素点的第一坐标;

第二获取模块,用于获取与所述第一坐标对应的第二坐标,其中,所述第二坐标是与所述第一坐标对应的无畸变坐标;

第三获取模块,用于获取所述第一坐标与所述畸变图像中心坐标点的距离;

确定模块,用于根据预设的平滑处理函数,确定所述距离对应的平滑处理系数,其中,所述平滑处理函数用于指示所述距离与所述平滑处理系数之间的正比关系;

校正模块,用于根据所述平滑处理系数和所述第二坐标对所述第一坐标进行平滑校正,获取畸变校正图像。

7.如权利要求6所述的装置,其特征在于,所述第二获取模块,包括:第一确定单元,用于确定拍摄所述畸变图像的相机模组的内参;

第一获取单元,用于根据预设算法对所述内参和所述第一坐标计算,获取所述第二坐标。

8.如权利要求6所述的装置,其特征在于,所述校正模块,包括:第二确定单元,用于根据预设算法对所述平滑处理系数、所述第二坐标和所述第一坐标计算,确定与所述每个第一坐标对应的浮点型坐标;

第一计算单元,用于对所述浮点型坐标插值计算获取所述每个像素点的整数型坐标点和像素值;

第二获取单元,用于根据所述整数型坐标点和像素值获取所述畸变校正图像。

9.如权利要求6所述的装置,其特征在于,所述校正模块,包括:第三确定单元,用于根据所述平滑处理系数确定所述第二坐标的第一权重和所述第一坐标的第二权重,其中,所述第一权重和所述平滑处理系数成正比关系,所述第二权重和所述平滑处理系数成反比关系;

第二计算单元,用于计算所述第一权重和所述第二坐标的第一乘积,以及所述第二权重和所述第一坐标的第二乘积;

校正单元,用于根据所述第一乘积和所述第二乘积之和对所述第一坐标进行平滑校正,获取所述畸变校正图像。

10.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-5中任一所述的图像畸变校正方法。

11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述的图像畸变校正方法。

说明书 :

图像畸变校正方法和装置

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及一种图像畸变校正方法和装置。

背景技术

[0002] 目前,随着智能终端制造技术的进步,智能终端上设置有相机模组以供用户拍照,其中,智能终端上安装广角摄像头较为普遍。其中,广角镜头相机与传统镜头相机相比,具有更大的视场角(Field of Vision,FOV),但广角镜头畸变较大,图像边缘会产生严重失真。
[0003] 相关技术中,为了补偿广角摄像头拍摄的图像的畸变,需要对图像进行畸变校正处理。当前在智能终端上,仅考虑待测样点周围若干个直接邻点灰度值的影响,而未考虑到各相邻点间灰度值变化率的影响,从而导致插值后图像的高频分量受到损失,图像边缘在一定程度上变得较为模糊。用此方法得到的输出图像与输入图像相比,仍然存在由于插值函数设计考虑不周而产生的图像质量受损与计算精度不高的问题。

发明内容

[0004] 本发明旨在提供一种解决现有技术中直接基于插值算法对去畸变图像处理导致畸变校正后的图像清晰度不高的技术问题的方案。
[0005] 为此,本发明的第一个目的在于提出一种图像畸变校正方法,以解决现有技术中直接基于插值算法对去畸变图像处理导致畸变校正后的图像清晰度不高的技术问题。
[0006] 本发明的第二个目的在于提出一种图像畸变校正装置。
[0007] 本发明的第三个目的在于提出一种电子设备。
[0008] 本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
[0009] 为达上述目的,本发明第一方面实施例提出了一种图像畸变校正方法,包括以下步骤:获取待校正的畸变图像,以及所述畸变图像中每个像素点的第一坐标;获取与所述第一坐标对应的第二坐标,其中,所述第二坐标是与所述第一坐标对应的无畸变坐标;获取所述第一坐标与所述畸变图像中心坐标点的距离,根据平滑处理函数,确定所述距离对应的平滑处理系数,其中,所述平滑处理函数用于指示所述距离与所述平滑处理系数之间的正比关系;根据所述平滑处理系数和所述第二坐标对所述第一坐标进行平滑校正,获取畸变校正图像。
[0010] 本发明第二方面实施例提出了一种图像畸变校正装置,包括:第一获取模块,用于获取待校正的畸变图像,以及所述畸变图像中每个像素点的第一坐标;第二获取模块,用于获取与所述第一坐标对应的第二坐标,其中,所述第二坐标是与所述第一坐标对应的无畸变坐标;第三获取模块,用于计算所述第一坐标与所述畸变图像中心坐标点的距离;确定模块,用于根据预设的平滑处理函数,确定所述距离对应的平滑处理系数,其中,所述平滑处理函数用于指示所述距离与所述平滑处理系数之间的正比关系;校正模块,用于根据所述平滑处理系数和所述第二坐标对所述第一坐标进行平滑校正,获取畸变校正图像。
[0011] 本发明第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的图像畸变校正方法。
[0012] 本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面实施例所述的图像畸变校正方法。
[0013] 本发明实施例提供的技术方案可以包含如下的有益效果:
[0014] 在传统广角畸变校正算法的基础上进行改进,在依然采用双线性插值算法的基础上,通过额外使用加权平滑函数,进行畸变校正处理。相较于传统畸变校正算法,考量了畸变在整幅图像的分布,实现了图像不同区域的区分化畸变校正操作,在保证算法高时效性的基础上,不仅削弱畸变校正后图像的清晰度的损失程度同时也保证了畸变较大的图像区域能够完整消除畸变,实现更好的拍照体验。
[0015] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0016] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0017] 图1为本发明实施例所提供的一种硬件流程示意图;
[0018] 图2是根据本发明一个实施例的图像畸变校正方法的流程图;
[0019] 图3是根据本发明一个实施例的平滑处理函数示意图;
[0020] 图4是根据本发明一个实施例的双线性插值算法示意图;
[0021] 图5是根据本发明一个具体实施例的图像畸变校正方法流程图;
[0022] 图6是根据本发明第一个实施例的图像畸变校正装置的结构示意图;
[0023] 图7是根据本发明第二个实施例的图像畸变校正装置的结构示意图;
[0024] 图8是根据本发明第三个实施例的图像畸变校正装置的结构示意图;
[0025] 图9是根据本发明第四个实施例的图像畸变校正装置的结构示意图。

具体实施方式

[0026] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0027] 下面参考附图描述本发明实施例的图像畸变校正方法和装置。其中,本发明实施例的图像畸变校正方法的应用主体为带有包含广角摄像头相机模组的智能终端,该智能终端可以为手机、笔记本电脑、智能穿戴式设备等。
[0028] 针对现有技术中的直接使用双线性插值算法所得到的畸变校正后的图像清晰度有所损耗的技术问题,本发明提出了一种新型的畸变校正方法,通过引入加权平滑函数,实现图像不同区域进行不同程度的畸变校正,在保证算法高时效性的同时,尽可能减少图像清晰度的损失。
[0029] 其中,本发明实施例的图像畸变校正改进的执行部位为智能终端的CPU,即如图1所示的本方案的硬件流程图所示,在智能终端上,首先由广角相机的cmos sensor进行感光,将光信号转换成raw格式数据;再由ISP对raw格式数据进行处理,将图像转换成yuv格式;然后,由CPU进行计算,通过事先已知的相机内参数对YUV图像进行畸变校正;最后,在畸变校正处理后,将YUV数据送至显示器进行显示,同时经由编码器进行Jpeg格式编码并存储在智能终端的存储器中。
[0030] 具体而言,图2是根据本发明一个实施例的图像畸变校正方法的流程图,本发明实施例的畸变图像处理以广角相机拍摄的畸变图像为例进行说明,如图2所示,该方法包括:
[0031] 步骤101,获取待校正的畸变图像,以及畸变图像中每个像素点的第一坐标。
[0032] 具体的,可以从系统内存中读取相机模组之前拍摄的畸变图像,也可以获取相机模组实时拍摄的畸变图像,畸变图像可以是经过传统的去畸变处理后的图像,由于现有技术中畸变处理后的图像仍然具有畸变,因而,此时本申请中仍然将其定义为畸变图像。进而,基于图像识别算法获取畸变图像中每个像素点的第一坐标。
[0033] 步骤102,获取与第一坐标对应的第二坐标,其中,第二坐标是与第一坐标对应的无畸变坐标。
[0034] 具体的,畸变图像的第一坐标是具有一定畸变的坐标,那么假设当拍摄畸变图像的摄像模组没有拍摄畸变时,第一坐标对应的坐标应当是第二坐标,此时,为了实现对第一坐标的校正,我们可以获取没有畸变的第二坐标。
[0035] 作为一种可能的实现方式,确定拍摄畸变图像的相机模组的内参,该内参决定了第一坐标的畸变程度,我们根据这种内参和畸变程度的对应关系,确定与第一坐标对应的第二坐标。
[0036] 具体而言,在本实施例中,控制相机模组以多个角度拍摄训练物获取多张参考图像,其中,训练物具有较为规律的形状和轮廓标记等,以便于在对应的图像中快速找到标定的参考点,比如,可以是棋盘格图案,从而,每个棋盘格角的像素点都很容易被检测,可以将棋盘格图案中的棋盘格角作为对应的参考点。进一步地,获取各张参考图像中与训练物中的参考点对应的图像坐标,基于参考点的世界坐标是预先测量的,可以基于预存的参考点的世界坐标和图像坐标计算相机模组的内参,该内参可以包括主点的x坐标:cx、主点的y坐标cy、归一化x方向焦距fx、归一化y方向fy、径向畸变的系数k1、k2、k3、切向畸变系数p1、p2,进而,根据预设计算公式对畸变的第一坐标和内参计算,获取第二坐标。
[0037] 举例而言,当训练物为棋盘格,从而,首先使用相机对平面棋盘格图案板拍摄不同角度的6~9张全尺寸图像,确保棋盘格图案充满相机全部FOV,其中,每个棋盘格角的像素点都很容易被检测,可以将棋盘格图案中的棋盘格角作为对应的参考点,对采集得到的6~9张全尺寸参考图像分别进行亚像素尺度的棋盘格角点检测,得到每张图片的棋盘格角点的图像坐标。由于标定的棋盘格是特制的,其角点在三维世界空间上的坐标是事先已知,因此,可以得到棋盘格的参考点的世界坐标。通过求得的参考点图像坐标与参考点的世界坐标,利用图像平面和棋盘格平面的对应关系可以求得相机的内参。
[0038] 进一步地,利用得到的相机内参主点的x坐标:cx、主点的y坐标cy、归一化x方向焦距fx、归一化y方向fy、径向畸变的系数k1、k2、k3、切向畸变系数p1、p2和已知的畸变图像,计算得到原始非畸变图像。具体地,对于第二坐标(u0,v0),其对应的相机坐标(即在相机坐标系下非畸变坐标对应的坐标)为(x0,y0),其中:
[0039] x0=(u0-cx)/fx;
[0040] y0=(v0-cy)/fy;
[0041] 该相机坐标对应的畸变点的坐标为(x’,y’)。其中:
[0042] x’=x0*(1+k1*r^2+k2*r^4+k3*r^6)+2*p1*x0*y0+p2*(r^2+2*x0^2);
[0043] y’=y0*(1+k1*r^2+k2*r^4+k3*r^6)+2*p2*x0*y0+p1*(r^2+2*y0^2);
[0044] 其中r^2=x0^2+y0^2;
[0045] 进一步的,基于求得的畸变点计算其在畸变图像中的畸变坐标(第一坐标)如下:
[0046] ud=fx*x’+cx;
[0047] vd=fy*y’+cy;
[0048] 这样便求得非畸变图像的非畸变坐标点(第二坐标)(u0,v0)对应的畸变坐标(第一坐标)(ud,vd),基于这种对应关系,我们可以计算出第二坐标。
[0049] 作为另一种可能的实现方式,预先根据大量样本图像训练深度模型,该深度模型的输入为畸变的第一坐标,输出为非畸变的第二坐标,因此,可以获取该相机模组对应的深度模型,基于该深度模型确定对应的第二坐标。
[0050] 步骤103,获取第一坐标与畸变图像中心坐标点的距离,根据平滑处理函数,确定距离对应的平滑处理系数,其中,平滑处理函数用于指示距离与平滑处理系数之间的正比关系。
[0051] 可以理解,由于相机模组拍摄机制,越靠近图像的边缘则畸变程度越高,越靠近中心区域,畸变程度越小,因此,可以计算畸变坐标距离畸变图像中心坐标点的距离,根据预设的平滑处理函数和距离计算平滑处理系数,该平滑处理系数用于对畸变图像进行校正处理。
[0052] 需要强调的是,该平滑处理函数用于指示距离与平滑处理系数之间的正比关系,也就是说,越靠近图像的边缘的区域,由于对应的距离越大,则对应的平滑处理系数越大,会得到更强的校正处理,越远离图像的边缘的区域,由于对应的距离越小,则对应的平滑处理系数越小,会得到更弱的校正处理。因此,很显然,上述平滑处理函数可以保证畸变图像由中心到边缘的去校正程度逐渐增强,以保证平滑的过渡,提高图像处理后的真实度,基于平滑处理函数能够实现对畸变图像的平滑校正。
[0053] 在本发明的一个实施例中,可采用如下公式(1)计算距离,其中,在下述公式中,x为当前第一坐标点(ud,vd)到图像中心坐标点(u’,v’)的归一化欧氏距离值:
[0054]
[0055] 进而,作为一种可能的示例,平滑处理函数为下述公式(2),
[0056]
[0057] 其中,x为距离对应的欧氏距离,S(x)为平滑处理系数,其中,本示例中,对应的平滑处理函数如图3所示,其中,在图3中,横轴为欧氏距离,纵轴为平滑处理系数的值,如图3所示,当欧式距离越大,平滑处理系数的值越大,且平滑处理系数的值是平滑增大,保整了后续图像的处理质量。
[0058] 步骤104,根据平滑处理系数和第二坐标对第一坐标进行平滑校正,获取畸变校正图像。
[0059] 具体的,结合平滑处理系数和第二坐标对第一坐标进行平滑校正,此时,由于在畸变校正时结合了非畸变坐标因此能够更好的提高图像的清晰度,且由于平滑处理系数与距离有关,基本上是正相关的函数,且因为广角镜头的相机图像往往中央区域畸变幅度较小,边缘区域畸变幅度较大,而人眼对图像中央区域的清晰度敏感性要高于边缘区域。因此,实现了减弱中央畸变校正的程度,平滑处理系数可以实现,从图像中央点到图像边缘畸变校正程度依次平滑增强。这样既可以保证图像中央的清晰度,同时也保证了图像边缘的畸变校正程度。
[0060] 作为一种可能的实现方式,采用预设的公式对第一坐标进行校正的,该预设的公式(3)如下所示,其中,(u1,v1)为浮点型坐标,(u0,v0)为非畸变坐标,(ud,vd)为畸变坐标,s为平滑系数,基于上述描述,越靠近边缘区域,S越大,则得到的(u1,v1)越接近畸变坐标(ud,vd),对应的校正程度越高,越靠近中央区域,S越小,则得到的(u1,v1)越接近非畸变坐标(u0,v0),对应的校正程度越小:
[0061] (u1,v1)=(ud,vd)*s+(u0,v0)*(1-s)  公式(3)
[0062] 基于成像原理,对浮点型坐标插值计算获取每个像素点的整数型坐标点和像素值,根据整数型坐标点和像素值获取去畸变图像。
[0063] 具体而言,此时(u1,v1)往往为浮点型数值,而实际图像坐标是整数,因此需要从浮点型坐标(u1,v1)邻域像素插值计算得到整数型(u2,v2)坐标点的像素灰度值(RGB可以分别进行插值)双线性插值法可利用待求像素四个相邻像素的灰度在x,y两个方向上作线性内插。
[0064] 其中,示意图如图4,对于未知整数型坐标点(u2,v2),其u,v方向4相邻4个已知计算得到的浮点型坐标点分别为(u1′,v1′)、(u1″,v1′)、(u1′,v1″)、(u1″,v1″)。第一步,在u方向上,对(u1″,v1′)和(u1′,v1′)进行线性插值,得到(u2,v1′),对(u1″,v1″)和(u1′,v1″)进行线性插值,得到(u2,v1″);第二步,在v方向对(u2,v1′)和(u2,v1″)进行线性插值,从而得到整数型坐标点(u2,v2)所对应的像素灰度值。(u2,v2)依次遍历整幅图像全部像素的坐标点,即可得到畸变校正后的图像。
[0065] 由此,在保证算法的高时效性基础上,尽可能地削弱插值后图像清晰度的损耗。作为一种示例,算法具体流程图框架如图5所示,通过张氏标定法得到相机内参:主点坐标cx,cy、焦距fx,fy、径向畸变参数k1,k2,k3、切向畸变参数p1,p2,进而,计算非畸变坐标(u0,v0)在畸变图像的畸变坐标(ud,vd),进而,使用上述实施例所提出的平滑函数对(ud,vd)与(u0,v0)进行加权融合,得到融合后的浮点型坐标(u1,v1),对(u1,v1)进行双线性插值,得到最终畸变校正后图像坐标(u2,v2)。遍历所有坐标点即可得到完整的畸变校正后图像。
[0066] 作为另一种可能的实现方式,根据平滑处理系数确定第二坐标的第一权重和第一坐标的第二权重,其中,第一权重和平滑处理系数成正比关系,第二权重和平滑处理系数成反比关系,计算第一权重和第二坐标的第一乘积,和第二权重和第一坐标的第二乘积,进而,根据第一乘积和第二乘积之和对第一坐标进行平滑校正,获取畸变校正图像。由此,越靠近畸变图像的边缘,越加强第二坐标的考量比例对有关像素点的坐标校正,越靠近中心,越依赖于原有的第一坐标进行有关像素点的保留,由此,保证了图像的真实性,提高了校正图形的平滑度。
[0067] 当然,在本发明的一个实施例中,考虑到在不同的场景中,对畸变图像去畸变处理时中央清晰度高的区域和边缘畸变校正程度较高区域的两个区域大小比例不同,因此,可以获取校正程度,并根据校正调整程度确定校正调整系数。比如,可以提供校正程度的进度条,基于进度条与校正程度的对应关系确定校正调整系数,又比如,可以自动检测畸变图像对应的拍摄对象,基于拍摄对象的类型和颜色不同进行不同的校正程度的确定,比如,拍摄的为人脸图像,校正程度较高,当拍摄的为夜景图像校正程度相对于白天拍摄校正程度较高等。
[0068] 综上,本发明实施例的图像畸变校正方法,获取待校正的畸变图像,以及畸变图像中每个像素点的第一坐标,计算与第一坐标对应的第二坐标,其中,第二坐标是与第一坐标对应的无畸变坐标,进而,计算第一坐标与畸变图像中心坐标点的距离,根据预设的平滑处理函数,确定距离对应的平滑处理系数,其中,平滑处理函数用于指示距离与平滑处理系数之间的正比关系,最后,根据平滑处理系数和第二坐标对第一坐标进行平滑校正,获取畸变校正图像。由此,在传统广角畸变校正算法的基础上进行改进,在依然采用双线性插值算法的基础上,通过额外使用加权平滑函数,进行畸变校正处理。相较于传统畸变校正算法,考量了畸变在整幅图像的分布实现了图像不同区域的区分化畸变校正操作,在保证算法高时效性的基础上,不仅削弱畸变校正后图像的清晰度的损失程度同时也保证了畸变较大的图像区域能够完整消除畸变,实现更好的拍照体验。
[0069] 为了实现上述实施例,本发明还提出一种图像畸变校正装置。图6是根据本发明一个实施例的图像畸变校正装置的结构示意图。如图6所示,该图像畸变校正装置包括:第一获取模块10、第二获取模块20、第三获取模块30、确定模块40和校正模块50,其中,[0070] 第一获取模块10,用于获取待校正的畸变图像,以及畸变图像中每个像素点的第一坐标。
[0071] 具体的,第一获取模块10可以从系统内存中读取相机模组之前拍摄的畸变图像,也可以获取相机模组实时拍摄的畸变图像,畸变图像可以是经过传统的去畸变处理后的图像,由于现有技术中畸变处理后的图像仍然具有畸变,因而,此时本申请中仍然将其定义为畸变图像。进而,第一获取模块10基于图像识别算法获取畸变图像中每个像素点的第一坐标。
[0072] 第二获取模块20,用于计算与第一坐标对应的第二坐标,其中,第二坐标是与第一坐标对应的无畸变坐标。
[0073] 具体的,畸变图像的第一坐标是具有一定畸变的坐标,那么假设当拍摄畸变图像的摄像模组没有拍摄畸变时,第一坐标对应的坐标应当是第二坐标,此时,为了实现对第一坐标的校正,第二获取20可以获取没有畸变的第二坐标。
[0074] 在本发明的一个实施例中,如图7所示,在如图6所示的基础上,第二获取20包括:第一确定单元21、第一获取单元22,其中,
[0075] 第一确定单元21,用于确定拍摄畸变图像的相机模组的内参。
[0076] 第一获取单元22,用于根据预设算法对内参和第一坐标计算,获取第二坐标。
[0077] 具体而言,在本实施例中,控制相机模组以多个角度拍摄训练物获取多张参考图像,其中,训练物具有较为规律的形状和轮廓标记等,以便于在对应的图像中快速找到标定的参考点,比如,可以是棋盘格图案,从而,每个棋盘格角的像素点都很容易被检测,可以将棋盘格图案中的棋盘格角作为对应的参考点。进一步地,第一确定单元21获取各张参考图像中与训练物中的参考点对应的图像坐标,基于参考点的世界坐标是预先测量的,可以基于预存的参考点的世界坐标和图像坐标计算相机模组的内参,该内参可以包括主点的x坐标:cx、主点的y坐标cy、归一化x方向焦距fx、归一化y方向fy、径向畸变的系数k1、k2、k3、切向畸变系数p1、p2,进而,第一获取单元22根据预设计算公式对畸变的第一坐标和内参计算,获取第二坐标。
[0078] 第三获取模块30,用于计算第一坐标与畸变图像中心坐标点的距离。
[0079] 可以理解,由于相机模组拍摄机制,越靠近图像的边缘则畸变程度越高,越靠近中心区域,畸变程度越小,因此,第三获取模块30可以计算畸变坐标距离畸变图像中心坐标点的距离,根据预设的平滑处理函数和距离计算平滑处理系数,该平滑处理系数用于对畸变图像进行校正处理。
[0080] 需要强调的是,该平滑处理函数用于指示距离与平滑处理系数之间的正比关系,也就是说,越靠近图像的边缘的区域,由于对应的距离越大,则对应的平滑处理系数越大,会得到更强的校正处理,越远离图像的边缘的区域,由于对应的距离越小,则对应的平滑处理系数越小,会得到更弱的校正处理。因此,很显然,上述平滑处理函数可以保证畸变图像由中心到边缘的去校正程度逐渐增强,以保证平滑的过渡,提高图像处理后的真实度,基于平滑处理函数能够实现对畸变图像的平滑校正。
[0081] 确定模块40,用于根据预设的平滑处理函数,确定距离对应的平滑处理系数,其中,平滑处理函数用于指示距离与平滑处理系数之间的正比关系。
[0082] 校正模块50,用于根据平滑处理系数和第二坐标对第一坐标进行平滑校正,获取畸变校正图像。
[0083] 具体的,结合平滑处理系数和第二坐标对第一坐标进行平滑校正,此时,由于在畸变校正时结合了非畸变坐标因此能够更好的提高图像的清晰度,且由于平滑处理系数与距离有关,基本上是正相关的函数,且因为广角镜头的相机图像往往中央区域畸变幅度较小,边缘区域畸变幅度较大,而人眼对图像中央区域的清晰度敏感性要高于边缘区域。因此,校正模块50实现了减弱中央畸变校正的程度,平滑处理系数可以实现,从图像中央点到图像边缘畸变校正程度依次平滑增强。这样既可以保证图像中央的清晰度,同时也保证了图像边缘的畸变校正程度。
[0084] 在本发明的一个实施例中,如图8所示,在如图6所示的基础上,校正模块50包括:第二确定单元51、第一计算单元52和第二获取单元53,其中,
[0085] 第二确定单元51,用于根据预设算法对平滑处理系数、第二坐标和第一坐标计算,确定与每个第一坐标对应的浮点型坐标。
[0086] 第一计算单元52,用于对浮点型坐标插值计算获取每个像素点的整数型坐标点和像素值。
[0087] 第二获取单元53,用于根据整数型坐标点和像素值获取畸变校正图像。
[0088] 如图9所示,在如图6所示的基础上,校正模块50包括:第三确定单元54、第二计算单元55和校正单元56,其中,
[0089] 第三确定单元54,用于根据平滑处理系数确定第二坐标的第一权重和第一坐标的第二权重,其中,第一权重和平滑处理系数成正比关系,第二权重和平滑处理系数成反比关系。
[0090] 第二计算单元55,用于计算第一权重和第二坐标的第一乘积,以及第二权重和第一坐标的第二乘积。
[0091] 校正单元56,用于根据第一乘积和第二乘积之和对第一坐标进行平滑校正,获取畸变校正图像。
[0092] 需要说明的是,前述对图像畸变校正方法实施例的解释说明也适用于该实施例的图像畸变校正装置,此处不再赘述。
[0093] 综上,本发明实施例的图像畸变校正装置,在传统广角畸变校正算法的基础上进行改进,在依然采用双线性插值算法的基础上,通过额外使用加权平滑函数,进行畸变校正处理。相较于传统畸变校正算法,考量了畸变在整幅图像的分布,实现了图像不同区域的区分化畸变校正操作,在保证算法高时效性的基础上,不仅削弱畸变校正后图像的清晰度的损失程度同时也保证了畸变较大的图像区域能够完整消除畸变,实现更好的拍照体验。
[0094] 为了实现上述实施例,本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如前述实施例所描述的图像畸变校正方法。
[0095] 为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述方法实施例所描述的图像畸变校正方法。
[0096] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0097] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0098] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0099] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0100] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0101] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0102] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0103] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。