CN115205134A - 相机模组的畸变映射数据生成方法和畸变矫正方法 - Google Patents
相机模组的畸变映射数据生成方法和畸变矫正方法 Download PDFInfo
- Publication number
- CN115205134A CN115205134A CN202210521132.3A CN202210521132A CN115205134A CN 115205134 A CN115205134 A CN 115205134A CN 202210521132 A CN202210521132 A CN 202210521132A CN 115205134 A CN115205134 A CN 115205134A
- Authority
- CN
- China
- Prior art keywords
- distortion
- calibration
- points
- camera module
- image
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012937 correction Methods 0.000 title abstract description 23
- 238000004590 computer program Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 15
- 230000004075 alteration Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 11
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 230000036544 posture Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000084490 Esenbeckia delta Species 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000003702 image correction Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- 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
- G06T2207/10012—Stereo images
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
本申请实施例公开了相机模组的畸变映射数据生成方法和畸变矫正方法。该方法的实施例包括:基于相机模组对标定板拍摄的标定图像,对相机模组进行标定,得到相机模组的参数;查找标定板中的各角点在标定图像中的实际映射点,并基于参数确定各角点在标定图像中的理想映射点;基于实际映射点及理想映射点在标定图像中的坐标,确定各角点对应的畸变偏移量;基于所确定的畸变偏移量,生成相机模组的畸变映射数据。该实施方式提高了所生成的数据的准确性,同时降低了操作难度,基于该数据对畸变图像进行矫正,可提升畸变图像的矫正效果。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及相机模组的畸变映射数据生成方法和畸变矫正方法。
背景技术
随着终端设备的普及以及用户拍照需求的增加,相机模组的种类越来越丰富。在使用各类相机模组进行图像拍摄时,所拍摄的图像通常存在不同程度的畸变。通常需以数据形式对相机模组所拍摄图像的畸变情况进行表达,进而基于该数据对其所拍摄的图像进行畸变矫正。
现有技术中,可采用相机标定方法或基于网格的方法确定出用以对畸变情况进行表达的数据。然而,采用相机标定方法所得到的数据在图像发生不均匀畸变时存在较大误差,导致畸变图像矫正效果较差。基于网格的方法对网格图像的采集操作具有极高要求(如镜头需对网格图垂直拍摄、镜头中心需要正对网格图中的角点等),操作难度较大。
发明内容
本申请实施例提出了相机模组的畸变映射数据生成方法和畸变矫正方法,以解决现有技术中畸变图像矫正效果较差以及数据获取难度较大的技术问题。
第一方面,本申请实施例提供了一种相机模组的畸变映射数据生成方法,该方法包括:基于相机模组对标定板拍摄的标定图像,对所述相机模组进行标定,得到所述相机模组的参数;查找所述标定板中的各角点在所述标定图像中的实际映射点,并基于所述参数确定各角点在所述标定图像中的理想映射点;基于所述实际映射点及所述理想映射点在所述标定图像中的坐标,确定各角点对应的畸变偏移量;基于所确定的畸变偏移量,生成所述相机模组的畸变映射数据。
第二方面,本申请实施例提供了一种畸变矫正方法,该方法包括:获取畸变图像;基于预先生成的畸变映射数据,对所述畸变图像进行矫正,得到矫正图像,所述畸变映射数据基于第一方面中所描述的方法生成。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第二方面中所描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面所描述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第二方面中所描述的方法。
本申请实施例提供的相机模组的畸变映射数据生成方法和畸变矫正方法,通过基于相机模组对标定板拍摄的标定图像,对相机模组进行标定,得到相机模组的参数;而后查找标定板中的各角点在标定图像中的实际映射点,并基于上述参数确定各角点在标定图像中的理想映射点,之后基于实际映射点及理想映射点在标定图像中的坐标,确定各角点对应的畸变偏移量,从而基于所确定的畸变偏移量,生成相机模组的畸变映射数据。一方面,由于所生成的畸变映射数据是在标定结果的基础上结合畸变偏移量得到,因此能够对图像畸变进行更加准确的表达,以此数据进行畸变图像矫正,可提升畸变图像的矫正效果。另一方面,直接使用相机模组依照常规方式采集的标定图像进行畸变偏移量的计算,不需要采集高要求的网格图像,降低了操作的复杂度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是根据本申请的相机模组的畸变映射数据生成方法的一个实施例的流程图;
图2是根据本申请的相机模组的畸变映射数据生成方法中的标定图像的示意图;
图3是根据本申请的畸变矫正方法的一个实施例的流程图;
图4是根据本申请的相机模组的畸变映射数据生成装置的一个实施例的结构示意图;
图5是根据本申请的畸变矫正装置的一个实施例的结构示意图;
图6是用于实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要指出的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(SLAM)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
在人工智能所应用的上述各领域中,通常需要进行图像采集。然而,在使用各类相机模组进行图像拍摄时,所拍摄的图像通常存在不同程度的畸变。通常需以数据形式对相机模组所拍摄图像的畸变情况进行表达,进而基于该数据对其所拍摄的图像进行畸变矫正。本申请提供了一种能够提升畸变图像的矫正效果的相机模组的畸变映射数据生成方法。
请参考图1,其示出了根据本申请的相机模组的畸变映射数据生成方法的一个实施例的流程100。该相机模组的畸变映射数据生成方法可应用于各种电子设备,例如,可包括但不限于:服务器、智能手机、平板电脑、膝上型便携计算机、掌上电脑、台式计算机等。该相机模组的畸变映射数据生成方法,包括以下步骤:
步骤101,基于相机模组对标定板拍摄的标定图像,对相机模组进行标定,得到相机模组的参数。
在本实施例中,相机模组的畸变映射数据生成方法的执行主体(如上述电子设备)可以与相机模组通过有线连接或者无线连接的方式通信连接,以获取相机模组对标定板拍摄的标定图像。其中,相机模组可以是用于进行图像采集的模组。标定板是一种几何模型,用于在机器视觉、图像测量、摄影测量、三维重建等应用中确定镜头畸变以及物理尺寸与像素间的换算关系。例如,可采用棋盘格标定板等。标定图像可以是由上述相机模组拍摄的、以上述标定板为拍摄对象的图像。
在一些场景中,标定图像可以是针对同一个标定板拍摄的多组图像(例如至少三组图像),每组图像所显示的标定板的位置或姿态不同,以保证标定板成像于图像中的各个区域。其中,每组所含的图像数量可由相机模组的摄像头目数决定。作为示例,若相机模组仅配置有单目摄像头,则标定图像可以是由上述相机模组拍摄的、以标定板为拍摄对象的至少三张单目图像。作为又一示例,若相机模组仅配置有双目摄像头,则标定图像可以是由上述相机模组拍摄的、以标定板为拍摄对象的至少三组双目图像。实践中,标定图像可采用多种方式采集。作为示例,可以固定标定板的位置和姿态,通过变换相机模组的位置或姿态,采集多组不同的图像作为标定图像。作为又一示例,可以固定相机模组的位置和姿态,通过变换标定板的位置或姿态,采集多组不同的图像作为标定图像。
在另一些场景中,标定图像也可以是针对多个相同规格且不同姿态的标定板拍摄的一组图像,该组图像中可同时显示有多个相同规格且不同姿态的标定板。作为示例,参见图2所示,标定图像中显示有4个相同规格且不同姿态的标定板。此处,每组所含的图像数量也可由相机模组的摄像头目数决定,此处不再赘述。
在获取到相机模组采集的标定图像后,上述执行主体可以采用张氏标定法等相机标定方法,对相机模组进行标定,得到相机模组的参数。实践中,在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须确定相机参数,求解参数的过程就称之为相机标定。通过相机标定,可得到以下至少一项:相机的内参(可记为K,K为3x3的参数矩阵)、外参(可包括旋转矩阵R和平移矩阵T,R为3x3的参数矩阵,T为3x1的参数矩阵)、畸变系数(可记为D,D为1x8的参数矩阵)。外参可用于将数据从世界坐标系转换为相机坐标系。内参可用于将数据从相机坐标系转换为图像坐标系。其中,世界坐标系是指用户定义的三维世界的坐标系,可描述目标物(例如标定板中的角点)在真实世界里的位置而被引入。相机坐标系是指在相机上建立的坐标系,用于从相机的角度描述物体位置。图像坐标系即为像素坐标系,为了描述成像过程中物体从相机坐标系到图像坐标系的投影透射关系而引入。
需要说明的是,相机模组可配置有任意目数的摄像头,如单目摄像头、双目摄像头、多目摄像头等,此处不作限定。当相机模组中包含至少两目摄像头时,可以分别针对每个摄像头进行标定,得到每个摄像头对应的参数,并分别针对每个摄像头执行如下流程,得到每个摄像头对应的畸变映射系数。
步骤102,查找标定板中的各角点在标定图像中的实际映射点,并基于参数确定各角点在标定图像中的理想映射点。
在本实施例中,上述执行主体可以首先查找标定板中的各角点在标定图像中的实际映射点。具体地,实际映射点在标定图像中的坐标,可基于视觉软件库(如opencv库)中的函数(如findChessboardCorners()函数和cvFindCornerSubpix函数)得到。
而后,上述执行主体可以基于上述参数确定各角点在标定图像中的理想映射点。理想映射点在标定图像中的坐标,可基于上述参数以及角点在世界坐标系中的坐标,通过投影公式计算得到。例如,角点在世界坐标系中的坐标记为X,其在标定图像中的理想映射点的坐标记为P,则投影公式为P=K×[R T]×X。
步骤103,基于实际映射点及理想映射点在标定图像中的坐标,确定各角点对应的畸变偏移量。
在本实施例中,对于每一个角点,上述执行主体可以将该角点在标定图像中的实际映射点的坐标与理想映射点的坐标的差值,确定为各角点对应的畸变偏移量,可记为delta(dx,dy)。其中,dx可表示实际映射点的横坐标与理想映射点的横坐标的差值,dy可表示实际映射点的纵坐标与理想映射点的纵坐标的差值。
在一些可选的实现方式中,在确定各角点对应的畸变偏移量之后,上述执行主体还可以对所得到的畸变偏移量进行平滑处理,以提升畸变矫正效果。具体地,可采用如下步骤进行平滑处理:
第一步,确定各角点对应的畸变偏移量幅值。此处,畸变偏移量的幅值可记为d,d=(dx×dx+dy×dy)1/2。
第二步,基于标定图像的尺寸构建三维空间,并基于各角点对应的畸变偏移量幅值,在三维空间中拟合三维曲面S。作为示例,三维空间的x轴和y轴可为分别对应标定图像的长和宽,该三维空间的z轴表示畸变偏移量幅值。
第三步,基于三维曲面,更新各角点对应的畸变偏移量。具体地,对于每个角点,该角点的畸变偏移量的新的幅值(即平滑后的幅值)可记为newd,newd=S(x,y)。新的畸变偏移量可记为new_delta(new_dx,new_dy)。new_dx为平滑后的畸变偏移量在x轴方向的分量,new_dx=newd×cos(a)。new_dy为平滑后的畸变偏移量在y轴方向的分量,newd*sin(a)。a=atan(dy/dx)。
步骤104,基于所确定的畸变偏移量,生成相机模组的畸变映射数据。
在本实施例中,上述执行主体可以基于所确定的畸变偏移量,生成相机模组的畸变映射数据。畸变映射数据的表示形式此处不作限定,例如,可以以map表形式进行表示。每个角点的畸变偏移量可以与map表中的一个元素相对应。每个像素的key(键)可以是像素点坐标,value(值)可以是该像素点对应的畸变偏移量。
在一些可选的实现方式中,上述执行主体首先可以基于各角点的畸变偏移量,通过插值算法得到上述标定图像中的各非角点的畸变偏移量。此处可采用cubic插值法进行非角点的畸变偏移量的插值。而后,可以基于各角点的畸变偏移量和各非角点的畸变偏移量,生成上述相机模组的畸变映射数据。此时,以map表形式为例,map表中的元素与相机模组所采集图像的像素点可以一一对应。通过插值,可快速得到相机模组所采集图像的全部像素点对应的畸变偏移量,不需要对非角点的映射点记性查找以及负责运算,提升了畸变映射数据的生成效率。
本申请的上述实施例提供的方法,由于所生成的畸变映射数据是在标定结果的基础上结合畸变偏移量得到,因此能够对图像畸变进行更加准确的表达,以此数据进行畸变图像矫正,可提升畸变图像的矫正效果。另一方面,直接使用相机模组依照常规方式采集的标定图像进行畸变偏移量的计算,不需要采集高要求的网格图像,降低了操作的复杂度。
在一些可选的实施例中,在上述步骤101中,可采用如下子步骤S11至子步骤S13对相机模组进行标定,得到相机模组的参数:
子步骤S11,获取相机模组对标定板采集的标定图像。
子步骤S12,确定标定板中的各角点在世界坐标系中的世界坐标和在标定图像中的图像坐标。以棋盘格标定板为例,角点即为棋盘格标定板中各格子的顶点。世界坐标系的原点可设定为棋盘格标定板的左上角角点,棋盘格标定板的长度方向和宽度反向可分别作为世界坐标系的X轴和Y轴。世界坐标系的Z轴可垂直于棋盘格平面。上述执行主体可将棋盘格尺寸可记为(col,row),将棋盘格长度可记为grid_l。由此,每个角点的世界坐标值X=(x=i×grid_l,y=j×grid_l,z=0)。其中,i为[0,col]中的整数,j为[0,row]中的整数。各角点在标定图像中的图像坐标(可记为P0),可基于视觉软件库(如opencv库)中的函数(如findChessboardCorners()函数和cvFindCornerSubpix函数)得到。
子步骤S13,基于所确定的世界坐标和图像坐标,对相机模组进行标定,得到相机模组的参数。此处,可采用张氏标定法完成标定,得到相机模组的参数。以相机模组配置有单目摄像头为例,所得到的参数可记为[K,D,R,T]。其中,K为3x3的内参矩阵,R为3x3的旋转矩阵,T为3x1的平移矩阵,D为1x8的畸变系数矩阵。以相机模组配置有双目摄像头为例,所得到的参数可包括双目摄像头中的主摄像头对应的参数[K1,D1,R1,T1]和副摄像头对应的参数[K2,D2,R2,T2]。其中,K1和K2为3x3的内参矩阵,R1和R2为3x3的旋转矩阵,T1和T2为3x1的平移矩阵,D1和D2为1x8的畸变系数矩阵。
在一些可选的实施例中,在步骤102执行之前,若标定图像中显示有非标定板区域(即标定板成像未占满相机视场角),则还可以对标定板进行虚拟扩展,以更新标定板,从而尽可能地使标定图像各区域均有映射点。此处,虚拟扩展后的标定板可以是虚拟标定板而非实物标定板。例如,可以虚拟地在棋盘格四周扩展1/4,从而根据单元格的尺寸计算并记录更多角点的坐标。
在扩展标定板后,在上述步骤102中,可将位于更新后的标定板的原始区域中的角点作为原始角点,查找各原始角点在上述标定图像中的实际映射点,并基于上述参数确定各原始角点在上述标定图像中的理想映射点。具体地,原始角点在标定图像中的实际映射点可记为P0,其在标定图像中的坐标可基于上述视觉软件库中的函数获取,此处不再赘述。原始角点在标定图像中的理想控制点可记为P1,原始角点在世界坐标系中的坐标可记为X,则P1=K×[R T]×X。
此外,可将位于更新后的标定板的扩展区域中且能够映射至所述标定图像范围内的角点作为扩展角点,基于相机模组的参数,确定各扩展角点在上述标定图像中的实际映射点和理想映射点。具体地,可以首先基于相机模组的内参和外参,确定各扩展角点在上述标定图像中的理想映射点。而后基于相机模组的内参、畸变系数和各扩展角点在标定图像中的理想映射点,确定各扩展角点在上述标定图像中的实际映射点。扩展角点在标定图像中的理想控制点可记为P2,扩展角点在世界坐标系中的坐标可记为X1,则P2=K×[R T]×X1。扩展角点在标定图像中的实际映射点可表示为D{P2},其中,P2表示扩展角点在标定图像中的理想控制点,{}表示使用内参K和畸变系数D对P2添加畸变操作。
进一步地,在扩展标定板后,在上述步骤103中,可分别基于各原始角点在标定图像中的实际映射点的坐标和理想映射点的坐标,确定各原始角点的畸变偏移量(可记为delta_p1),即delta_p1=P0-P1。同理,可分别基于各扩展角点在标定图像中的实际映射点的坐标和理想映射点的坐标,确定各扩展角点的畸变偏移量(可记为delta_p2),即delta_p2=D{P2}-P2。通过对标定板进行虚拟扩展,并计算扩展角点的畸变偏移量,能够对图像中边缘区域的畸变情况进行表达,提升图像边缘区域的畸变处理效果。
进一步参考图3,其示出了畸变矫正方法的又一个实施例的流程300。该畸变矫正方法可应用于各种电子设备,例如,可包括但不限于:服务器、智能手机、平板电脑、膝上型便携计算机、掌上电脑、台式计算机、可穿戴设备等。该畸变矫正方法,包括以下步骤:
步骤301,获取畸变图像。
在本实施例中,畸变矫正方法的执行主体中可以安装有相机模组,并可以获取相机模组采集的图像,并将该图像作为畸变图像。
步骤302,基于预先生成的畸变映射数据,对畸变图像进行矫正,得到矫正图像。
在本实施例中,上述执行主体可以基于预先生成的畸变映射数据,对畸变图像进行矫正,得到矫正图像。例如,对于畸变图像中的某一像素点(i,j),畸变映射数据中可包括该像素点对应的畸变偏移量,例如可记为(dx,dy)。则上述执行主体可以将该畸变偏移量与该像素点坐标(i,j)相加,得到(i+dx,j+dy),以将该像素点(i,j)的像素值移动至新像素点(i+dx,j+dy),从而对该像素点进行畸变校正。
需要说明的是,上述畸变映射数据基于上述任一实施例中的相机模组的畸变映射数据生成方法生成,此处不再赘述。
本申请的上述实施例提供的方法,由于所生成的畸变映射数据是在标定结果的基础上结合畸变偏移量得到,因此能够对图像畸变进行更加准确的表达,以此数据进行畸变图像矫正,可提升畸变图像的矫正效果。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种相机模组的畸变映射数据生成装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的数据生成装置400包括:标定单元401,用于基于相机模组对标定板拍摄的标定图像,对上述相机模组进行标定,得到上述相机模组的参数;第一确定单元402,用于查找上述标定板中的各角点在上述标定图像中的实际映射点,并基于上述参数确定各角点在上述标定图像中的理想映射点;第二确定单元403,用于基于上述实际映射点及上述理想映射点在上述标定图像中的坐标,确定各角点对应的畸变偏移量;生成单元404,用于基于所确定的畸变偏移量,生成上述相机模组的畸变映射数据。
在本实施例的一些可选的实现方式中,上述标定单元401,进一步用于获取相机模组对标定板采集的标定图像;确定上述标定板中的各角点在世界坐标系中的世界坐标和在上述标定图像中的图像坐标;基于所确定的世界坐标和图像坐标,对上述相机模组进行标定,得到上述相机模组的参数。
在本实施例的一些可选的实现方式中,上述装置还包括:更新单元,用于确定各角点对应的畸变偏移量幅值;基于上述标定图像的尺寸构建三维空间,并基于各角点对应的畸变偏移量幅值,在上述三维空间中拟合三维曲面;基于上述三维曲面,更新各角点对应的畸变偏移量。
在本实施例的一些可选的实现方式中,上述生成单元404,进一步用于基于各角点的畸变偏移量,通过插值算法得到上述标定图像中的各非角点的畸变偏移量;基于各角点的畸变偏移量和各非角点的畸变偏移量,生成上述相机模组的畸变映射数据。
在本实施例的一些可选的实现方式中,上述装置还包括:扩展单元,用于若上述标定图像中显示有非标定板区域,则对上述标定板进行虚拟扩展,以更新上述标定板;上述第一确定单元402,进一步用于将位于更新后的标定板的原始区域中的角点作为原始角点,查找各原始角点在上述标定图像中的实际映射点,并基于上述参数确定各原始角点在上述标定图像中的理想映射点;将位于更新后的标定板的扩展区域中且能够映射至所述标定图像范围内的角点作为扩展角点,基于上述参数,确定各扩展角点在上述标定图像中的实际映射点和理想映射点。
在本实施例的一些可选的实现方式中,上述参数包括内参、外参和畸变系数;上述第一确定单元402,进一步用于基于上述内参和上述外参,确定各扩展角点在上述标定图像中的理想映射点;基于上述内参、上述畸变系数和各扩展角点在上述标定图像中的理想映射点,确定各扩展角点在上述标定图像中的实际映射点。
本申请的上述实施例提供的装置,通过基于相机模组对标定板拍摄的标定图像,对相机模组进行标定,得到相机模组的参数;而后查找标定板中的各角点在标定图像中的实际映射点,并基于上述参数确定各角点在标定图像中的理想映射点,之后基于实际映射点及理想映射点在标定图像中的坐标,确定各角点对应的畸变偏移量,从而基于所确定的畸变偏移量,生成相机模组的畸变映射数据。一方面,由于所生成的畸变映射数据是在标定结果的基础上结合畸变偏移量得到,因此能够对图像畸变进行更加准确的表达,以此数据进行畸变图像矫正,可提升畸变图像的矫正效果。另一方面,直接使用相机模组依照常规方式采集的标定图像进行畸变偏移量的计算,不需要采集高要求的网格图像,降低了操作的复杂度。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种畸变矫正装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的畸变矫正装置500包括:获取单元501,用于获取畸变图像;畸变矫正单元502,用于基于预先生成的畸变映射数据,对上述畸变图像进行矫正,得到矫正图像。需要说明的是,上述畸变映射数据基于上述任一实施例中的相机模组的畸变映射数据生成方法生成,此处不再赘述。
本申请的上述实施例提供的装置,由于所生成的畸变映射数据是在标定结果的基础上结合畸变偏移量得到,因此能够对图像畸变进行更加准确的表达,以此数据进行畸变图像矫正,可提升畸变图像的矫正效果。
本申请实施例还提供了一种电子设备,包括一个或多个处理器,存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述相机模组的畸变映射数据生成方法。
下面参考图6,其示出了用于实现本申请的一些实施例的电子设备的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁盘、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述相机模组的畸变映射数据生成方法。
特别地,根据本申请的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本申请的一些实施例的方法中限定的上述功能。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述相机模组的畸变映射数据生成方法。
需要说明的是,本申请的一些实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperTextTransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于相机模组对标定板拍摄的标定图像,对所述相机模组进行标定,得到所述相机模组的参数;查找所述标定板中的各角点在所述标定图像中的实际映射点,并基于所述参数确定各角点在所述标定图像中的理想映射点;基于所述实际映射点及所述理想映射点在所述标定图像中的坐标,确定各角点对应的畸变偏移量;基于所确定的畸变偏移量,生成所述相机模组的畸变映射数据。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的一些实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++;还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接),上述网络包括局域网(LAN)或广域网(WAN)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一确定单元、第二确定单元、选取单元和第三确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本申请的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种相机模组的畸变映射数据生成方法,其特征在于,所述方法包括:
基于相机模组对标定板拍摄的标定图像,对所述相机模组进行标定,得到所述相机模组的参数;
查找所述标定板中的各角点在所述标定图像中的实际映射点,并基于所述参数确定各角点在所述标定图像中的理想映射点;
基于所述实际映射点及所述理想映射点在所述标定图像中的坐标,确定各角点对应的畸变偏移量;
基于所确定的畸变偏移量,生成所述相机模组的畸变映射数据。
2.根据权利要求1所述的方法,其特征在于,所述基于相机模组对标定板拍摄的标定图像,对所述相机模组进行标定,得到所述相机模组的参数,包括:
获取相机模组对标定板采集的标定图像;
确定所述标定板中的各角点在世界坐标系中的世界坐标和在所述标定图像中的图像坐标;
基于所确定的世界坐标和图像坐标,对所述相机模组进行标定,得到所述相机模组的参数。
3.根据权利要求1所述的方法,其特征在于,在确定各角点对应的畸变偏移量之后,所述方法还包括:
确定各角点对应的畸变偏移量幅值;
基于所述标定图像的尺寸构建三维空间,并基于各角点对应的畸变偏移量幅值,在所述三维空间中拟合三维曲面;
基于所述三维曲面,更新各角点对应的畸变偏移量。
4.根据权利要求1所述的方法,其特征在于,所述基于所确定的畸变偏移量,生成所述相机模组的畸变映射数据,包括:
基于各角点的畸变偏移量,通过插值算法得到所述标定图像中的各非角点的畸变偏移量;
基于各角点的畸变偏移量和各非角点的畸变偏移量,生成所述相机模组的畸变映射数据。
5.根据权利要求1所述的方法,其特征在于,在查找所述标定板中的各角点在所述标定图像中的实际映射点之前,所述方法还包括:
若所述标定图像中显示有非标定板区域,则对所述标定板进行虚拟扩展,以更新所述标定板;
所述查找所述标定板中的各角点在所述标定图像中的实际映射点,并基于所述参数确定各角点在所述标定图像中的理想映射点,包括:
将位于更新后的标定板的原始区域中的角点作为原始角点,查找各原始角点在所述标定图像中的实际映射点,并基于所述参数确定各原始角点在所述标定图像中的理想映射点;
将位于更新后的标定板的扩展区域中且能够映射至所述标定图像范围内的角点作为扩展角点,基于所述参数,确定各扩展角点在所述标定图像中的实际映射点和理想映射点。
6.根据权利要求5所述的方法,其特征在于,所述参数包括内参、外参和畸变系数;
所述基于所述参数,确定各扩展角点在所述标定图像中的实际映射点和理想映射点,包括:
基于所述内参和所述外参,确定各扩展角点在所述标定图像中的理想映射点;
基于所述内参、所述畸变系数和各扩展角点在所述标定图像中的理想映射点,确定各扩展角点在所述标定图像中的实际映射点。
7.一种畸变矫正方法,其特征在于,所述方法包括:
获取畸变图像;
基于预先生成的畸变映射数据,对所述畸变图像进行矫正,得到矫正图像,所述畸变映射数据基于权利要求1-6中任一所述的方法生成。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210521132.3A CN115205134A (zh) | 2022-05-13 | 2022-05-13 | 相机模组的畸变映射数据生成方法和畸变矫正方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210521132.3A CN115205134A (zh) | 2022-05-13 | 2022-05-13 | 相机模组的畸变映射数据生成方法和畸变矫正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115205134A true CN115205134A (zh) | 2022-10-18 |
Family
ID=83575276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210521132.3A Pending CN115205134A (zh) | 2022-05-13 | 2022-05-13 | 相机模组的畸变映射数据生成方法和畸变矫正方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115205134A (zh) |
-
2022
- 2022-05-13 CN CN202210521132.3A patent/CN115205134A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598993B (zh) | 基于多视角成像技术的三维数据重建方法、装置 | |
US10726580B2 (en) | Method and device for calibration | |
US10810718B2 (en) | Method and device for three-dimensional reconstruction | |
WO2021139176A1 (zh) | 基于双目摄像机标定的行人轨迹跟踪方法、装置、计算机设备及存储介质 | |
JPWO2018235163A1 (ja) | キャリブレーション装置、キャリブレーション用チャート、チャートパターン生成装置、およびキャリブレーション方法 | |
US20240046557A1 (en) | Method, device, and non-transitory computer-readable storage medium for reconstructing a three-dimensional model | |
CN111325792B (zh) | 用于确定相机位姿的方法、装置、设备和介质 | |
CN112927362A (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN115329111B (zh) | 一种基于点云与影像匹配的影像特征库构建方法及系统 | |
CN114494388A (zh) | 一种大视场环境下图像三维重建方法、装置、设备及介质 | |
CN108444452B (zh) | 目标经纬度和拍摄装置的三维空间姿态的检测方法及装置 | |
US8509522B2 (en) | Camera translation using rotation from device | |
CN114140771A (zh) | 一种图像深度数据集自动标注方法及系统 | |
CN111383264A (zh) | 一种定位方法、装置、终端及计算机存储介质 | |
CN112288878B (zh) | 增强现实预览方法及预览装置、电子设备及存储介质 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
CN112258647A (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN111353945B (zh) | 鱼眼图像校正方法、装置及存储介质 | |
CN116912467A (zh) | 图像拼接方法、装置、设备及存储介质 | |
CN115205134A (zh) | 相机模组的畸变映射数据生成方法和畸变矫正方法 | |
CN112819900B (zh) | 一种智能立体摄影内方位、相对定向和畸变系数标定方法 | |
CN117252914A (zh) | 深度估计网络的训练方法、装置、电子设备及存储介质 | |
CN109919998B (zh) | 卫星姿态确定方法、装置和终端设备 | |
CN112615993A (zh) | 深度信息获取方法、双目摄像模组、存储介质及电子设备 | |
CN113592777A (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 |