CN116823639A - 一种图像畸变矫正方法、装置、设备及存储介质 - Google Patents
一种图像畸变矫正方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116823639A CN116823639A CN202310615090.4A CN202310615090A CN116823639A CN 116823639 A CN116823639 A CN 116823639A CN 202310615090 A CN202310615090 A CN 202310615090A CN 116823639 A CN116823639 A CN 116823639A
- Authority
- CN
- China
- Prior art keywords
- calibration plate
- image
- plate image
- corner
- calibration
- 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 80
- 238000012937 correction Methods 0.000 title claims abstract description 78
- 238000010586 diagram Methods 0.000 claims abstract description 45
- 238000001514 detection method Methods 0.000 claims description 36
- 238000012216 screening Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 8
- 238000004422 calculation algorithm Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本公开提供了一种图像畸变矫正方法、装置、设备及存储介质,涉及图像处理技术领域。方法主要包括:获取多张标定板图像和标定板图像的参数信息;对标定板图像进行角点提取,得到目标角点;根据参数信息和目标角点,建立标定板图像对应的虚拟标准网格;计算目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到标定板图像对应的角点偏移矢量图;根据多张角点偏移矢量图,对标定板图像对应的预设表格进行反向线性插值,得到畸变表格;根据畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及一种图像畸变矫正方法、装置、设备及存储介质。
背景技术
随着计算机视觉的发展,各行各业都有获取精确图像数据的需求,例如,在工业领域,需要获取精确的工件图像数据;在交通领域,需要获取精确的道路图像数据等,然而,由于拍摄角度或相机等图像采集设备自身误差的原因,采集到的图像往往会产生畸变。
在现有技术中,通常采用张氏标定算法对图像进行畸变矫正,即根据实体场景与其对应的图像之间的映射关系建立成像模型,计算图像采集设备的内参和外参,并利用内参和外参对图像进行畸变矫正。然而,张氏标定算法无法达到影像测量仪等场景所需的较高精度要求,且不适用于景深较大、外参变化的图像采集设备。
发明内容
本公开提供了一种图像畸变矫正方法、装置、设备及存储介质,以至少解决现有技术中存在的以上技术问题。
根据本公开的第一方面,提供了一种图像畸变矫正方法,该方法包括:获取多张标定板图像和标定板图像的参数信息;对所述标定板图像进行角点提取,得到目标角点;根据所述参数信息和所述目标角点,建立所述标定板图像对应的虚拟标准网格;计算所述目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到所述标定板图像对应的角点偏移矢量图;根据多张所述角点偏移矢量图,对所述标定板图像对应的预设表格进行反向线性插值,得到畸变表格;根据所述畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
根据本公开的第二方面,提供了一种图像畸变矫正装置,该装置包括:获取模块,用于获取多张标定板图像和标定板图像的参数信息;角点提取模块,用于对所述标定板图像进行角点提取,得到目标角点;建立模块,用于根据所述参数信息和所述目标角点,建立所述标定板图像对应的虚拟标准网格;计算模块,用于计算所述目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到所述标定板图像对应的角点偏移矢量图;畸变表格生成模块,用于根据多张所述角点偏移矢量图,对所述标定板图像对应的预设表格进行反向线性插值,得到畸变表格;畸变矫正模块,用于根据所述畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。
本公开的一种图像畸变矫正方法、装置、设备及存储介质,根据标定板图像的参数信息和目标角点,建立标定板图像对应的虚拟标准网格,并基于目标角点相对于虚拟标准网格顶点的第一偏移量,确定标定板图像对应的角点偏移矢量图,然后根据多张角点偏移矢量图,对标定板图像对应的预设表格进行反向线性插值,得到畸变表格,并基于畸变表格对待矫正图像进行畸变矫正,得到图像畸变矫正结果。由此,本公开的方法基于相机和镜头等图像采集设备的特点,采用非参标定的方法标定畸变表格,因此适用于景深较大、外参变化的图像采集设备,且根据畸变表格对待矫正图像进行畸变矫正,可以达到更高的精度要求。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本公开第一实施例一种图像畸变矫正方法的流程示意图;
图2示出了本公开第一实施例一种图像畸变矫正方法的第一场景示意图;
图3示出了本公开第一实施例一种图像畸变矫正方法的第二场景示意图;
图4示出了本公开第一实施例的畸变表格;
图5示出了本公开第二实施例一种图像畸变矫正方法的流程示意图;
图6示出了本公开第二实施例一种图像畸变矫正方法的第一场景示意图;
图7示出了本公开第二实施例一种图像畸变矫正方法的第二场景示意图;
图8示出了本公开第二实施例一种图像畸变矫正方法的第三场景示意图;
图9示出了本公开第三实施例一种图像畸变矫正方法的流程示意图;
图10示出了本公开第三实施例一种图像畸变矫正方法的场景示意图;
图11示出了本公开第四实施例一种图像畸变矫正方法的场景示意图;
图12示出了本公开第五实施例一种图像畸变矫正方法的第一场景示意图;
图13示出了本公开第五实施例一种图像畸变矫正方法的第二场景示意图;
图14示出了本公开第六实施例一种图像畸变矫正方法的流程示意图;
图15示出了本公开第七实施例一种图像畸变矫正方法的场景示意图;
图16示出了本公开第八实施例一种图像畸变矫正装置的结构示意图;
图17示出了本公开实施例一种电子设备的组成结构示意图。
具体实施方式
为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
图1示出了本公开第一实施例一种图像畸变矫正方法的流程示意图,如图1所示,一种图像畸变矫正方法主要包括:
步骤S101,获取多张标定板图像和标定板图像的参数信息。
在本实施例中,标定板为一种几何模型,用于在机器视觉、图像测量、三维重建等应用中确定镜头畸变以及物理尺寸与像素间的换算关系,标定板可以为棋盘格标定板或圆点标定板等,本公开不对标定板的样式进行限定;多张标定板图像为对标定板拍摄的多张图像,如在设定好图像采集设备后,对同一标定板进行平移或旋转等操作以拍摄得到多张不同的标定板图像;标定板图像的参数信息包括标定板图像的像素尺寸、旋转角度和像素当量等信息。图2中示出了棋盘格标定板和圆点标定板,为方便显示,后续实施例中的棋盘格标定板图像会以不带黑白填充的表格显示。
步骤S102,对标定板图像进行角点提取,得到目标角点。
在本实施例中,角点为标定板图像中用于标定的参考点,如在棋盘格标定板图像中,角点为棋盘格中每个格子的顶点,在圆点标定板图像中,角点为每个圆点的圆点;对于棋盘格标定板图像,可以采用角点检测算法提取标定板图像中每个格子的顶点,从而得到目标角点,角点检测算法可以包括Harris角点检测算法和Shi-Tomasi角点检测算法等;对于圆点标定板图像,可以采用OpenCv中的findCirclesGrid函数提取每个圆心的坐标,从而得到目标角点,其中,OpenCv为一种开源的计算机视觉库。
步骤S103,根据参数信息和目标角点,建立标定板图像对应的虚拟标准网格。
在本实施例中,参数信息包括标定板图像的旋转角度和标定板图像中标定单元的实际像素尺寸,其中,旋转角度为标定板图像相对于相机等图像采集设备的旋转角度;标定单元为标定板中的最小单元,如棋盘格标定板的标定单元为每个格子,则实际像素尺寸可以为一个格子的实际像素宽度和实际像素高度等,圆点标定板的标定单元为每个圆点,则实际像素尺寸可以为圆点的直径或两个相邻圆点的圆心距离等。
在本实施例中,在建立标定板图像对应的虚拟标准网格时,可以选定一个目标角点,以该目标角点为中心,以标定单元的实际像素尺寸为虚拟标准网格的子网格的实际像素尺寸,沿旋转角度的方向确定虚拟标准网格的每个顶点,直至顶点包围的区域覆盖所有目标角点,从而得到无畸变的虚拟标准网格。一般来说,标定板图像中心的畸变更小,因此,选定的目标角点可以为最靠近标定板图像中心的目标角点。
步骤S104,计算目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到标定板图像对应的角点偏移矢量图。
在本实施例中,标定板图像中的所有目标角点在虚拟标准网格中均有与其位置对应的虚拟标准网格顶点,计算所有目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,将第一偏移量标注于其对应的目标角点上即可得到标定板图像对应的角点偏移矢量图。
图3示出了本公开第一实施例一种图像畸变矫正方法的第二场景示意图,如图3所示,以棋盘格标定板图像为例,图3中虚线表格为棋盘格标定板图像对应的棋盘格,其存在一定的畸变,图3中实线表格为棋盘格标定板图像中的棋盘格对应的虚拟标准网格,对于棋盘格标定板图像中的目标角点A,与其位置对应的虚拟标准网格顶点为点B,可以根据目标角点A和点B的坐标计算目标角点A相对于点B的第一偏移量,包括横坐标上的第一偏移量和纵坐标上的第一偏移量,由棋盘格标定板图像中所有目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,可以生成标定板图像对应的角点偏移矢量图,角点偏移矢量图中不仅有每个目标角点对应的第一偏移量,还有每个目标角点的坐标。圆点标定板图像与棋盘格标定板图像计算第一偏移量的过程类似,此处不再赘述。
步骤S105,根据多张角点偏移矢量图,对标定板图像对应的预设表格进行反向线性插值,得到畸变表格。
在本实施例中,标定板图像对应的预设表格为提前根据标定板图像的尺寸设定的表格,例如,根据标定板图像的尺寸,在横坐标和纵坐标方向上均对标定板图像进行n等分,从而生成n×n的预设表格,n的取值范围可以根据实际情况进行设定,优选地,n的取值可以为20。
在本实施例中,根据步骤S101中获取的多张标定板图像会生成多张角点偏移矢量图,可以理解的是,角点偏移矢量图、标定板图像以及预设表格的大小相等,因此,可以将多张角点偏移矢量图和预设表格叠加在一起,并利用落入预设表格每个子表格中的多个目标角点的偏移量,对每个子表格进行反向线性插值,从而计算得到每个子表格的四个顶点的偏移量,当得到预设表格的所有顶点的偏移量之后,可以将标注了所有顶点偏移量的预设表格作为畸变表格,相当于将多张标定板图像中的无数个目标角点的偏移和变化趋势汇聚在畸变表格中。图4示出了本公开第一实施例的畸变表格,如图4所示,其中,由两条直线和两条圆弧围成的区域中的点为目标角点,该区域之外的点为畸变表格对应的顶点,其用箭头表示顶点的偏移方向。
步骤S106,根据畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
在本实施例中,畸变表格可以表征在当前图像采集设备下图像的畸变趋势,待矫正图像为当前图像采集设备拍摄的需要进行畸变矫正的图像,因此,可以根据畸变表格,以正向线性插值的方式计算待矫正图像中每个像素点的偏移量,并根据待矫正图像中每个像素点的偏移量对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
在本公开第一实施例中,基于相机和镜头等图像采集设备的特点,采用非参标定的方法标定畸变表格,因此适用于景深较大、外参变化的图像采集设备,且根据畸变表格对待矫正图像进行畸变矫正,可以达到更高的精度要求。
图5示出了本公开第二实施例一种图像畸变矫正方法的流程示意图,如图5所示,在步骤S101中可以根据如下方式获取标定板图像的参数信息:
步骤S201,获取标定板中标定单元的物理尺寸和标定板图像中标定单元的估计像素尺寸。
在本实施例中,物理尺寸为真实的标定板中标定单元的精确物理尺寸,如棋盘格标定板中一个格子的精确物理宽度和精确物理高度等,或圆点标定板中一个圆点的精确物理直径或两个相邻圆点之间的物理圆心距离等;估计像素尺寸为标定板图像中标定单元的估计像素尺寸,如棋盘格标定板图像中一个格子的估计像素宽度和估计像素高度,或圆点标定板图像中一个圆点的估计像素直径或两个相邻圆点的圆心之间的估计像素距离等。具体地,估计像素尺寸可以通过在标定板图像中划定标定单元对应的线段,并计算线段的长度得到,如在棋盘格标定板图像中,将选定格子的左下顶点和右下顶点之间的线段的长度作为标定单元的估计像素宽度。
步骤S202,根据物理尺寸,计算标定板图像中标定单元的实际像素尺寸。
在本实施例中,计算标定板图像中标定单元的实际像素尺寸的过程包括:
步骤S202a,根据物理尺寸,确定标定板中预设数量标定单元的整体物理尺寸。
具体地,根据标定板中标定单元的物理尺寸,确定标定板中预设数量标定单元的整体物理尺寸,即在标定板中选定预设数量个标定单元,以物理尺寸确定该预设数量个标定单元的整体物理尺寸。以棋盘格标定板为例,若选定g个左右相邻的格子,且一个格子的精确物理宽度为widthworld,则整体物理尺寸为选定的g个格子的整体物理宽度g×widthworld;若选定g个上下相邻的格子,且一个格子的精确物理高度为heightworld,则整体物理尺寸为选定的g个格子的整体物理高度g×heightworld。以圆点标定板为例,若选定g个相邻的圆点,且两个相邻圆点之间的物理圆心距离为centerdistance,则选定的g个圆点的整体物理尺寸为(g-1)×centerdistance。
步骤S202b,计算预设数量标定单元在标定板图像中的整体像素尺寸。
具体地,计算预设数量标定单元在标定板图像中的整体像素尺寸,即计算选定的预设数量个标定单元在标定板图像中的整体像素尺寸。以棋盘格标定板图像为例,若选定g个左右相邻的格子,则整体像素尺寸为选定的g个格子的整体像素宽度;若选定g个上下相邻的格子,则整体像素尺寸为选定的g个格子的整体像素高度。以圆点标定板为例,若选定g个相邻的圆点,则整体像素尺寸为选定的第1个圆点与第g个的圆点的像素圆心距离,根据第1个圆点的圆心像素坐标和第g个圆点的圆心像素坐标即可计算出整体像素尺寸。
图6示出了本公开第二实施例一种图像畸变矫正方法的第一场景示意图,如图6所示,以棋盘格标定板图像为例,若a、b、c、d、e为选定的5个左右相邻的格子,则这5个格子的整体像素宽度即为格子a的左下顶点C与格子e的右下顶点D之间的距离,根据点C与点D的像素坐标即可计算得到这5个格子的整体像素宽度。棋盘格标定板图像中整体像素高度的计算方式与整体像素宽度的计算方式类似,此处不再赘述。
步骤S202c,根据整体物理尺寸和整体像素尺寸,计算标定板图像的像素当量。
步骤S202d,根据物理尺寸和像素当量,计算标定板图像中标定单元的实际像素尺寸。
具体地,可以根据如下公式计算标定板图像的像素当量PixelEquivalent:其中,tdworld为整体物理尺寸,tdpixel为整体像素尺寸。
具体地,可以根据如下公式计算标定板图像中标定单元的实际像素尺寸其中,dworld为物理尺寸,PixelEquivalent为像素当量。需要强调的是,以棋盘格标定板图像为例,若计算标定单元的实际像素尺寸中的实际像素宽度,则dworld为标定板中标定单元的物理宽度;若计算标定单元的实际像素尺寸中的实际像素高度,则dworld为标定板中标定单元的物理高度。以圆点标定板图像为例,若计算标定单元的实际像素直径,则dworld为标定板中标定单元的物理直径。
步骤S203,根据估计像素尺寸,计算标定板图像的旋转角度。
在本实施例中,标定板图像中标定单元的估计像素尺寸包括估计像素宽度和估计像素高度,估计像素宽度和估计像素高度可以相等也可以不相等,计算标定板图像的旋转角度的过程包括:
步骤S203a,获取标定板图像的中心点。
步骤S203b,根据标定板图像的中心点和估计像素尺寸,确定沿第一方向的第一感兴趣区域,以及确定沿第二方向的第二感兴趣区域。
步骤S203c,在第一感兴趣区域内,确定标定板图像中标定单元沿第一方向的第一边缘直线,以及在第二感兴趣区域内,确定标定板图像中标定单元沿第二方向的第二边缘直线。
步骤S203d,将第一边缘直线的倾斜角度确定为标定板图像的第一旋转角度,以及将第二边缘直线的倾斜角度确定为标定板图像的第二旋转角度。
具体地,首先根据标定板图像的大小获取标定板图像的中心点,然后以标定板图像的中心点为中心,确定以K1个估计像素宽度为宽、以估计像素高度为高的第一感兴趣区域,并以标定板图像的中心点为中心,确定以估计像素宽度为宽、以K2个估计像素高度为高的第二感兴趣区域,其中,K1和K2的取值可以根据实际情况自行设定,K1和K2可以相同也可以不同。图7示出了本公开第二实施例一种图像畸变矫正方法的第二场景示意图,如图7所示,以棋盘格标定板图像为例,若标定板图像的中心点为点E,且第一方向为水平方向,则以点E为中心,确定以3个估计像素宽度为宽、以1个估计像素高度为高的第一感兴趣区域ROI1。图8示出了本公开第二实施例一种图像畸变矫正方法的第三场景示意图,如图8所示,以棋盘格标定板图像为例,若标定板图像的中心点为点E,且第二方向为与第一方向垂直的竖直方向,则以点E为中心,确定以1个估计像素宽度为宽、以3个估计像素高度为高的第二感兴趣区域ROI2。需要强调的是,为方便显示,图7和图8中以斜线填充代替棋盘格中的黑色填充,另外,在圆点棋盘格图像中,估计像素宽度和估计像素高度均可以为一个圆点的估计像素直径或两个相邻圆点的圆心之间的估计像素距离等,在圆点标定板图像中确定感兴趣区域的方式与棋盘格标定板图像相同,此处不再赘述。
具体地,确定第一感兴趣区域和第二感兴趣区域后,在第一感兴趣区域内,确定标定板图像中标定单元沿第一方向的第一边缘直线,以及在第二感兴趣区域内,确定标定板图像中标定单元沿第二方向的第二边缘直线,并将第一边缘直线的倾斜角度确定为标定板图像的第一旋转角度,以及将第二边缘直线的倾斜角度确定为标定板图像的第二旋转角度。如图7所示,由于第一感兴趣区域ROI1沿水平方向(第一方向),因此,在第一感兴趣区域ROI1中,沿竖直方向(第二方向)对第一感兴趣区域ROI1进行扫描,得到边缘点,边缘点为沿第二方向、与其相邻的第一像素点集和第二像素点集灰度平均值的差值大于第一预设阈值的像素点,即若像素点上方相邻的n个像素点的灰度平均值与该像素点下方相邻的n个像素点的灰度平均值的差值大于第一预设阈值,则将该像素点确定为边缘点,然后对边缘点进行线性拟合,得到第一边缘直线FG,第一边缘直线FG的倾斜角度即为标定板图像相对于第一方向的第一旋转角度。如图8所示,在第二感兴趣区域ROI2中,确定标定单元沿第二方向的第二边缘直线HI,第二边缘直线HI的确定方式与第一边缘直线FG类似,第二边缘直线HI的倾斜角度即为标定板图像相对于第二方向的第二旋转角度。需要强调的是,在圆点标定板图像中,第一感兴趣区域中的第一边缘直线可以为第一感兴趣区域中距离最远的两个圆点的圆心之间的连线;第二感兴趣区域中的第二边缘直线可以为第二感兴趣区域中距离最远的两个圆点的圆心之间的连线。
在本公开第二实施例中,根据标定板中标定单元的物理尺寸,计算标定板图像中标定单元的实际像素尺寸,并根据标定板图像中标定单元的估计像素尺寸,计算标定板图像的旋转角度,精确的实际像素尺寸和旋转角度可以保证后续建立得到更加精确的虚拟标准网格,进一步提高图像畸变矫正结果的精度。
图9示出了本公开第三实施例一种图像畸变矫正方法的流程示意图,如图9所示,步骤S102对标定板图像进行角点提取,得到目标角点包括:
步骤S301,对标定板图像进行角点检测,得到检测结果。
在本实施例中,对于不同的标定板图像选择不同的角点检测方法,例如,对于棋盘格标定板图像,采用角点检测算法检测标定板图像中每个格子的顶点,从而得到目标角点,角点检测算法可以包括Harris角点检测算法和Shi-Tomasi角点检测算法等;对于圆点标定板图像,采用OpenCv中的findCirclesGrid函数检测每个圆心的坐标,从而得到目标角点。
步骤S302,筛选检测结果中角点密度大于第二预设阈值的区域,得到角点区域。
在本实施例中,由于根据角点检测方法得到的检测结果可能存在一个真实角点处对应多个检测结果的情况,因此,还需要筛选检测结果中角点密度大于第二预设阈值的区域,得到角点区域,可以理解,目标角点位于角点区域中。
在一可实施方式中,筛选角点区域时,首先根据实际像素尺寸,沿第一旋转角度对应的方向对检测结果进行投影,得到第一投影数组,并根据实际像素尺寸,沿第二旋转角度对应的方向对检测结果进行投影,得到第二投影数组,然后根据第一投影数组和第二投影数组中像素点的灰度值,筛选检测结果中角点密度大于第一预设阈值的区域,得到角点区域。具体地,检测结果一般以二值化的形式显示,例如,标定板图像中检测到的角点对应的灰度值可以为255,非角点的像素点对应的灰度值可以为0,沿第一旋转角度对应的方向,对检测结果进行投影,得到的第一投影数组array1可以为:
array1=[0,0,0,0,0,255,255,0,0,0,0,0,255,255,255,0,255,0,0,0,0,0…],
可以理解,第一投影数组array1中大约每隔一个实际像素尺寸就会出现一个角点密集的区域,可以将角点密度大于第一预设阈值的区域确定为角点区域,如array1中第5位和第6位对应的灰度值均为255,则可将其对应的两个角点所在的区域作为角点区域,相应地,array1中第12、13、14位对应的灰度值均为255,则将其对应的三个角点所在的区域作为角点区域。需要强调的是,array1中为方便显示,对实际像素尺寸取5个像素长度,在实际应用过程中,实际像素尺寸和角点区域内包含的像素点可以更多,另外,第二投影数组中角点区域的确定方式与第一投影数组中类似,此处不再赘述。
步骤S303,根据角点区域和实际像素尺寸,确定目标角点。
在本实施例中,以角点区域中的任意一个角点为中心,根据实际像素尺寸,确定沿第一方向的第三感兴趣区域,以及确定沿第二方向的第四感兴趣区域,并在第三感兴趣区域内,确定标定板图像中标定单元沿第一方向的第三边缘直线,以及在第四感兴趣区域内,确定标定板图像中标定单元沿第二方向的第四边缘直线,最后将第三边缘直线与第四边缘直线的交点确定为目标角点。第三感兴趣区域的确定方式与第一感兴趣区域类似,第四感兴趣区域的确定方式与第二感兴趣区域类似,第三边缘直线的确定方式与第一边缘直线类似,第四边缘直线的确定方式与第二边缘直线类似,此处不再赘述。
图10示出了本公开第三实施例一种图像畸变矫正方法的场景示意图,如图10所示,若以角点区域中的任意一个角点为中心,确定第三感兴趣区域ROI3和第四感兴趣区域ROI4,并在第三感兴趣区域ROI3内确定第三边缘直线JK,在第四感兴趣区域ROI4内确定第四边缘直线LM,则第三边缘直线JK与第四边缘直线LM的交点N即为一个目标角点。
在本公开第三实施例中,对标定板图像对应的角点检测结果进行投影,并根据投影结果确定角点密度较大的角点区域,并在角点区域内确定目标角点,可以得到更加精确的目标角点,进一步提高图像畸变矫正结果的精度。
在本公开第四实施例中,步骤S103根据参数信息和目标角点,建立标定板图像对应的虚拟标准网格包括:
在目标角点中确定指定角点,指定角点为与标定板图像的中心点距离最小的目标角点;根据指定角点、旋转角度和实际像素尺寸,建立标定板图像对应的虚拟标准网格,即以指定角点为中心,以旋转角度为虚拟标准网格的旋转角度,以实际像素尺寸为虚拟标准网格中每个子网格的像素尺寸,建立标准的、无畸变的虚拟标准网格。
在本实施例中,首先计算所有目标角点与标定板图像的中心点的距离,并将距离最小的目标角点确定为指定角点,然后以指定角点为中心,在旋转角度对应的第三方向上,每间隔实际像素宽度确定一个顶点,直到顶点覆盖第三方向上所有的目标角点,再以已确定的顶点为中心,在第三方向的垂直方向上,每间隔实际像素高度确定一个顶点,直到顶点覆盖第三方向的垂直方向上所有的目标角点,最后沿第三方向和第三方向的垂直方向连接顶点,得到标定板图像对应的虚拟标准网格。具体地,旋转角度可以为第一旋转角度或第二旋转角度,例如,若第一旋转角度较大,则此处可以使用第一旋转角度;在棋盘格标定板中,每个标定单元的实际像素宽度和实际像素高度可以相等也可以不相等;在圆点标定板图像中,每个标定单元的实际像素宽度和实际像素高度均可以为一个圆点的实际像素直径或两个相邻圆点的圆心之间的实际像素距离等。
图11示出了本公开第四实施例一种图像畸变矫正方法的场景示意图,如图11所示,若点O为指定角点,旋转角度为第一旋转角度,则以点O为中心,在第一旋转角度对应的第三方向上,每间隔实际像素宽度确定一个顶点,直到顶点覆盖第三方向上所有的目标角点,即先确定图11中虚线框中的所有顶点,然后以虚线框中的顶点为中心,在第三方向的垂直方向上,每间隔实际像素高度确定一个顶点,直到顶点覆盖第三方向的垂直方向上所有的目标角点,最终得到如图11中的所有顶点,这些顶点即为虚拟标准网格的顶点,对这些顶点进行连接即可得到虚拟标准网格。
在本公开第四实施例中,根据精确的目标角点和标定板图像中标定单元的实际像素尺寸,建立标定板图像对应的虚拟标准网格,后续可以根据虚拟标准网格得到标定板图像对应的角点偏移矢量图,并根据角点偏移矢量图确定畸变表格,从而以非参标定的方法标定畸变表格,适用于外参变化的图像采集设备。
在本公开第五实施例中,步骤S105根据多张角点偏移矢量图,对标定板图像对应的预设表格进行反向线性插值,得到畸变表格包括:
对多张角点偏移矢量图进行叠加,得到整体偏移矢量图;根据整体偏移矢量图,构建针对预设表格的反向线性插值公式;根据加权最小二乘法,对反向线性插值公式进行求解,得到畸变表格。
在本实施例中,首先对多张标定板图像对应的多张角点偏移矢量图进行叠加,得到整体偏移矢量图。图12示出了本公开第五实施例一种图像畸变矫正方法的第一场景示意图,如图12所示,实线表格和虚线表格分别对应一张角点偏移矢量图,每个目标角点上标注有其坐标和第一偏移量,对实线表格和虚线表格进行叠加,即可得到图12所示的整体偏移矢量图,在实际应用情况中,角点偏移矢量图的数量可以更多。
在本实施例中,还需要根据整体偏移矢量图,构建针对预设表格的反向线性插值公式,图13示出了本公开第五实施例一种图像畸变矫正方法的第二场景示意图,如图13所示,整体偏移矢量图中的线条均以虚线表示,标定板图像对应的预设表格以实线表示,以横向和纵向上的顶点数来计算,图13中的预设表格为3×3的表格,Q11、Q21、Q12和Q22分别为预设表格中子表格f的四个顶点,点P1为落入子表格f中的一个目标角点,可以理解,子表格f中有多个目标角点,且多个目标角点的第一偏移量均已知,因此,可以根据子表格f中多个目标角点的第一偏移量,构建针对预设表格的反向线性插值公式,以反向线性插值的方式计算子表格f的四个顶点Q11、Q21、Q12和Q22的第二偏移量。
在一可实施方式中,反向线性插值公式如下公式(一):
wAX=wB,公式(一)
其中,w为权重,A为根据整体偏移矢量图中目标角点构建的线性插值矩阵,X为预设表格的顶点对应的第二偏移量,即需要求解的未知量,B为整体偏移矢量图中的目标角点对应的矩阵。若图13中点P1的第一偏移量为P1(x1,y1),x1为点P1在横坐标上的第一偏移量,y1为点P2在纵坐标上的第一偏移量,则图12中的预设表格对应的反向线性插值公式如下公式(二):
即令公式(一)中的 需要强调的是,由于网格之间的约束关系,顶点Q11的第二偏移量只与子表格f内的目标角点有关,而顶点Q22的第二偏移量与子表格f、g、h、i内的所有目标角点有关,因此,在公式(二)中并非仅由子表格f内的目标角点求取Q11、Q21、Q12和Q22的第二偏移量,而是由子表格f、g、h、i内的所有目标角点一次性求出图13中预设表格中的所有顶点的偏移量,即矩阵/>为9行1列的矩阵,相应地,矩阵为n行9列的矩阵,其中,n为整体偏移矢量图中的目标角点数量;矩阵/>则为n行1列的矩阵。在构建出如公式(二)的反向线性插值公式后,根据加权最小二乘法,对公式(二)进行求解,即可得到畸变表格。
图14示出了本公开第六实施例一种图像畸变矫正方法的流程示意图,如图14所示,根据加权最小二乘法,对反向线性插值公式进行求解,得到畸变表格,包括:
根据加权最小二乘法,对反向线性插值公式进行求解,得到求解结果,并判断求解结果对应的误差总和是否满足预设条件,得到第一判断结果,若第一判断结果为是,则根据求解结果确定畸变表格,即将求解结果中每个顶点对应的第二偏移量标注在预设表格中,从而得到畸变表格;若第一判断结果为否,则根据误差总和,对反向线性插值公式中的权重进行更新,并根据更新后的权重,对反向线性插值公式进行求解,直到第一判断结果为是。具体地,可以根据如下公式(三)对反向线性插值公式中的权重进行更新:
其中,err为误差总和,σ为误差参数。
在一可实施方式中,根据如下方式判断求解结果对应的误差总和是否满足预设条件:求解结果为首次迭代结果,则判断求解结果对应的误差总和是否小于第三预设阈值,得到第一判断结果;求解结果不为首次迭代结果,则判断求解结果对应的误差总和是否小于第四预设阈值,得到第一判断结果。第三预设阈值和第四预设阈值可以根据实际情况自行设定,优选地,第三预设阈值可以为1e-7,第四预设阈值可以为1e-5。
在本公开第五和第六实施例中,由多张角点偏移矢量图叠加得到整体偏移矢量图,并根据整体偏移矢量图构建反向线性插值公式,然后根据加权最小二乘法对反向线性插值公式进行求解,可以得到较为精确的畸变表格,进一步保证图像畸变矫正结果的精确性。
在本公开第七实施例中,步骤S106根据畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果包括:
根据畸变表格,构建针对待矫正图像的正向线性插值公式;对正向线性插值公式进行求解,得到待矫正图像内像素点的第三偏移量;根据第三偏移量,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
在本实施例中,畸变表格可以表征在当前图像采集设备下图像的畸变趋势,待矫正图像为当前图像采集设备拍摄的需要进行畸变矫正的图像,因此,可以根据畸变表格,构建针对待矫正图像的正向线性插值公式,然后对正向线性插值公式进行求解,得到待矫正图像内像素点的第三偏移量,并根据第三偏移量对待矫正图像进行畸变矫正,得到图像畸变矫正结果。需要强调的是,标定板图像和待矫正图像为当前图像采集设备在相同状态下拍摄的,因此畸变表格与待矫正图像大小相同。
图15示出了本公开第七实施例一种图像畸变矫正方法的场景示意图,如图15所示,若畸变表格为图13中所示的3×3的表格,则将畸变表格与待矫正图像进行叠加,可以根据畸变表格子表格f的四个顶点Q11、Q21、Q12和Q22的第二偏移量,以正向线性插值的方式计算子表格f中待矫正图像对应的每个像素点的第三偏移量,以相同的方式计算所有子表格中待矫正图像对应的每个像素点的第三偏移量,根据第三偏移量对待矫正图像进行仿射变换即可得到图像畸变矫正结果。
在一可实施方式中,正向线性插值公式如下:
P=(1-x)(1-y)Q11+(1-x)yQ21+x(1-y)Q12+yQ22,
其中,P为待矫正图像内的像素点的第三偏移量,x为点P的横坐标,y为点P的纵坐标,Q11、Q21、Q12和Q22分别为畸变表格中包含点P的子表格的四个顶点的第二偏移量。
在本公开第七实施例中,首先根据畸变表格,以正向线性插值的方式计算待矫正图像内像素点的第三偏移量,然后根据第三偏移量,对待矫正图像进行畸变矫正,得到图像畸变矫正结果,不仅矫正过程简便,而且可以达到更高的精度要求。
需要强调的是,本公开中的第一预设阈值、第二预设阈值、第三预设阈值和第四预设阈值均可根据实际情况自行设定,本公开不对其进行限定。
图16示出了本公开第八实施例一种图像畸变矫正装置的结构示意图,如图16所示,该装置主要包括:
获取模块10,用于获取多张标定板图像和标定板图像的参数信息;角点提取模块11,用于对标定板图像进行角点提取,得到目标角点;建立模块12,用于根据参数信息和目标角点,建立标定板图像对应的虚拟标准网格;计算模块13,用于计算目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到标定板图像对应的角点偏移矢量图;畸变表格生成模块14,用于根据多张角点偏移矢量图,对标定板图像对应的预设表格进行反向线性插值,得到畸变表格;畸变矫正模块15,用于根据畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
在一可实施方式中,获取模块10包括:获取子模块,用于获取标定板中标定单元的物理尺寸和标定板图像中标定单元的估计像素尺寸;计算子模块,用于根据物理尺寸,计算标定板图像中标定单元的实际像素尺寸;确定子模块,用于根据估计像素尺寸,确定标定板图像的旋转角度。
在一可实施方式中,计算子模块还用于:根据物理尺寸,确定标定板中预设数量标定单元的整体物理尺寸;计算预设数量标定单元在标定板图像中的整体像素尺寸;根据整体物理尺寸和整体像素尺寸,计算标定板图像的像素当量;根据物理尺寸和像素当量,计算标定板图像中标定单元的实际像素尺寸。
在一可实施方式中,确定子模块还用于:获取标定板图像的中心点;根据标定板图像的中心点和估计像素尺寸,确定沿第一方向的第一感兴趣区域,以及确定沿第二方向的第二感兴趣区域;在第一感兴趣区域内,确定标定板图像中标定单元沿第一方向的第一边缘直线,以及在第二感兴趣区域内,确定标定板图像中标定单元沿第二方向的第二边缘直线;将第一边缘直线的倾斜角度确定为标定板图像的第一旋转角度,以及将第二边缘直线的倾斜角度确定为标定板图像的第二旋转角度。
在一可实施方式中,估计像素尺寸包括估计像素宽度和估计像素高度,确定子模块还用于:以标定板图像的中心点为中心,确定以K1个估计像素宽度为宽、以估计像素高度为高的第一感兴趣区域;以标定板图像的中心点为中心,确定以估计像素宽度为宽、以K2个估计像素高度为高的第二感兴趣区域。
在一可实施方式中,确定子模块还用于:沿第二方向对第一感兴趣区域进行扫描,得到边缘点,边缘点为沿第二方向、与其相邻的第一像素点集和第二像素点集灰度平均值的差值大于第一预设阈值的像素点;对边缘点进行线性拟合,得到第一边缘直线。
在一可实施方式中,角点提取模块包括:检测子模块,用于对标定板图像进行角点检测,得到检测结果;筛选子模块,用于筛选检测结果中角点密度大于第二预设阈值的区域,得到角点区域;目标角点确定子模块,用于根据角点区域和实际像素尺寸,确定目标角点。
在一可实施方式中,筛选子模块还用于:根据实际像素尺寸,沿第一旋转角度对应的方向对检测结果进行投影,得到第一投影数组;根据实际像素尺寸,沿第二旋转角度对应的方向对检测结果进行投影,得到第二投影数组;根据第一投影数组和第二投影数组中像素点的灰度值,筛选检测结果中角点密度大于第一预设阈值的区域,得到角点区域。
在一可实施方式中,目标角点确定子模块还用于:以角点区域中的任意一个角点为中心,根据实际像素尺寸,确定沿第一方向的第三感兴趣区域,以及确定沿第二方向的第四感兴趣区域;在第三感兴趣区域内,确定标定板图像中标定单元沿第一方向的第三边缘直线,以及在第四感兴趣区域内,确定标定板图像中标定单元沿第二方向的第四边缘直线;将第三边缘直线与第四边缘直线的交点确定为目标角点。
在一可实施方式中,参数信息包括标定板图像的旋转角度和标定板图像中标定单元的实际像素尺寸,建立模块12包括:指定角点确定子模块,用于在目标角点中确定指定角点,指定角点为与标定板图像的中心点距离最小的目标角点;建立子模块,用于根据指定角点、旋转角度和实际像素尺寸,建立标定板图像对应的虚拟标准网格。
在一可实施方式中,实际像素尺寸包括实际像素宽度和实际像素高度,建立子模块还用于:以指定角点为中心,在旋转角度对应的第三方向上,每间隔实际像素宽度确定一个顶点,直到顶点覆盖第三方向上所有的目标角点;以已确定的顶点为中心,在第三方向的垂直方向上,每间隔实际像素高度确定一个顶点,直到顶点覆盖第三方向的垂直方向上所有的目标角点;沿第三方向和第三方向的垂直方向连接顶点,得到标定板图像对应的虚拟标准网格。
在一可实施方式中,畸变表格生成模块14包括:叠加子模块,用于对多张角点偏移矢量图进行叠加,得到整体偏移矢量图;第一构建子模块,用于根据整体偏移矢量图,构建针对预设表格的反向线性插值公式;第一求解子模块,用于根据加权最小二乘法,对反向线性插值公式进行求解,得到畸变表格;其中,反向线性插值公式如下:wAX=wB,其中,w为权重,A为根据整体偏移矢量图中目标角点构建的线性插值矩阵,X为预设表格的顶点对应的第二偏移量,B为整体偏移矢量图中的目标角点对应的矩阵。
在一可实施方式中,第一求解子模块还用于:判断求解结果对应的误差总和是否满足预设条件,得到第一判断结果;第一判断结果为是,则根据求解结果确定畸变表格;第一判断结果为否,则根据误差总和,对反向线性插值公式中的权重进行更新,并根据更新后的权重,对反向线性插值公式进行求解,直到第一判断结果为是。
在一可实施方式中,第一求解子模块还用于:求解结果为首次迭代结果,则判断求解结果对应的误差总和是否小于第三预设阈值,得到第一判断结果;求解结果不为首次迭代结果,则判断求解结果对应的误差总和是否小于第四预设阈值,得到第一判断结果。
在一可实施方式中,畸变矫正模块15包括:第二构建子模块,用于根据畸变表格,构建针对待矫正图像的正向线性插值公式;第二求解子模块,用于对正向线性插值公式进行求解,得到待矫正图像内像素点的第三偏移量;畸变矫正子模块,用于根据第三偏移量,对待矫正图像进行畸变矫正,得到图像畸变矫正结果,其中,正向线性插值公式如下:P=(1-x)(1-y)Q11+(1-x)yQ21+x(1-y)Q12+xyQ22,其中,P为待矫正图像内的像素点的第三偏移量,x为点P的横坐标,y为点P的纵坐标,Q11、Q21、Q12和Q22分别为畸变表格中包含点P的子表格的四个顶点的第二偏移量。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
图17示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图17所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如一种图像畸变矫正方法。例如,在一些实施例中,一种图像畸变矫正方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的一种图像畸变矫正方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种图像畸变矫正方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种图像畸变矫正方法,其特征在于,所述方法包括:
获取多张标定板图像和标定板图像的参数信息;
对所述标定板图像进行角点提取,得到目标角点;
根据所述参数信息和所述目标角点,建立所述标定板图像对应的虚拟标准网格;
计算所述目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到所述标定板图像对应的角点偏移矢量图;
根据多张所述角点偏移矢量图,对所述标定板图像对应的预设表格进行反向线性插值,得到畸变表格;
根据所述畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
2.根据权利要求1所述的方法,其特征在于,根据如下方式获取标定板图像的参数信息:
获取标定板中标定单元的物理尺寸和标定板图像中标定单元的估计像素尺寸;
根据所述物理尺寸,计算所述标定板图像中标定单元的实际像素尺寸;
根据所述估计像素尺寸,确定所述标定板图像的旋转角度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述物理尺寸,计算所述标定板图像中标定单元的实际像素尺寸,包括:
根据所述物理尺寸,确定标定板中预设数量标定单元的整体物理尺寸;
计算所述预设数量标定单元在所述标定板图像中的整体像素尺寸;
根据所述整体物理尺寸和所述整体像素尺寸,计算所述标定板图像的像素当量;
根据所述物理尺寸和所述像素当量,计算所述标定板图像中标定单元的实际像素尺寸。
4.根据权利要求2所述的方法,其特征在于,所述根据所述估计像素尺寸,确定所述标定板图像的旋转角度,包括:
获取所述标定板图像的中心点;
根据所述标定板图像的中心点和所述估计像素尺寸,确定沿第一方向的第一感兴趣区域,以及确定沿第二方向的第二感兴趣区域;
在所述第一感兴趣区域内,确定所述标定板图像中标定单元沿第一方向的第一边缘直线,以及在所述第二感兴趣区域内,确定所述标定板图像中标定单元沿第二方向的第二边缘直线;
将所述第一边缘直线的倾斜角度确定为所述标定板图像的第一旋转角度,以及将所述第二边缘直线的倾斜角度确定为所述标定板图像的第二旋转角度。
5.根据权利要求4所述的方法,其特征在于,所述估计像素尺寸包括估计像素宽度和估计像素高度,所述确定沿第一方向的第一感兴趣区域,以及确定沿第二方向的第二感兴趣区域,包括:
以所述标定板图像的中心点为中心,确定以K1个估计像素宽度为宽、以估计像素高度为高的第一感兴趣区域;
以所述标定板图像的中心点为中心,确定以估计像素宽度为宽、以K2个估计像素高度为高的第二感兴趣区域。
6.根据权利要求4所述的方法,其特征在于,所述确定所述标定板图像中标定单元沿第一方向的第一边缘直线,包括:
沿第二方向对所述第一感兴趣区域进行扫描,得到边缘点,所述边缘点为沿第二方向、与其相邻的第一像素点集和第二像素点集灰度平均值的差值大于第一预设阈值的像素点;
对所述边缘点进行线性拟合,得到所述第一边缘直线。
7.根据权利要求4所述的方法,其特征在于,所述对所述标定板图像进行角点提取,得到目标角点,包括:
对所述标定板图像进行角点检测,得到检测结果;
筛选所述检测结果中角点密度大于第二预设阈值的区域,得到角点区域;
根据所述角点区域和所述实际像素尺寸,确定目标角点。
8.根据权利要求7所述的方法,其特征在于,所述筛选所述检测结果中角点密度大于第一预设阈值的区域,得到角点区域,包括:
根据所述实际像素尺寸,沿第一旋转角度对应的方向对所述检测结果进行投影,得到第一投影数组;
根据所述实际像素尺寸,沿第二旋转角度对应的方向对所述检测结果进行投影,得到第二投影数组;
根据第一投影数组和第二投影数组中像素点的灰度值,筛选所述检测结果中角点密度大于第一预设阈值的区域,得到角点区域。
9.一种图像畸变矫正装置,其特征在于,所述装置包括:
获取模块,用于获取多张标定板图像和标定板图像的参数信息;
角点提取模块,用于对所述标定板图像进行角点提取,得到目标角点;
建立模块,用于根据所述参数信息和所述目标角点,建立所述标定板图像对应的虚拟标准网格;
计算模块,用于计算所述目标角点与其位置对应的虚拟标准网格顶点之间的第一偏移量,得到所述标定板图像对应的角点偏移矢量图;
畸变表格生成模块,用于根据多张所述角点偏移矢量图,对所述标定板图像对应的预设表格进行反向线性插值,得到畸变表格;
畸变矫正模块,用于根据所述畸变表格,对待矫正图像进行畸变矫正,得到图像畸变矫正结果。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310615090.4A CN116823639A (zh) | 2023-05-25 | 2023-05-25 | 一种图像畸变矫正方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310615090.4A CN116823639A (zh) | 2023-05-25 | 2023-05-25 | 一种图像畸变矫正方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116823639A true CN116823639A (zh) | 2023-09-29 |
Family
ID=88126711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310615090.4A Pending CN116823639A (zh) | 2023-05-25 | 2023-05-25 | 一种图像畸变矫正方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116823639A (zh) |
-
2023
- 2023-05-25 CN CN202310615090.4A patent/CN116823639A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108074267B (zh) | 交点检测装置及方法、摄像头校正系统及方法及记录介质 | |
CN112686877B (zh) | 基于双目相机的三维房屋损伤模型构建测量方法及系统 | |
JP6115214B2 (ja) | パターン処理装置、パターン処理方法、パターン処理プログラム | |
CN108074237B (zh) | 图像清晰度检测方法、装置、存储介质及电子设备 | |
CN110940312A (zh) | 一种结合激光设备的单目相机测距方法及系统 | |
CN112558043B (zh) | 一种激光雷达的标定方法及电子设备 | |
KR101589167B1 (ko) | 깊이 정보를 이용한 원근 왜곡 영상의 보정 시스템 및 방법 | |
CN113689578A (zh) | 一种人体数据集生成方法及装置 | |
CN111311671B (zh) | 一种工件测量方法、装置、电子设备及存储介质 | |
CN111369680B (zh) | 生成建筑物的三维图像的方法及装置 | |
CN113379815A (zh) | 基于rgb相机与激光传感器的三维重建方法、装置及服务器 | |
CN115830135A (zh) | 一种图像处理方法、装置及电子设备 | |
JP5987114B2 (ja) | 高解像度画像生成装置、高解像度画像生成方法及び高解像度画像生成プログラム | |
KR102023087B1 (ko) | 카메라 캘리브레이션 방법 | |
CN108734666B (zh) | 一种鱼眼图像校正方法及装置 | |
CN117522963A (zh) | 棋盘格的角点定位方法、装置、存储介质及电子设备 | |
CN115546016B (zh) | Pcb的2d和3d图像的采集和处理方法及相关装置 | |
JP6906177B2 (ja) | 交点検出装置、カメラ校正システム、交点検出方法、カメラ校正方法、プログラムおよび記録媒体 | |
CN116823639A (zh) | 一种图像畸变矫正方法、装置、设备及存储介质 | |
KR101574195B1 (ko) | 모바일 플랫폼에 기반한 가상 카메라의 자동 캘리브레이션 방법 | |
JP4747293B2 (ja) | 画像処理装置および画像処理方法並びにこれらに用いるプログラム | |
CN110853087B (zh) | 一种视差估计方法、装置、存储介质及终端 | |
CN114549613A (zh) | 基于深度超分辨率网络的结构位移测量方法及装置 | |
CN114882194A (zh) | 房间点云数据的处理方法和装置、电子设备和存储介质 | |
CN113048899A (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 |