CN110689501B - 一种畸变校正方法、装置、电子设备及计算机可读存储介质 - Google Patents
一种畸变校正方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110689501B CN110689501B CN201910946074.7A CN201910946074A CN110689501B CN 110689501 B CN110689501 B CN 110689501B CN 201910946074 A CN201910946074 A CN 201910946074A CN 110689501 B CN110689501 B CN 110689501B
- Authority
- CN
- China
- Prior art keywords
- straight line
- optimal
- distorted image
- initial
- boundary
- 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.)
- Active
Links
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/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
- Geometry (AREA)
Abstract
本申请提供了一种畸变校正方法、装置、电子设备及计算机可读存储介质,该方法包括:对畸变图像进行直线检测,得到畸变图像中的多条直线;对多条直线进行分组,得到多个直线组;从各直线组中选取畸变图像的最优边界线;根据最优边界线之间的交点,确定畸变图像的多个初始顶点;根据多个初始顶点,对畸变图像进行透视变换处理,得到校正图像。本申请技术方案实现了自动校正,并通过确定最优边界线的方法对检测得到的多条直线进行筛选,去除干扰直线,再根据最优边界线确定畸变图像的顶点,可以使校正后的图像更接近真实图像。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种畸变校正方法、装置、电子设备及计算机可读存储介质。
背景技术
在拍摄照片或者视频时,由于拍摄角度或位置等因素的限制,拍摄得到的图像经常会出现畸变,这对于观察者查看或者图像特征提取、识别等后续处理来说非常不方便。因此为了获取高质量图片,需要对畸变图像进行校正。然而,传统的畸变校正方法在校正的过程中大多需要人工的参与,否则容易导致校正后的图像有较大失真。
发明内容
本发明提供一种畸变校正方法、装置、电子设备及计算机可读存储介质,以使自动校正后的图像接近真实图像。
为了解决上述问题,本发明公开了一种畸变校正方法,所述方法包括:
对畸变图像进行直线检测,得到所述畸变图像中的多条直线;
对所述多条直线进行分组,得到多个直线组;
从各所述直线组中选取所述畸变图像的最优边界线;
根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点;
根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像。
可选地,所述最优边界线包括最优上边界线、最优下边界线、最优左边界线和最优右边界线,所述根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点的步骤,包括:
将所述最优左边界线与所述最优上边界线的交点确定为左上初始顶点,将所述最优上边界线与所述最优右边界线的交点确定为右上初始顶点,将所述最优右边界线与所述最优下边界线的交点确定为右下初始顶点,将所述最优下边界线与所述最优左边界线的交点确定为左下初始顶点。
可选地,所述根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点的步骤,包括:
计算所述最优边界线中任意两条之间的总的交点个数;
根据所述总的交点个数以及预设规则,从所述交点中确定所述畸变图像的初始顶点。
可选地,所述交点包括第一交点和第二交点,所述第一交点与所述第二交点由相同的两条所述最优边界线相交得到,所述计算所述最优边界线中任意两条之间的总的交点个数的步骤,包括:
计算所述第一交点与所述第二交点之间的第一距离;
当所述第一距离小于或等于距离阈值时,将所述第一交点和所述第二交点进行合并。
可选地,所述对畸变图像进行直线检测,得到所述畸变图像中的多条直线的步骤,包括:
采用LSD线段检测算子对所述畸变图像进行直线检测,得到所述畸变图像中的多条直线。
可选地,所述对所述多条直线进行分组,得到多个直线组的步骤,包括:
以所述畸变图像的中心为分界点,将所述多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组,所述上部直线组包括第一直线,所述下部直线组包括第二直线,所述左侧直线组包括第三直线,所述右侧直线组包括第四直线;
所述从各所述直线组中选取所述畸变图像的最优边界线的步骤,包括:
计算所述第一直线、所述第二直线、所述第三直线和所述第四直线这一组合对应的组合参量,所述组合参量包括以下至少之一:所述第一直线与所述第二直线之间的平行度,所述第三直线与所述第四直线之间的平行度,所述第一直线、所述第二直线、所述第三直线和所述第四直线所组成图形的面积,以及所述图形与预置图形之间的匹配度;
将计算得到的组合参量进行加权求和,得到组合得分;
将所述组合得分满足第一预设阈值的组合作为最优边界组合,其中所述最优边界组合中的第一直线为最优上边界线,第二直线为最优下边界线,第三直线为最优左边界线,第四直线为最优右边界线。
可选地,在所述以所述畸变图像的中心为分界点,将所述多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组的步骤之前,还包括:
根据各所述直线与水平轴的夹角,将所述多条直线划分为水平集和竖直集;
计算所述水平集和所述竖直集各集合中任意两条直线的夹角;
当所述任意两条直线的夹角小于或等于第二预设阈值时,计算所述任意两条直线之间的第二距离;
当所述第二距离小于或等于第三预设阈值时,将所述任意两条直线进行合并;
所述以所述畸变图像的中心为分界点,将所述多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组的步骤,包括:
以所述畸变图像的中心为分界点,将合并处理后的水平集划分为所述上部直线组和所述下部直线组,将合并处理后的竖直集划分为所述左侧直线组和所述右侧直线组。
可选地,所述根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像的步骤,包括:
根据所述多个初始顶点,确定所述畸变图像的纵横比;
根据所述纵横比,确定与各所述初始顶点一一对应的多个目标顶点;
根据所述多个初始顶点以及所述多个目标顶点,对所述畸变图像进行透视变换处理,得到校正图像。
可选地,所述根据所述多个初始顶点,确定所述畸变图像的纵横比的步骤,包括:
根据各所述初始顶点的位置,确定所述畸变图像的多个边长;
根据各所述边长以及所述畸变图像与水平轴的夹角,确定所述纵横比。
可选地,所述根据各所述边长以及所述畸变图像与水平轴的夹角,确定所述纵横比的步骤,包括:
根据各所述边长,确定所述畸变图像的初始高度和初始宽度;
根据所述畸变图像与水平轴的夹角,对所述初始高度和所述初始宽度进行修正,得到修正高度和修正宽度;
将所述修正高度与所述修正宽度的比值确定为所述纵横比。
可选地,所述根据所述纵横比,确定与各所述初始顶点一一对应的多个目标顶点的步骤,包括:
根据所述畸变图像的边长以及所述纵横比,确定与各所述初始顶点一一对应的多个目标顶点。
可选地,所述根据所述多个初始顶点以及所述多个目标顶点,对所述畸变图像进行透视变换处理的步骤,包括:
根据所述多个初始顶点以及所述多个目标顶点的位置,确定透视变换矩阵;
采用所述透视变换矩阵,对所述畸变图像进行透视变换处理。
为了解决上述问题,本发明还公开了一种畸变校正装置,所述装置包括:
直线检测模块,被配置为对畸变图像进行直线检测,得到所述畸变图像中的多条直线;
直线分组模块,被配置为对所述多条直线进行分组,得到多个直线组;
边界选取模块,被配置为从各所述直线组中选取所述畸变图像的最优边界线;
初始顶点确定模块,被配置为根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点;
透视变换模块,被配置为根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像。
为了解决上述问题,本发明还公开了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现任一实施例所述的畸变校正方法。
为了解决上述问题,本发明还公开了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行任一实施例所述的畸变校正方法。
与现有技术相比,本发明包括以下优点:
本申请技术方案提供了一种畸变校正方法、装置、电子设备及计算机可读存储介质,该方法包括:对畸变图像进行直线检测,得到畸变图像中的多条直线;对多条直线进行分组,得到多个直线组;从各直线组中选取畸变图像的最优边界线;根据最优边界线之间的交点,确定畸变图像的多个初始顶点;根据多个初始顶点,对畸变图像进行透视变换处理,得到校正图像。本申请技术方案实现了自动校正,并通过确定最优边界线的方法对检测得到的多条直线进行筛选,去除干扰直线,再根据最优边界线确定畸变图像的顶点,可以使校正后的图像更接近真实图像。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提供的一种畸变校正方法的步骤流程图;
图2示出了本申请一实施例提供的一种确定畸变图像初始顶点的步骤流程图;
图3示出了本申请一实施例提供的对检测得到的直线进行合并的步骤流程图;
图4示出了本申请一实施例提供的一种4个交点的取点方式;
图5示出了本申请一实施例提供的一种5个交点的取点方式;
图6示出了本申请一实施例提供的一种6个交点的取点方式;
图7示出了本申请一实施例提供的一种四边形初始顶点的示意图;
图8示出了本申请一实施例提供的一种ARM v8平台的检测结果;
图9示出了本申请一实施例提供的一种ARM v7平台的检测结果;
图10示出了本申请一实施例提供的一种ARM v8平台的改进检测结果;
图11示出了本申请一实施例提供的一种确定最优边界线的步骤流程图;
图12示出了本申请一实施例提供的一种透视变换处理的步骤流程图;
图13示出了本申请一实施例提供的一种矩形畸变为普通四边形的示意图;
图14示出了本申请一实施例提供的校正图像示意图;
图15示出了本申请一实施例提供的一种畸变校正方法的流程示意图;
图16示出了本申请一实施例提供的一种畸变校正装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本申请一实施例提供了一种畸变校正方法,参照图1,该方法可以包括:
步骤101:对畸变图像进行直线检测,得到畸变图像中的多条直线。
在具体实现中,可以采用多种直线检测技术对畸变图像进行直线检测。
一种实现方式中,可以首先使用各种边缘检测算子如Roberts,Sobel,Prewitt,Log,Canny等,对畸变图像进行边缘检测,然后使用Hough变换或者Radon变换对边缘图像进行线特征提取,从而得到畸变图像中的多条直线。这种直线检测方法应用较为广泛,然而在畸变图像背景较为复杂的情况下,使用Hough变换或Radon变换容易误检测到不应该出现的直线。
为了使直线检测结果更为准确,在另一种实现方式中,可以采用LSD线段检测算子对畸变图像进行直线检测,得到畸变图像中的多条直线。
LSD线段检测算子与Hough变换相比,速度快,不需要人工设置任何参数,不需提供边缘图像,检测精度与计算效率达到一个很好的平衡。LSD输出直线的2个端点坐标,以-log(NFA)输出值作为该条直线的得分值。每条直线的属性可以包括2个端点的坐标值和一个得分值,其中得分值用于表征该线段为直线的概率。采用LSD方法检测得到的直线更准确、干净,检测速度快,并且避免了Hough变换和Radon变换检测直线过程中参数不确定的问题。
步骤102:对多条直线进行分组,得到多个直线组。
在具体实现中,可以将多条直线分为水平直线组和竖直直线组,或者将多条直线分为上、下、左、右四组,等等。
步骤103:从各直线组中选取畸变图像的最优边界线。
例如,当将多条直线分为上、下、左、右四组时,可以从各组中任取一条直线,根据这些直线之间的平行度、所组成图形的面积以及与该图形与预置图形之间的匹配度等,确定畸变图像的最优边界线。
步骤104:根据最优边界线之间的交点,确定畸变图像的多个初始顶点。
在具体实现中,可以根据畸变图像的最优边界线之间交点的个数以及预设的顶点选取规则确定初始顶点,或者根据最优边界线所构成图形的组成规则确定初始顶点。
步骤105:根据多个初始顶点,对畸变图像进行透视变换处理,得到校正图像。
在具体实现中,可以首先根据多个初始顶点确定畸变图像的纵横比,然后根据纵横比对各初始顶点进行校正,得到与初始顶点一一对应的目标顶点;最后再根据多个初始顶点以及多个目标顶点,对畸变图像进行透视变换处理,得到校正图像。
本实施例提供的畸变校正方法,实现了自动校正,并通过确定最优边界线的方法对检测得到的多条直线进行筛选,去除干扰直线,再根据最优边界线确定畸变图像的顶点,可以使校正后的图像更接近真实图像,提高校正图像的质量。
发明人发现传统的顶点确定方案,存在不同的ARM平台顶点检测结果差异大的问题,如图8示出的是ARM v8平台的检测结果,图9示出的是ARM v7平台的检测结果。
为了解决不同的ARM平台顶点检测结果差异大的问题,在一种可选的实现方式中,最优边界线包括最优上边界线、最优下边界线、最优左边界线和最优右边界线,步骤104具体可以包括:
将最优左边界线与最优上边界线的交点确定为左上初始顶点,将最优上边界线与最优右边界线的交点确定为右上初始顶点,将最优右边界线与最优下边界线的交点确定为右下初始顶点,将最优下边界线与最优左边界线的交点确定为左下初始顶点。
在该实现方式中,可以依据四边形的组成规则,确定畸变图像的四个初始顶点。首先计算最优左边界限lineLeft与最优上边界线lineTop的交点,作为最终四边形的左上初始顶点;其次,计算最优上边界线lineTop与最优右边界线lineRight的交点,作为最终四边形的右上初始顶点;再次,计算最优右边界线lineRight与最优下边界线lineBottom的交点,并作为最终四边形的右下初始顶点;最后计算最优下边界线lineBottom与最优左边界线lineLeft的交点,作为最终四边形的左下初始顶点。
需要说明的是,在实际应用中,4个初始顶点在图像背景复杂的情况下可能不满足需要,这时可以手动微调顶点至理想位置。
采用本实现方式在ARM v8平台上的检测结果如图10所示,与ARM v7平台的检测结果一致,本实现方式采用改进的顶点选择方案,使得针对ARM平台的普适性得到优化,并且无需针对不同的总的交点个数分别判断4个顶点的顺序,因此可以减少代码量,优化执行效率。
为了解决不同的ARM平台顶点检测结果差异大的问题,在另一种可选的实现方式中,参照图2,步骤104具体可以包括:
步骤201:计算最优边界线中任意两条之间的总的交点个数。
在具体实现中,当交点包括第一交点和第二交点,且第一交点与第二交点由相同的两条最优边界线相交得到时,可以首先计算第一交点与第二交点之间的第一距离;当第一距离小于或等于距离阈值时,将第一交点和第二交点进行合并。
例如,在计算过程中,最优边界线m与最优边界线n计算得到两个交点,即第一交点和第二交点,当两个交点之间的第一距离小于或等于距离阈值时,说明这两个交点可以合并为一个交点,合并后的交点可以取两个交点之一或者两个交点连线的中点。其中,距离阈值可以根据实际情况确定。
步骤202:根据总的交点个数以及预设规则,从交点中确定畸变图像的初始顶点。
在具体实现中,可以计算四条最优边界线两两相交的顶点,不考虑共点情况,总的交点个数可能为4,5,6。当总的交点个数为4时,两对平行直线相交,直接可以得到4个交点,取点方式如图4所示;当总的交点个数为5时,有一对直线是平行直线,取点方式如图5所示;当总的交点个数为6时,没有相互平行直线,任意两线相交共6个交点,在这6个交点中,按照规则选取4个点,选点方式如图6所示。
选定4个交点后,还需经过下面步骤判断顶点顺序:参照图7,4个初始顶点设为a,b,c,d,顶点a,b组成line1;c,d组成line1′;a,d组成line2;b,c组成line2′;两组线对lineparl(1inel,linel′),linepair2(1ine2,line2′)。linel与水平轴夹角是θ1,line1′与水平轴夹角θ1’,line2与水平轴夹角θ2,line2′与水平轴夹角θ2’,计算
当t1>t2时,则linepair1是水平组对,为上下边界,linepair2是竖直组对,为左右边界;当t1<t2时,则linepairl是竖直组对,为左右边界,linepair2是水平组对,为上下边界。根据linepairl与linepair2中的线计算交点,得到4个顶点的顺序,标记为左上初始顶点pLeftTop,左下初始顶点pLeftBottom,右上初始顶点pRightTop和右下初始顶点pRightBottom。
本实现方式通过对距离相近的交点进行合并,可以消除不同平台之间的检测结果差异,采用改进的顶点选择方案,使得针对ARM平台的普适性得到优化。
由于步骤101直线检测得到的多条直线中有很多干扰直线是我们不需要的,因此需要对检测得到的直线进行一系列的处理,在一种实现方式中,参照图3,在步骤102之前还可以包括:
步骤301:根据各直线与水平轴的夹角,将多条直线划分为水平集和竖直集。
在具体实现中,可以计算每条直线的与水平轴的夹角,夹角在0到45度范围内的,划分为水平集Horizontal Group,夹角在45到90度范围内的,划分为竖直集VerticalGroup。
步骤302:计算水平集和竖直集各集合中任意两条直线的夹角。
步骤303:当任意两条直线的夹角小于或等于第二预设阈值时,计算任意两条直线之间的第二距离。
步骤304:当第二距离小于或等于第三预设阈值时,将任意两条直线进行合并。
在具体实现中,针对竖直集和水平集分别进行操作。由于LSD是线段检测算子,一条长直线可能被检测为多条线段,因此需要对多条线段进行合并。计算水平集(竖直集)中任意两条直线的夹角,当夹角小于或等于第二预设阈值时,说明两条直线相互平行;然后再计算这两条平行直线之间的第二距离,当第二距离小于或等于第三预设阈值时,将这两条直线合并为一条直线,例如可以取长度较长的直线表示这两条直线(合并为一条),合并后直线的得分值是这两条直线的得分值相加。其中,第二预设阈值和第三预设阈值可以根据实际情况确定。
在一种可选的实现方式中,参照图11,步骤102具体可以包括:
步骤1101:以畸变图像的中心为分界点,将多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组,上部直线组包括第一直线,下部直线组包括第二直线,左侧直线组包括第三直线,右侧直线组包括第四直线。
具体地,可以以畸变图像的中心为分界点,将合并处理后的水平集划分为上部直线组topLineSet和下部直线组bottomLineSet,将合并处理后的竖直集划分为左侧直线组leftLineSet和右侧直线组rightLineSet。
其中,第一直线为上部直线组中的任意一条直线,第二直线为下部直线组中的任意一条直线,第三直线为左侧直线组中的任意一条直线,第四直线为右侧直线组中的任意一条直线。
相应地,步骤103具体可以包括:
步骤1102:计算第一直线、第二直线、第三直线和第四直线这一组合对应的组合参量,组合参量包括以下至少之一:第一直线与第二直线之间的平行度,第三直线与第四直线之间的平行度,第一直线、第二直线、第三直线和第四直线所组成图形的面积,以及所组成图形与预置图形之间的匹配度。
步骤1103:将计算得到的组合参量进行加权求和,得到组合得分。
步骤1104:将组合得分满足第一预设阈值的组合作为最优边界组合,其中最优边界组合中的第一直线为最优上边界线,第二直线为最优下边界线,第三直线为最优左边界线,第四直线为最优右边界线。
具体地,可以取topLineSet、bottomLineSet、leftLineSet、rightLineSet各组中的任意一条直线,计算这4条线段组成的图形的面积、该图形与预置图形之间的匹配度,以及相对的两条线段之间的平行度等组合参量;将得到组合参量进行加权求和得到组合得分;将组合得分满足第一预设阈值(如组合得分最高)的组合确定为最优边界组合,该组合中的四条线段确定为最优边界线。畸变图像的最优边界线例如可以包括:最优上边界线lineTop、最优下边界线lineBottom、最优左边界线lineLeft和最优右边界线lineRight。
通过使用水平和竖直集分组、合并平行线、确定最优边界方法对LSD检测得到的直线进行筛选,去除干扰直线,得到4个初始顶点。
在一种可选的实现方式中,参照图12,步骤105具体可以包括:
步骤1201:根据多个初始顶点,确定畸变图像的纵横比。
在具体实现中,可以首先根据各初始顶点的位置,确定畸变图像的多个边长;根据各边长以及畸变图像与水平轴的夹角,确定纵横比。
进一步地,可以根据各边长,确定畸变图像的初始高度和初始宽度;根据畸变图像与水平轴的夹角,对初始高度和初始宽度进行修正,得到修正高度和修正宽度;将修正高度与修正宽度的比值确定为纵横比。
步骤1202:根据纵横比,确定与各初始顶点一一对应的多个目标顶点。
具体地,可以根据畸变图像的边长以及纵横比,确定与各初始顶点一一对应的多个目标顶点。
前面步骤中得到的4个顶点pLeftTop,pLeftBottom,pRightTop,pRightBottom,计算pLeftBottom和pRightBottom之间距离为width,校正后的图像高度为height=ratio*width,4个初始顶点对应的新的4个目标顶点的位置分别为左上目标顶点pLeftTop_new(0,0),左下目标顶点pLeftBottom_new(0,height),右上目标顶点pRightTop_new(width,0),右下目标顶点pRightBottom_new(width,height)。
需要说明的是,这里是根据纵横比和width(如pLeftBottom和pRightBottom之间距离)确定height,还可以根据纵横比和height(如LeftTop和pLeftBottom之间距离)确定width。
步骤1203:根据多个初始顶点以及多个目标顶点,对畸变图像进行透视变换处理,得到校正图像。
具体地,可以首先根据多个初始顶点以及多个目标顶点的位置,确定透视变换矩阵;采用透视变换矩阵,对畸变图像进行透视变换处理。
由4个初始顶点和与之匹配的4个目标顶点可得到透视变换矩阵,对畸变的图像进行透视变换处理,即得到校正后图像,校正图像如图14所示。
本申请对拍摄得到的畸变图像进行处理,将由于拍摄角度和位置原因造成图像与实物的失真进行校正。如图15所示,本申请通过LSD直线检测、水平和竖直集分组、合并近似平行线、确定最优边界和顶点、人工调整点或边线和透视变换图像校正六个步骤实现畸变校正。本申请技术方案可以准确、快速地检测得到直线,获得顶点,得到较真实图像;该方法实现自动顶点检测和校正,实现自动校正;在针对ARM平台的普适性上,做了完善优化,并且针对边界顶点的选择上进行了优化,提升了代码效率;另外,在透视变换校正部分加入了纵横比估算,实用性较强。与传统的扫描软件相比,本申请技术方案得到的校正图像失真小,校正效果有较大提升;
本申请另一实施例还提供了一种畸变校正装置,参照图16,该装置可以包括:
直线检测模块1601,被配置为对畸变图像进行直线检测,得到所述畸变图像中的多条直线;
直线分组模块1602,被配置为对所述多条直线进行分组,得到多个直线组;
边界选取模块1603,被配置为从各所述直线组中选取所述畸变图像的最优边界线;
初始顶点确定模块1604,被配置为根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点;
透视变换模块1605,被配置为根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请另一实施例还提供了一种电子设备,该电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现任一实施例所述的畸变校正方法。
本申请另一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行任一实施例所述的畸变校正方法。
本申请实施例提供了一种畸变校正方法、装置、电子设备及计算机可读存储介质,该方法包括:对畸变图像进行直线检测,得到畸变图像中的多条直线;对多条直线进行分组,得到多个直线组;从各直线组中选取畸变图像的最优边界线;根据最优边界线之间的交点,确定畸变图像的多个初始顶点;根据多个初始顶点,对畸变图像进行透视变换处理,得到校正图像。本申请技术方案实现了自动校正,并通过确定最优边界线的方法对检测得到的多条直线进行筛选,去除干扰直线,再根据最优边界线确定畸变图像的顶点,可以使校正后的图像更接近真实图像,提高校正图像的质量。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种畸变校正方法、装置、电子设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种畸变校正方法,其特征在于,所述方法包括:
对畸变图像进行直线检测,得到所述畸变图像中的多条直线;
对所述多条直线进行分组,得到多个直线组;
从各所述直线组中选取所述畸变图像的最优边界线;
根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点;
根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像;
所述根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点的步骤,包括:
计算所述最优边界线中任意两条之间的总的交点个数;
根据所述总的交点个数以及预设规则,从所述交点中确定所述畸变图像的初始顶点;
所述交点包括第一交点和第二交点,所述第一交点与所述第二交点由相同的两条所述最优边界线相交得到,所述计算所述最优边界线中任意两条之间的总的交点个数的步骤,包括:
计算所述第一交点与所述第二交点之间的第一距离;
当所述第一距离小于或等于距离阈值时,将所述第一交点和所述第二交点进行合并;
其中,所述最优边界线包括最优上边界线、最优下边界线、最优左边界线和最优右边界线。
2.根据权利要求1所述的方法,其特征在于,所述根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点的步骤,包括:
将所述最优左边界线与所述最优上边界线的交点确定为左上初始顶点,将所述最优上边界线与所述最优右边界线的交点确定为右上初始顶点,将所述最优右边界线与所述最优下边界线的交点确定为右下初始顶点,将所述最优下边界线与所述最优左边界线的交点确定为左下初始顶点。
3.根据权利要求1所述的方法,其特征在于,所述对畸变图像进行直线检测,得到所述畸变图像中的多条直线的步骤,包括:
采用LSD线段检测算子对所述畸变图像进行直线检测,得到所述畸变图像中的多条直线。
4.根据权利要求1所述的方法,其特征在于,所述对所述多条直线进行分组,得到多个直线组的步骤,包括:
以所述畸变图像的中心为分界点,将所述多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组,所述上部直线组包括第一直线,所述下部直线组包括第二直线,所述左侧直线组包括第三直线,所述右侧直线组包括第四直线;
所述从各所述直线组中选取所述畸变图像的最优边界线的步骤,包括:
计算所述第一直线、所述第二直线、所述第三直线和所述第四直线这一组合对应的组合参量,所述组合参量包括以下至少之一:所述第一直线与所述第二直线之间的平行度,所述第三直线与所述第四直线之间的平行度,所述第一直线、所述第二直线、所述第三直线和所述第四直线所组成图形的面积,以及所述图形与预置图形之间的匹配度;
将计算得到的组合参量进行加权求和,得到组合得分;
将所述组合得分满足第一预设阈值的组合作为最优边界组合,其中所述最优边界组合中的第一直线为最优上边界线,第二直线为最优下边界线,第三直线为最优左边界线,第四直线为最优右边界线。
5.根据权利要求4所述的方法,其特征在于,在所述以所述畸变图像的中心为分界点,将所述多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组的步骤之前,还包括:
根据各所述直线与水平轴的夹角,将所述多条直线划分为水平集和竖直集;
计算所述水平集和所述竖直集各集合中任意两条直线的夹角;
当所述任意两条直线的夹角小于或等于第二预设阈值时,计算所述任意两条直线之间的第二距离;
当所述第二距离小于或等于第三预设阈值时,将所述任意两条直线进行合并;
所述以所述畸变图像的中心为分界点,将所述多条直线划分为上部直线组、下部直线组、左侧直线组和右侧直线组的步骤,包括:
以所述畸变图像的中心为分界点,将合并处理后的水平集划分为所述上部直线组和所述下部直线组,将合并处理后的竖直集划分为所述左侧直线组和所述右侧直线组。
6.根据权利要求1所述的方法,其特征在于,所述根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像的步骤,包括:
根据所述多个初始顶点,确定所述畸变图像的纵横比;
根据所述纵横比,确定与各所述初始顶点一一对应的多个目标顶点;
根据所述多个初始顶点以及所述多个目标顶点,对所述畸变图像进行透视变换处理,得到校正图像。
7.根据权利要求6所述的方法,其特征在于,所述根据所述多个初始顶点,确定所述畸变图像的纵横比的步骤,包括:
根据各所述初始顶点的位置,确定所述畸变图像的多个边长;
根据各所述边长以及所述畸变图像与水平轴的夹角,确定所述纵横比。
8.根据权利要求7所述的方法,其特征在于,所述根据各所述边长以及所述畸变图像与水平轴的夹角,确定所述纵横比的步骤,包括:
根据各所述边长,确定所述畸变图像的初始高度和初始宽度;
根据所述畸变图像与水平轴的夹角,对所述初始高度和所述初始宽度进行修正,得到修正高度和修正宽度;
将所述修正高度与所述修正宽度的比值确定为所述纵横比。
9.根据权利要求6所述的方法,其特征在于,所述根据所述纵横比,确定与各所述初始顶点一一对应的多个目标顶点的步骤,包括:
根据所述畸变图像的边长以及所述纵横比,确定与各所述初始顶点一一对应的多个目标顶点。
10.根据权利要求6所述的方法,其特征在于,所述根据所述多个初始顶点以及所述多个目标顶点,对所述畸变图像进行透视变换处理的步骤,包括:
根据所述多个初始顶点以及所述多个目标顶点的位置,确定透视变换矩阵;
采用所述透视变换矩阵,对所述畸变图像进行透视变换处理。
11.一种畸变校正装置,其特征在于,所述装置包括:
直线检测模块,被配置为对畸变图像进行直线检测,得到所述畸变图像中的多条直线;
直线分组模块,被配置为对所述多条直线进行分组,得到多个直线组;
边界选取模块,被配置为从各所述直线组中选取所述畸变图像的最优边界线;
初始顶点确定模块,被配置为根据所述最优边界线之间的交点,确定所述畸变图像的多个初始顶点;
透视变换模块,被配置为根据所述多个初始顶点,对所述畸变图像进行透视变换处理,得到校正图像;
所述边界选取模块,具体用于:
计算所述最优边界线中任意两条之间的总的交点个数;
根据所述总的交点个数以及预设规则,从所述交点中确定所述畸变图像的初始顶点;
其中,所述交点包括第一交点和第二交点,所述第一交点与所述第二交点由相同的两条所述最优边界线相交得到;
所述计算所述最优边界线中任意两条之间的总的交点个数,包括:
计算所述第一交点与所述第二交点之间的第一距离;
当所述第一距离小于或等于距离阈值时,将所述第一交点和所述第二交点进行合并;
其中,所述最优边界线包括最优上边界线、最优下边界线、最优左边界线和最优右边界线。
12.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至10中任一项所述的畸变校正方法。
13.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至10中任一项所述的畸变校正方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910946074.7A CN110689501B (zh) | 2019-09-29 | 2019-09-29 | 一种畸变校正方法、装置、电子设备及计算机可读存储介质 |
US16/945,336 US11295419B2 (en) | 2019-09-29 | 2020-07-31 | Distortion correction method and apparatus, electronic device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910946074.7A CN110689501B (zh) | 2019-09-29 | 2019-09-29 | 一种畸变校正方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110689501A CN110689501A (zh) | 2020-01-14 |
CN110689501B true CN110689501B (zh) | 2022-07-22 |
Family
ID=69111308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910946074.7A Active CN110689501B (zh) | 2019-09-29 | 2019-09-29 | 一种畸变校正方法、装置、电子设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11295419B2 (zh) |
CN (1) | CN110689501B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111311742B (zh) * | 2020-03-27 | 2023-05-05 | 阿波罗智能技术(北京)有限公司 | 三维重建方法、三维重建装置和电子设备 |
CN115885314B (zh) * | 2020-10-27 | 2024-11-26 | Oppo广东移动通信有限公司 | 图像的处理方法、装置、设备以及存储介质 |
CN113077396B (zh) * | 2021-03-29 | 2024-05-17 | Oppo广东移动通信有限公司 | 直线段检测方法及装置、计算机可读介质和电子设备 |
CN113393378B (zh) * | 2021-05-26 | 2023-05-02 | 浙江大华技术股份有限公司 | 光伏组件的图像拼接方法、装置、电子装置和存储介质 |
JP7328467B1 (ja) * | 2023-05-29 | 2023-08-16 | 錦鋒 李 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN116453131B (zh) * | 2023-06-15 | 2023-10-20 | 荣耀终端有限公司 | 文档图像矫正方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046657A (zh) * | 2015-06-23 | 2015-11-11 | 浙江大学 | 一种图像拉伸畸变自适应校正方法 |
CN106127701A (zh) * | 2016-06-16 | 2016-11-16 | 深圳市凌云视迅科技有限责任公司 | 鱼眼镜头图像畸变校正方法及装置 |
CN108564557A (zh) * | 2018-05-31 | 2018-09-21 | 京东方科技集团股份有限公司 | 图像校正方法及装置 |
CN108805124A (zh) * | 2018-04-18 | 2018-11-13 | 北京嘀嘀无限科技发展有限公司 | 图片处理方法及装置、计算机可读存储介质 |
CN109410140A (zh) * | 2018-10-24 | 2019-03-01 | 京东方科技集团股份有限公司 | 一种畸变校正方法、装置、系统及计算机可读存储介质 |
CN109409366A (zh) * | 2018-10-30 | 2019-03-01 | 四川长虹电器股份有限公司 | 基于角点检测的畸变图像校正方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3630166B2 (ja) * | 2003-06-26 | 2005-03-16 | セイコーエプソン株式会社 | 投写画像の歪補正量調整 |
US8395824B2 (en) * | 2008-07-17 | 2013-03-12 | Samsung Electronics Co., Ltd. | Method for determining ground line |
CN102930515A (zh) | 2012-10-24 | 2013-02-13 | 苏州两江科技有限公司 | 数字图像的几何畸变自动校正方法 |
EP3467775A1 (en) * | 2017-10-03 | 2019-04-10 | Fujitsu Limited | Estimating program, estimating method, and estimating system for camera parameter |
US11516448B2 (en) * | 2018-11-05 | 2022-11-29 | Korea University Research And Business Foundation | Method and apparatus for compensating projection images |
-
2019
- 2019-09-29 CN CN201910946074.7A patent/CN110689501B/zh active Active
-
2020
- 2020-07-31 US US16/945,336 patent/US11295419B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046657A (zh) * | 2015-06-23 | 2015-11-11 | 浙江大学 | 一种图像拉伸畸变自适应校正方法 |
CN106127701A (zh) * | 2016-06-16 | 2016-11-16 | 深圳市凌云视迅科技有限责任公司 | 鱼眼镜头图像畸变校正方法及装置 |
CN108805124A (zh) * | 2018-04-18 | 2018-11-13 | 北京嘀嘀无限科技发展有限公司 | 图片处理方法及装置、计算机可读存储介质 |
CN108564557A (zh) * | 2018-05-31 | 2018-09-21 | 京东方科技集团股份有限公司 | 图像校正方法及装置 |
CN109410140A (zh) * | 2018-10-24 | 2019-03-01 | 京东方科技集团股份有限公司 | 一种畸变校正方法、装置、系统及计算机可读存储介质 |
CN109409366A (zh) * | 2018-10-30 | 2019-03-01 | 四川长虹电器股份有限公司 | 基于角点检测的畸变图像校正方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210097653A1 (en) | 2021-04-01 |
CN110689501A (zh) | 2020-01-14 |
US11295419B2 (en) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110689501B (zh) | 一种畸变校正方法、装置、电子设备及计算机可读存储介质 | |
US10922794B2 (en) | Image correction method and device | |
CN109409366B (zh) | 基于角点检测的畸变图像校正方法及装置 | |
CN109035276B (zh) | 一种图像边缘提取方法、装置及自动驾驶系统 | |
CN109784250B (zh) | 自动引导小车的定位方法和装置 | |
CN108369650A (zh) | 将校准图案的图像内的候选点标识为该校准图案的可能特征点的方法 | |
CN109583365A (zh) | 基于成像模型约束非均匀b样条曲线拟合车道线检测方法 | |
US10152646B2 (en) | Keypoint identification | |
CN117576219B (zh) | 大广角鱼眼镜头单次拍摄图像的相机标定设备及标定方法 | |
CN110415304B (zh) | 一种视觉标定方法及系统 | |
CN114998773A (zh) | 适用于无人机系统航拍图像的特征误匹配剔除方法及系统 | |
CN111368573A (zh) | 一种基于几何特征约束的定位方法 | |
US20040109599A1 (en) | Method for locating the center of a fiducial mark | |
CN111553927B (zh) | 棋盘格角点检测方法、检测系统、计算机装置及存储介质 | |
CN110245674B (zh) | 模板匹配方法、装置、设备及计算机存储介质 | |
JP3659426B2 (ja) | エツジ検出方法及びエツジ検出装置 | |
CN118261835A (zh) | 一种手持式无标定图像畸变矫正方法及系统 | |
Klančar et al. | Robust and efficient vision system for group of cooperating mobile robots with application to soccer robots | |
CN115423746B (zh) | 一种用于计算蒙皮孔位和孔径的图像处理方法 | |
JP7003291B2 (ja) | 補正方法および像データを補正するための装置 | |
JP4530723B2 (ja) | パターンマッチング方法、パターンマッチング装置、および電子部品実装方法 | |
JP2008287338A (ja) | 画像処理装置 | |
Hong-Phuoc et al. | A Scale and Rotational Invariant Key-point Detector based on Sparse Coding | |
CN119251317B (zh) | 一种相机视野校正方法、电子设备及存储介质 | |
CN118134992B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |