CN116012241A - 图像畸变校正方法、装置、计算机设备和存储介质 - Google Patents
图像畸变校正方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116012241A CN116012241A CN202211674073.XA CN202211674073A CN116012241A CN 116012241 A CN116012241 A CN 116012241A CN 202211674073 A CN202211674073 A CN 202211674073A CN 116012241 A CN116012241 A CN 116012241A
- Authority
- CN
- China
- Prior art keywords
- distortion
- pixel
- coordinate position
- determining
- point
- 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
Images
Landscapes
- Image Processing (AREA)
Abstract
本申请涉及一种图像畸变校正方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取图像中多个像素中每个像素的重心坐标位置;对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置;基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点;将多个畸变点进行聚类分析,得到多个畸变区域;获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。采用本方法能够对局部不规则畸变进行有效的图像校正。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种图像畸变校正方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在进行平板显示检测时,通常需要加入各种各样的滤光片来消除相应的干扰信号,而滤光片等由于有限的加工精度,成像时也会出现一定的畸变。常见的畸变一般包含径向畸变和切向畸变。
传统技术中,通常采用张正友标定法等方法对图像中的像素进行畸变校正。
然而,当成像时出现局部不规则畸变时,部分子像素位置会偏离其原本位置,对径向畸变和切向畸变的矫正方法不适用于局部不规则畸变。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对局部不规则畸变的图像进行畸变校正的图像畸变校正方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种图像畸变校正方法。所述方法包括:
获取图像中多个像素中每个像素的重心坐标位置;
对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置;
基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点;
将多个畸变点进行聚类分析,得到多个畸变区域;
获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
在其中一个实施例中,基于多个像素中每个像素的重心坐标位置与标准坐标位置确定出畸变点,包括:
对于每个像素,计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;
当欧氏距离大于预设阈值时,将像素作为畸变点。
在其中一个实施例中,基于重心坐标位置与标准坐标位置确定畸变点,包括:
计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;
将像素的重心坐标位置与像素的标准坐标位置的欧氏距离写入距离数组;
遍历距离数组,确定距离数组中数值大于预设阈值的元素,将元素对应的像素作为畸变点。
在其中一个实施例中,将多个畸变点进行聚类分析,得到多个畸变区域,包括:
将多个畸变点随机划分为多个数据组,每个数据组至少有1个畸变点;
针对每个数据组,随机选取一个畸变点作为聚类中心;
基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心;
当新的聚类中心满足迭代终止条件时,停止迭代,将多个新的聚类中心所在的数据组作为畸变区域。
在其中一个实施例中,基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心,包括:
针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离;
获取与畸变点欧式距离最小的目标聚类中心,将畸变点加入目标聚类中心对应的数据组,得到目标聚类中心对应的更新数据组;
重新确定更新数据组的聚类中心,返回继续执行针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离的步骤。
在其中一个实施例中,基于像素的重心坐标位置,确定像素对应的标准坐标位置,包括:
通过矩阵变换,确定像素的重心坐标位置对应的二维网格点位置,作为像素对应的标准坐标位置。
第二方面,本申请还提供了一种图像畸变校正装置。所述装置包括:
重心坐标位置获取模块,用于获取图像中多个像素中每个像素的重心坐标位置;
标准坐标位置确定模块,用于对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置;
畸变点确定模块,用于基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点;
畸变区域确定模块,用于将多个畸变点进行聚类分析,得到多个畸变区域;
校正模块,用于获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述方法的步骤。
第四方面,本申请还提供了一种计算机设备可读存储介质。所述计算机设备可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述方法的步骤。
上述图像畸变校正方法、装置、计算机设备、存储介质和计算机程序产品,首先,获取图像中多个像素中每个像素的重心坐标位置。然后,对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置。进一步,基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点。再将多个畸变点进行聚类分析,得到多个畸变区域。最后,获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。通过对多个畸变点进行聚类分析确定多个畸变区域,再基于不同的畸变区域进行不同的畸变校正,可以实现对局部不规则畸变进行有效的图像校正。
附图说明
图1为一个实施例中图像畸变校正方法的应用环境图;
图2为一个实施例中图像畸变校正方法的流程示意图;
图3为一个实施例中定位画面的画面示意图;
图4为另一个实施例中二维网格点的示意图;
图5为一个实施例中畸变点示意图;
图6为一个实施例中像素的重心坐标位置在二级网格点中的位置示意图;
图7为一个实施例中基于重心坐标位置确定标准坐标位置的坐标转换示意图;
图8为一个实施例中图像畸变校正装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的图像畸变校正方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以放在云上或其他网络服务器上。服务器104可以获取终端102发送的图像中多个像素中每个像素的重心坐标位置。然后,对于每个像素,服务器104可以基于像素的重心坐标位置,确定像素对应的标准坐标位置。进一步,服务器104可以基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点,再将多个畸变点进行聚类分析,得到多个畸变区域。最后,服务器104获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。其中,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现;终端102可以是图像采集设备,例如:平板显示器。
本申请实施例提供的图像畸变校正方法,可以应用于终端或服务器单侧实现,也可以应用于包括终端和服务器的***,通过集群与服务器的交互实现。
在一个实施例中,如图2所示,提供了一种图像畸变校正方法,以该方法应用于图1中的服务器单侧为例进行说明,包括以下步骤202至步骤208。
步骤202,获取图像中多个像素中每个像素的重心坐标位置。
在本实施例中,如图3所示,检测人员可以在相机取图的显示界面的四个角和中心绘制出圆形关注点,通过相机的实时取图,调整相机与显示屏的相对位置,使得显示屏中显示图像的中心点与显示画面中绘制圆形的中心尽可能重合,使得像素点横纵坐标的偏移量在10个像素中,垂直和水平偏移角度控制在0.5°以内,满足检测需求。
在另一个实施例中,检测人员可以调整显示器显示白画面,通过相机取图,得到检测区域,如图3所示,通过上述定位操作获取显示器的偏移旋转角theta。
在本实施例中,服务器可以基于显示器的偏移旋转角theta调整显示器显示点阵画面,通过相机进行取图。服务器还可以创建一个数组actualArr[],用来存放每个像素的重心坐标位置。
在本实施例中,服务器可以通过扫描点阵画面后得到的每个像素的重心区域,即重心坐标位置(Xact,Yact)。
步骤204,对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置。
在本实施例中,服务器可以采用带缩放系数的刚体变换的方式确认每个像素对应在如图4所示的二维网格点上的标准坐标位置(Xstand,Ystand)。服务器还可以创建一个数组standardArr[],用来存放每个像素对应的标准坐标位置。
步骤206,基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点。
在本实施例中,畸变点是指产生了畸变的像素点。
在本实施例中,服务器可以计算同一个像素的重心坐标位置与标准坐标位置的位置关系,当同一个像素的重心坐标位置与标准坐标位置的位置关系满足畸变条件时,可以确定该像素为畸变点。如图5所示,黑线框内部分为畸变点。
步骤208,将多个畸变点进行聚类分析,得到多个畸变区域。
在本实施例中,服务器可以通过K-means(K均值)聚类方式将多个畸变点划分为多个畸变区域。
步骤210,获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
在本实施例中,畸变点与非畸变点的坐标位置存在如公式(1)所示的关系,其中,畸变点的重心坐标位置为(xdi,ydi),畸变点对应的标准坐标位置为(xui,yui):
其中,aij,bij为多项式系数,n=1,2,3…,且n为自然数。
在本实施例中,针对每个畸变区域,服务器可以选取畸变区域中的多个畸变点的重心坐标位置和畸变点对应的标准坐标位置,代入上述公式(1),计算得到aij和bij。其中,针对每个畸变区域,服务器可以将畸变区域中的多个畸变点分为多个畸变点组,通过将每个畸变点组中多个畸变点的重心坐标位置和畸变点对应的标准坐标位置代入上述公式(1),可以得到每个畸变点组对应的aij和bij。
在本实施例中,针对每个畸变区域的多个畸变点组,服务器得到每个畸变点组对应的aij和bij后,基于多组aij和bij确定最优的一组aij和bij,作为该畸变区域对应的修正参数。
在本实施例中,针对每个畸变区域,服务器将畸变区域对应的修正参数aij和bij,以及该畸变区域内的所有畸变点的重心坐标位置代入上述公式(1),得到该畸变区域内多个畸变点校正后的校正坐标位置,实现图像校正。
上述图像畸变校正方法中,首先,获取图像中多个像素中每个像素的重心坐标位置。然后,对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置。进一步,基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点。再将多个畸变点进行聚类分析,得到多个畸变区域。最后,获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。通过对多个畸变点进行聚类分析确定多个畸变区域,再基于不同的畸变区域进行不同的畸变校正,可以实现对局部不规则畸变进行有效的图像校正。
在一些实施例中,基于多个像素中每个像素的重心坐标位置与标准坐标位置确定出畸变点,可以包括:对于每个像素,计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;当欧氏距离大于预设阈值时,将像素作为畸变点。
在本实施例中,服务器可以计算同一个像素的重心坐标位置与标准坐标位置的位置关系,当同一个像素的重心坐标位置与标准坐标位置的位置关系满足畸变条件时,可以确定该像素为畸变点。其中,畸变条件可以是欧氏距离大于预设阈值。
在本实施例中,像素的重心坐标位置(Xact,Yact)与像素的标准坐标位置(Xstand,Ystand)的欧氏距离Ddst的计算方式如公式(2)所示:
在一些实施例中,基于重心坐标位置与标准坐标位置确定畸变点,可以包括:计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;将像素的重心坐标位置与像素的标准坐标位置的欧氏距离写入距离数组;遍历距离数组,确定距离数组中数值大于预设阈值的元素,将元素对应的像素作为畸变点。
在本实施例中,服务器可以创建数组D[],用来存放计算得出的各像素点重心坐标位置与标准坐标位置的欧氏距离。
在本实施例中,服务器可以遍历数组D[],将数组D[]中每个元素与预设阈值T进行比较,将数值大于T的元素对应的像素点作为畸变点,将数值小于或等于T的元素对应的像素点作为非畸变点。
在一些实施例中,将多个畸变点进行聚类分析,得到多个畸变区域,可以包括:将多个畸变点随机划分为多个数据组,每个数据组至少有1个畸变点;针对每个数据组,随机选取一个畸变点作为聚类中心;基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心;当新的聚类中心满足迭代终止条件时,停止迭代,将多个新的聚类中心所在的数据组作为畸变区域。
在本实施例中,服务器可以获取畸变区域的形状,基于畸变区域的形状可以确定构成该畸变区域的最小像素数量。例如,当畸变区域的形状近似为一个圆时,由于至少需要三个点才可以确定一个圆(三个不在一条直线的点可以确定一个圆),因此,构成该畸变区域的最小像素数量为3。
在本实施例中,服务器可以基于畸变区域获取最小数据集,最小数据集中元素的数量等于构成该畸变区域的最小像素数量,最小数据集中的元素为构成该畸变区域内的像素点。例如,当畸变区域为椭圆,至少需要四个点才可以确定一个椭圆,因此该畸变区域对应的最小数据集中元素数量为4,该最小数据集中元素为该畸变区域内的任意四个像素点。
在本实施例中,一个畸变区域可以对应多个最小数据集。例如,当一个畸变区域对应的最小数据集中有三个元素,该畸变区域中有畸变点A1,A2,A3,A4时,服务器在A1,A2,A3,A4中随机选取3个畸变点组成最小数据集,即该畸变区域可以对应得最小数据集有{A1,A2,A3}、{A1,A3,A4}、{A1,A2,A4},以及{A2,A3,A4}。
在本实施例中,服务器可以基于畸变区域对应的最小数据集,确定该畸变区域对应的修正系数。具体的,针对一个畸变区域,服务器可以随机选择出一个最小数据集C,对最小数据集C进行模型拟合,得到数据模型,将该畸变区域内所有的像素点的重心坐标位置和标准坐标位置带入数据模型,基于代价函数计算出模型代价。服务器可以计算该畸变区域对应的多个最小数据集对应的模型代价,获取最小的模型代价所对应的数据模型,作为最优数据模型。例如,当一个畸变区域对应的最小数据集有C1={A1,A2,A3}、C2={A1,A3,A4}、C3={A1,A2,A4},以及C4={A2,A3,A4}时,服务器可以对上述4个最小数据集分别进行模型拟合,基于C1得到数据模型1,基于C2得到数据模型2,基于C3得到数据模型3,基于C4得到数据模型4。进一步,服务器可以将该畸变区域内所有的像素点的重心坐标位置和标准坐标位置分别代入上述4个数据模型,基于代价函数分别计算出上述4个数据模型的模型代价,将模型代价最小的数据模型作为最优数据模型。
在本实施例中,服务器可以将最优数据模型对应的最小数据集中各个像素的重心坐标位置和畸变点对应的标准坐标位置,代入公式(1),计算得到最优数据模型对应的aij和bij,作为该畸变区域对应的修正参数。
在本实施例中,针对每个畸变区域,服务器可以将畸变区域对应的修正参数aij和bij,以及该畸变区域内的所有畸变点的重心坐标位置代入公式(1),得到该畸变区域内多个畸变点校正后的校正坐标位置,实现图像校正。
在一些实施例中,基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心,可以包括:针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离;获取与畸变点欧式距离最小的目标聚类中心,将畸变点加入目标聚类中心对应的数据组,得到目标聚类中心对应的更新数据组重新确定更新数据组的聚类中心,返回继续执行针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离的步骤。
在本实施例中,每个数据组至少有1个畸变点。
在一些实施例中,基于像素的重心坐标位置,确定像素对应的标准坐标位置,可以包括:通过矩阵变换,确定像素的重心坐标位置对应的二维网格点位置,作为像素对应的标准坐标位置。
在本实施例中,如图6、图7所示,服务器可以通过矩阵变换实现带缩放系数的刚体变换,确定重心坐标位置(x,y)对应的像素在二维网格点上的标准坐标位置(u,v),如公式(3)所示:
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图像畸变校正方法的图像畸变校正装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像畸变校正装置实施例中的具体限定可以参见上文中对于图像畸变校正方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种图像畸变校正装置,包括:重心坐标位置获取模块802、标准坐标位置确定模块804、畸变点确定模块806、畸变区域确定模块808和校正模块810,其中:
重心坐标位置获取模块802,用于获取图像中多个像素中每个像素的重心坐标位置。
标准坐标位置确定模块804,用于对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置。
畸变点确定模块806,用于基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点。
畸变区域确定模块808,用于将多个畸变点进行聚类分析,得到多个畸变区域。
校正模块810,用于获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
在其中一个实施例中,畸变点确定模块806可以包括:
欧式距离第一计算子模块,用于对于每个像素,计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离。
距离比较子模块,用于当欧氏距离大于预设阈值时,将像素作为畸变点。
在其中一个实施例中,畸变点确定模块806可以包括:
欧式距离第二计算子模块,用于计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离。
数组写入子模块,用于将像素的重心坐标位置与像素的标准坐标位置的欧氏距离写入距离数组。
遍历计算子模块,用于遍历距离数组,确定距离数组中数值大于预设阈值的元素,将元素对应的像素作为畸变点。
在其中一个实施例中,畸变区域确定模块808可以包括:
数组划分子模块,用于将多个畸变点随机划分为多个数据组,每个数据组至少有1个畸变点。
聚类中心选取子模块,用于针对每个数据组,随机选取一个畸变点作为聚类中心。
聚类中心迭代子模块,用于基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心。
畸变区域确定子模块,用于当新的聚类中心满足迭代终止条件时,停止迭代,将多个新的聚类中心所在的数据组作为畸变区域。
在其中一个实施例中,聚类中心迭代子模块可以包括:
欧氏距离计算单元,用于针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离。
更新数据组确定单元,用于获取与畸变点欧式距离最小的目标聚类中心,将畸变点加入目标聚类中心对应的数据组,得到目标聚类中心对应的更新数据组。
返回执行单元,用于重新确定更新数据组的聚类中心,返回继续执行针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离的步骤。
在其中一个实施例中,标准坐标位置确定模块804可以包括:
位置确定子模块,用于通过矩阵变换,确定像素的重心坐标位置对应的二维网格点位置,作为像素对应的标准坐标位置。
上述图像畸变校正装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储像素的重心坐标位置数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像畸变校正方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取图像中多个像素中每个像素的重心坐标位置;对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置;基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点;将多个畸变点进行聚类分析,得到多个畸变区域;获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
在一个实施例中,处理器执行计算机程序时还实现基于多个像素中每个像素的重心坐标位置与标准坐标位置确定出畸变点,可以包括:对于每个像素,计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;当欧氏距离大于预设阈值时,将像素作为畸变点。
在一个实施例中,处理器执行计算机程序时还实现基于重心坐标位置与标准坐标位置确定畸变点,可以包括:计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;将像素的重心坐标位置与像素的标准坐标位置的欧氏距离写入距离数组;遍历距离数组,确定距离数组中数值大于预设阈值的元素,将元素对应的像素作为畸变点。
在一个实施例中,处理器执行计算机程序时还实现将多个畸变点进行聚类分析,得到多个畸变区域,可以包括:将多个畸变点随机划分为多个数据组,每个数据组至少有1个畸变点;针对每个数据组,随机选取一个畸变点作为聚类中心;基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心;当新的聚类中心满足迭代终止条件时,停止迭代,将多个新的聚类中心所在的数据组作为畸变区域。
在一个实施例中,处理器执行计算机程序时还实现基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心,可以包括:针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离;获取与畸变点欧式距离最小的目标聚类中心,将畸变点加入目标聚类中心对应的数据组,得到目标聚类中心对应的更新数据组;重新确定更新数据组的聚类中心,返回继续执行针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离的步骤。
在一个实施例中,处理器执行计算机程序时还实现基于像素的重心坐标位置,确定像素对应的标准坐标位置,可以包括:通过矩阵变换,确定像素的重心坐标位置对应的二维网格点位置,作为像素对应的标准坐标位置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取图像中多个像素中每个像素的重心坐标位置;对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置;基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点;将多个畸变点进行聚类分析,得到多个畸变区域;获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
在一个实施例中,计算机程序被处理器执行时还实现基于多个像素中每个像素的重心坐标位置与标准坐标位置确定出畸变点,可以包括:对于每个像素,计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;当欧氏距离大于预设阈值时,将像素作为畸变点。
在一个实施例中,计算机程序被处理器执行时还实现基于重心坐标位置与标准坐标位置确定畸变点,可以包括:计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;将像素的重心坐标位置与像素的标准坐标位置的欧氏距离写入距离数组;遍历距离数组,确定距离数组中数值大于预设阈值的元素,将元素对应的像素作为畸变点。
在一个实施例中,计算机程序被处理器执行时还实现将多个畸变点进行聚类分析,得到多个畸变区域,可以包括:将多个畸变点随机划分为多个数据组,每个数据组至少有1个畸变点;针对每个数据组,随机选取一个畸变点作为聚类中心;基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心;当新的聚类中心满足迭代终止条件时,停止迭代,将多个新的聚类中心所在的数据组作为畸变区域。
在一个实施例中,计算机程序被处理器执行时还实现基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心,可以包括:针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离;获取与畸变点欧式距离最小的目标聚类中心,将畸变点加入目标聚类中心对应的数据组,得到目标聚类中心对应的更新数据组;重新确定更新数据组的聚类中心,返回继续执行针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离的步骤。
在一个实施例中,计算机程序被处理器执行时还实现基于像素的重心坐标位置,确定像素对应的标准坐标位置,可以包括:通过矩阵变换,确定像素的重心坐标位置对应的二维网格点位置,作为像素对应的标准坐标位置。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:获取图像中多个像素中每个像素的重心坐标位置;对于每个像素,基于像素的重心坐标位置,确定像素对应的标准坐标位置;基于多个像素中每个像素的重心坐标位置与标准坐标位置,确定出畸变点;将多个畸变点进行聚类分析,得到多个畸变区域;获取每个畸变区域对应的修正系数,基于修正系数对对应的畸变区域进行图像校正。
在一个实施例中,计算机程序被处理器执行时还实现基于多个像素中每个像素的重心坐标位置与标准坐标位置确定出畸变点,可以包括:对于每个像素,计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;当欧氏距离大于预设阈值时,将像素作为畸变点。
在一个实施例中,计算机程序被处理器执行时还实现基于重心坐标位置与标准坐标位置确定畸变点,可以包括:计算像素的重心坐标位置与像素的标准坐标位置的欧氏距离;将像素的重心坐标位置与像素的标准坐标位置的欧氏距离写入距离数组;遍历距离数组,确定距离数组中数值大于预设阈值的元素,将元素对应的像素作为畸变点。
在一个实施例中,计算机程序被处理器执行时还实现将多个畸变点进行聚类分析,得到多个畸变区域,可以包括:将多个畸变点随机划分为多个数据组,每个数据组至少有1个畸变点;针对每个数据组,随机选取一个畸变点作为聚类中心;基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心;当新的聚类中心满足迭代终止条件时,停止迭代,将多个新的聚类中心所在的数据组作为畸变区域。
在一个实施例中,计算机程序被处理器执行时还实现基于多个畸变点与聚类中心的欧氏距离,迭代计算新的聚类中心,可以包括:针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离;获取与畸变点欧式距离最小的目标聚类中心,将畸变点加入目标聚类中心对应的数据组,得到目标聚类中心对应的更新数据组;重新确定更新数据组的聚类中心,返回继续执行针对多个数据组中每个畸变点,分别计算每个畸变点与多个聚类中心的欧氏距离的步骤。
在一个实施例中,计算机程序被处理器执行时还实现基于像素的重心坐标位置,确定像素对应的标准坐标位置,可以包括:通过矩阵变换,确定像素的重心坐标位置对应的二维网格点位置,作为像素对应的标准坐标位置。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种图像畸变校正方法,其特征在于,所述方法包括:
获取图像中多个像素中每个所述像素的重心坐标位置;
对于每个像素,基于所述像素的重心坐标位置,确定所述像素对应的标准坐标位置;
基于多个所述像素中每个像素的重心坐标位置与所述标准坐标位置,确定出畸变点;
将多个所述畸变点进行聚类分析,得到多个畸变区域;
获取每个所述畸变区域对应的修正系数,基于所述修正系数对对应的所述畸变区域进行图像校正。
2.根据权利要求1所述的方法,其特征在于,所述基于多个所述像素中每个像素的所述重心坐标位置与所述标准坐标位置确定出畸变点,包括:
对于每个所述像素,计算所述像素的重心坐标位置与所述像素的标准坐标位置的欧氏距离;
当所述欧氏距离大于预设阈值时,将所述像素作为畸变点。
3.根据权利要求1所述的方法,其特征在于,所述基于所述重心坐标位置与所述标准坐标位置确定畸变点,包括:
计算所述像素的重心坐标位置与所述像素的标准坐标位置的欧氏距离;
将所述像素的重心坐标位置与所述像素的标准坐标位置的欧氏距离写入距离数组;
遍历所述距离数组,确定所述距离数组中数值大于预设阈值的元素,将所述元素对应的像素作为畸变点。
4.根据权利要求1所述的方法,其特征在于,所述将多个所述畸变点进行聚类分析,得到多个畸变区域,包括:
将多个所述畸变点随机划分为多个数据组,每个数据组至少有1个所述畸变点;
针对每个数据组,随机选取一个所述畸变点作为聚类中心;
基于多个所述畸变点与所述聚类中心的欧氏距离,迭代计算新的聚类中心;
当所述新的聚类中心满足迭代终止条件时,停止迭代,将多个所述新的聚类中心所在的数据组作为畸变区域。
5.根据权利要求4所述的方法,其特征在于,所述基于多个所述畸变点与所述聚类中心的欧氏距离,迭代计算新的聚类中心,包括:
针对多个所述数据组中每个所述畸变点,分别计算每个所述畸变点与多个所述聚类中心的欧氏距离;
获取与所述畸变点欧式距离最小的目标聚类中心,将所述畸变点加入所述目标聚类中心对应的数据组,得到所述目标聚类中心对应的更新数据组;
重新确定所述更新数据组的聚类中心,返回继续执行针对多个所述数据组中每个所述畸变点,分别计算每个所述畸变点与多个所述聚类中心的欧氏距离的步骤。
6.根据权利要求1所述的方法,其特征在于,所述基于所述像素的重心坐标位置,确定所述像素对应的标准坐标位置,包括:
通过矩阵变换,确定所述像素的重心坐标位置对应的二维网格点位置,作为所述像素对应的标准坐标位置。
7.一种图像畸变校正装置,其特征在于,所述装置包括:
重心坐标位置获取模块,用于获取图像中多个像素中每个所述像素的重心坐标位置;
标准坐标位置确定模块,用于对于每个像素,基于所述像素的重心坐标位置,确定所述像素对应的标准坐标位置;
畸变点确定模块,用于基于多个所述像素中每个像素的重心坐标位置与所述标准坐标位置,确定出畸变点;
畸变区域确定模块,用于将多个所述畸变点进行聚类分析,得到多个畸变区域;
校正模块,用于获取每个所述畸变区域对应的修正系数,基于所述修正系数对对应的所述畸变区域进行图像校正。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211674073.XA CN116012241A (zh) | 2022-12-26 | 2022-12-26 | 图像畸变校正方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211674073.XA CN116012241A (zh) | 2022-12-26 | 2022-12-26 | 图像畸变校正方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116012241A true CN116012241A (zh) | 2023-04-25 |
Family
ID=86020324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211674073.XA Pending CN116012241A (zh) | 2022-12-26 | 2022-12-26 | 图像畸变校正方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116012241A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883488A (zh) * | 2023-07-21 | 2023-10-13 | 捷安特(中国)有限公司 | 一种圆形管的中心位置确定方法、装置、设备及介质 |
CN117115275A (zh) * | 2023-10-25 | 2023-11-24 | 深圳明锐理想科技有限公司 | 畸变参数的确定方法、装置和计算机设备 |
-
2022
- 2022-12-26 CN CN202211674073.XA patent/CN116012241A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883488A (zh) * | 2023-07-21 | 2023-10-13 | 捷安特(中国)有限公司 | 一种圆形管的中心位置确定方法、装置、设备及介质 |
CN116883488B (zh) * | 2023-07-21 | 2024-03-26 | 捷安特(中国)有限公司 | 一种圆形管的中心位置确定方法、装置、设备及介质 |
CN117115275A (zh) * | 2023-10-25 | 2023-11-24 | 深圳明锐理想科技有限公司 | 畸变参数的确定方法、装置和计算机设备 |
CN117115275B (zh) * | 2023-10-25 | 2024-03-12 | 深圳明锐理想科技股份有限公司 | 畸变参数的确定方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116012241A (zh) | 图像畸变校正方法、装置、计算机设备和存储介质 | |
CN110738707B (zh) | 一种相机的畸变校正方法及装置、设备、存储介质 | |
Moulon et al. | Adaptive structure from motion with a contrario model estimation | |
US6538691B1 (en) | Software correction of image distortion in digital cameras | |
CN109544447B (zh) | 一种图像拼接方法、装置及存储介质 | |
CN109544643B (zh) | 一种摄像机图像校正方法及装置 | |
CN112396640A (zh) | 图像配准方法、装置、电子设备及存储介质 | |
WO2019222911A1 (zh) | 一种光流计算方法及计算设备 | |
CN112233189B (zh) | 多深度相机外部参数标定方法、装置及存储介质 | |
CN111553985A (zh) | 邻图配对式的欧式三维重建方法及装置 | |
WO2021142843A1 (zh) | 图像扫描方法及装置、设备、存储介质 | |
JP2021086616A (ja) | ランダムサンプリング一貫性に基づく魚眼画像の有効領域抽出方法 | |
WO2023070862A1 (zh) | 校正广角镜头图像畸变的方法、装置及照相设备 | |
Qu et al. | An algorithm of image mosaic based on binary tree and eliminating distortion error | |
WO2024041027A1 (zh) | 全景图像处理方法、计算机设备和存储介质 | |
CN111275622A (zh) | 图像拼接方法、装置及终端设备 | |
CN115086625B (zh) | 投影画面的校正方法、装置、***、校正设备和投影设备 | |
CN112862907B (zh) | 显微图像校正方法、装置、设备、存储介质及产品 | |
CN115661258A (zh) | 标定方法及装置、畸变校正方法及装置、存储介质、终端 | |
CN113724141B (zh) | 一种图像校正方法、装置及电子设备 | |
CN114399540A (zh) | 一种基于二维迭代最近点的异源图像配准方法及*** | |
WO2021102614A1 (zh) | 一种处理正电子发射断层扫描pet数据的方法及终端 | |
CN113034365A (zh) | 一种基于超像素的多图拼接方法及*** | |
CN106408499B (zh) | 用于图像处理的逆向映射表的获取方法及装置 | |
CN117671036B (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 |