CN110020656B - 图像的校正方法、装置及设备 - Google Patents

图像的校正方法、装置及设备 Download PDF

Info

Publication number
CN110020656B
CN110020656B CN201910092696.8A CN201910092696A CN110020656B CN 110020656 B CN110020656 B CN 110020656B CN 201910092696 A CN201910092696 A CN 201910092696A CN 110020656 B CN110020656 B CN 110020656B
Authority
CN
China
Prior art keywords
coordinates
coordinate
result
image
groups
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
Application number
CN201910092696.8A
Other languages
English (en)
Other versions
CN110020656A (zh
Inventor
陈家大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910092696.8A priority Critical patent/CN110020656B/zh
Publication of CN110020656A publication Critical patent/CN110020656A/zh
Application granted granted Critical
Publication of CN110020656B publication Critical patent/CN110020656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/247Aligning, centring, orientation detection or correction of the image by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)

Abstract

本说明书实施例提供一种图像的校正方法、装置及设备,校正方法中,获取待校正图像。对于待生成的目标图像中多个坐标点中的当前坐标点,通过对当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标。通过对N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标。根据N*M组第二坐标,获取待校正图像中对应的N*M个源像素点的像素值。对N*M个源像素点的像素值进行插值运算,以确定当前坐标点的像素值。根据针对多个坐标点中各个坐标点确定的像素值,生成目标图像。将目标图像作为校正后的图像。

Description

图像的校正方法、装置及设备
技术领域
本说明书一个或多个实施例涉及图像处理技术领域,尤其涉及一种图像的校正方法、装置及设备。
背景技术
为了提高图像识别算法的效率,在对图像进行识别之前,通常先对其进行校正。然而,传统的图像校正方法通常比较耗费计算机资源。以大角度图像(采用大视角的镜头所拍摄的图像)为例来说,其校正方法可以如下:先对该图像进行一次全图的畸变矫正,将镜头畸变进行还原。在还原后的图像上检测目标对象的四个角点的坐标,从而确定出目标对象所在的目标区域。之后针对目标区域进行透视变换,得到校正后的正面图像。然而,上述方法通常需要在内存中存储畸变矫正的全图。此外,由于畸变矫正为非线性变换,所以对图像的全图进行畸变矫正会极大地耗费计算机的软硬件资源。
因此,需用提供一种图像的校正方法,以减低图像的校正成本。
发明内容
本说明书一个或多个实施例描述了一种图像的校正方法、装置及设备,可以节约图像的校正成本。
第一方面,提供了一种图像的校正方法,包括:
获取待校正图像;
对于待生成的目标图像中多个坐标点中的当前坐标点,通过对所述当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标;
通过对所述N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标;
根据所述N*M组第二坐标,获取所述待校正图像中对应的N*M个源像素点的像素值;
对所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值;
根据针对所述多个坐标点中各个坐标点确定的像素值,生成所述目标图像;将所述目标图像作为校正后的图像。
第二方面,提供了一种图像的校正装置,包括:
获取单元,用于获取待校正图像;
第一运算单元,用于对于待生成的目标图像中多个坐标点中的当前坐标点,通过对所述当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标;
第二运算单元,用于通过对所述第一运算单元确定出的所述N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标;
所述获取单元,还一股脑有根据所述第二运算单元确定出的所述N*M组第二坐标,获取所述待校正图像中对应的N*M个源像素点的像素值;
确定单元,用于对所述获取单元获取的所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值;
生成单元,用于根据针对所述多个坐标点中各个坐标点确定的像素值,生成所述目标图像;将所述目标图像作为校正后的图像。
第三方面,提供了一种图像的校正设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
获取待校正图像;
对于待生成的目标图像中多个坐标点中的当前坐标点,通过对所述当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标;
通过对所述N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标;
根据所述N*M组第二坐标,获取所述待校正图像中对应的N*M个源像素点的像素值;
对所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值;
根据针对所述多个坐标点中各个坐标点确定的像素值,生成所述目标图像;将所述目标图像作为校正后的图像。
本说明书一个或多个实施例提供的图像的校正方法、装置及设备,获取待校正图像。对于待生成的目标图像中多个坐标点中的当前坐标点,通过对当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标。通过对N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标。根据N*M组第二坐标,获取待校正图像中对应的N*M个源像素点的像素值。对N*M个源像素点的像素值进行插值运算,以确定当前坐标点的像素值。根据针对多个坐标点中各个坐标点确定的像素值,生成目标图像。将目标图像作为校正后的图像。由此可以看出,本说明书提供的方案不需要对图像的全图进行畸变矫正,也不需要存储畸变矫正后的全图,从而可以节约图像的校正成本。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的图像的校正原理示意图;
图2为本说明书提供的图像的校正***示意图;
图3为本说明书一个实施例提供的图像的校正方法流程图;
图4为本说明书一个实施例提供的图像的校正装置示意图;
图5为本说明书一个实施例提供的图像的校正设备示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在介绍本说明书提供的方案之前,先对本方案的发明构思作以下说明。
首先,申请人了解到镜头畸变矫正(简称:畸变矫正)和透视变换都是图像处理中的点变换,即目标图像上的每个点,都可以通过运算,在原始图像上找到唯一对应的点。这里的目标图像可以是指畸变矫正后的图像或者透视变换后的图像。相应地,原始图像可以是指畸变矫正前的图像或者透视变换前的图像。
结合图1来进一步对上述图像间点对点的过程进行说明。图1中,假设左侧的二维码图像(以下简称图像a)为待校正图像,中间的二维码图像(以下简称图像b)为畸变矫正后的图像,右侧的二维码图像(以下简称图像c)为透视变换后的图像,也即校正后的图像。按照如上的图像间点对点的理论,对于图像c中的任一像素点P0,根据对其坐标进行与透视变换相关的运算之后的运算结果,可以在图像b中确定唯一对应的坐标点。假设该坐标点落在图像b中虚线框内的四个像素点之间,则该四个像素点可以称为外接像素点,其可以分别表示为:T0、T1、T2以及T3。当确定出某坐标点的外接像素点时,那么该坐标点的像素值可以通过对像素点T0-T3的像素值进行插值运算得到。由于上述坐标点与像素点P0相对应,因此也就得到了像素点P0的像素值。
同理,对于图像b中的任一像素点,以像素点T0为例来说,根据对其坐标进行与畸变矫正相关的运算之后的运算结果,可以在图像a中确定唯一对应的坐标点。假设该坐标点落在图像a中左上角虚线框内的四个像素点之间,则该四个像素点可以称为外接像素点,其可以分别表示为:S0、S1、S2以及S3。当确定出某坐标点的外接像素点时,那么该坐标点的像素值可以通过对像素点S0-S3的像素值进行插值运算得到。由于上述坐标点与像素点T0相对应,因此也就得到了像素点T0的像素值。基于同样的方法,可以确定出像素点T1、T2以及T3的像素值。其中,T1在图像a中的外接像素点为:S4、S5、S6以及S7。T2在图像a中的外接像素点为:S8、S9、S10以及S11。T3在图像a中的外接像素点为:S12、S13、S14以及S15。
通过以上的描述内容可知,对于图像c中的像素点P0,其像素值可以根据图像a中的像素点S0-S15间接确定。从而本方案可以省去对图像b的缓存,由此来达到内存资源的目的。
需要说明的是,在基于图像a中的像素点S0-S15的像素值间接确定图像c中像素点P0的像素值时,需先基于像素点P0的坐标反推出像素点S0-S15的坐标。因此,在对图像校正之前,可以先人为设定待生成的目标图像中的多个坐标点。之后,针对该多个坐标点中的每个坐标点,确定出其在图像a中对应的16个像素点。并基于该16个像素点的像素值,确定该坐标点的像素值。之后根据针对多个坐标点中各个坐标点确定的像素值,生成目标图像。可以理解的是,这里的目标图像即为校正后的图像。
此外,根据上文所述,要确定图像c中的像素点P0在图像b中对应的坐标点,则可以先对像素点P0的坐标进行与透视变换相关的运算。而与透视变换相关的运算通常基于透视变换矩阵来进行。因此透视变换矩阵的确定就成为要解决的问题。
本领域技术人员熟知,要确定透视变换矩阵,可以在透视变换前与透视变换后的两幅图像之间确定出至少4组相匹配的像素点。根据图1所示,透视变换是在图像b与图像c之间进行的,但由于本方案不对图像b进行存储,所以通过图像a来代替图像b。具体地,根据深度学习检测算法,在图像a中检测二维码的4个角点。对4个角点中的每个角点,从图像c中选取出对应的目标坐标点。这里选取过程可以为:如果图像a中的某个角点位于左上角,则从图像c中选取的目标坐标点为(0,0);如果图像a中的某个角点位于右下角,则从图像c中选取的目标坐标点为(w,h),其中,w为图像c的宽度,h为图像c的高度;依次类推。根据4个角点的坐标以及目标坐标点,来计算透视变换矩阵。
需要说明的是,以上是以插值运算为双线性插值为例,来对本方案的发明构思进行了简单说明。在实际应用中,上述插值运算也可以为最近领域插值运算或双三性插值运算等。当为其它插值运算时,上述外接像素点的个数也可以发生变化,如,图像b中的外接像素点的个数可以为16个,相应地,图像a中的外接像素点的个数可以为16*16=256个。
以上就是本方案的发明构思,以下将基于该发明构思对本方案进行详细阐述。
图2为本说明书提供的图像的校正***示意图。如图2所示,该***可以包括:获取模块202、检测模块204以及校正模块206。
获取模块202,用于获取待校正图像。
检测模块204,用于根据深度学习检测算法,在待校正图像中检测目标对象的指定个数的角点。以目标对象为二维码为例来说,这里的指定个数可以为4个,分别位于左上角、右上角、左下角和右下角。
校正模块206,用于对基于检测模块204检测到的角点的坐标所确定的区域进行图像校正,其具体校正过程后续进行说明。
图3为本说明书一个实施例提供的图像的校正方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者***或者装置,如,可以为图1中的图像的校正***。如图3所示,所述方法具体可以包括:
步骤302,获取待校正图像。
以图1为例来说,这里的图像可以为图像a。如,可以是由获取模块202来获取待校正图像。
步骤304,对于待生成的目标图像中多个坐标点中的当前坐标点,通过对当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标。
这里的多个坐标点可以是人为预先设定的。以待生成的目标图像的宽度为w,高度为h为例来说,该多个坐标点可以分别为:(0,0),(1,0),…,(w,0),(0,1),…,(0,h),(1,h),…,(w,h)。其中,坐标点(0,0),(w,0),(0,h)以及(w,h)分别位于待生成的目标图像的左上角、右上角、左下角以及右下角。需要说明的是,上述当前坐标点可以为多个坐标点中的任一坐标点。
可选地,在人为设定上述多个坐标点之后,在进行第一运算之前,可以先由检测模块204根据深度学习检测算法,在待校正图像中检测目标对象的指定个数的角点。对指定个数的角点中的每个角点,从多个坐标点选取出对应的目标坐标点。根据指定个数的角点的坐标以及目标坐标点,来计算透视变换矩阵。
需要说明的是,通过上述步骤计算透视变换矩阵,可以确保图像的校正过程只针对目标对象所在的区域(如,二维码区域)进行,由此,可以大大提升图像的校正效率。
当然,在实际应用中,也可以人为预先设定该透视变换矩阵,本说明书对此不再赘述。
回到步骤304中,其中确定出N组第一坐标的过程具体可以为:对当前坐标点进行第一运算,得到第一运算结果。根据第一运算结果,确定出N组第一坐标。这里对当前坐标点进行第一运算可以理解为:根据透视变换矩阵,对当前坐标点进行变换。该透视变换矩阵可以是由检测模块204计算得到,也可以是由人为预先设定。相应的,上述第一运算结果可以理解为:变换后的对应坐标。这里的对应坐标可以包括X坐标和Y坐标。
当第一运算结果为变换后的对应坐标时,上述根据第一运算结果,确定N组第一坐标的过程可以为:对X坐标进行预定操作,得到对应的第一操作结果。对Y坐标进行预定操作,得到对应的第一操作结果。对X坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果。对Y坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果。和/或,对X坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果。对Y坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果。将X坐标对应的各个操作结果分别与Y坐标对应的各个操作结果进行组合,得到N组第一坐标。这里的预定操作可以是指取整操作。
以N为4为例来说,上述基于变换后的对应坐标,确定4组第一坐标的过程可以为:对X坐标取整;对X坐标与0.5相加后取整;对Y坐标取整;对Y坐标与0.5相加后取整;两两组合上述四个取整结果,就可以得到上述4组第一坐标。
应理解,这里只是列举了一种第一坐标的确定过程。在实际应用中,上述各步骤也可以灵活变换。比如,对X坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果的步骤可以替换为:将X坐标对应的第一操作结果与预设阈值相加,将相加后的结果作为与X坐标对应的第二操作结果。再如,对X坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果的步骤可以替换为:将X坐标对应的第一操作结果与预设阈值相减,将相减后的结果作为与X坐标对应的第三操作结果。需要说明的是,在替换后的步骤中需设定预设阈值为正整数。
步骤306,通过对N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标。
其中确定出N*M组第二坐标的过程具体可以为:对每组第一坐标进行第二运算,得到第二运算结果。根据第二运算结果,确定M组第二坐标。根据与每组第一坐标对应的M组第二坐标,确定出N*M组第二坐标。这里的对每组第一坐标进行第二运算可以理解为:从预设的参数列表中选取与该一组第一坐标对应的变换参数。该预设的参数列表中存储有待校正图像中各个源像素点的坐标的变换参数,该变换参数是根据拍摄待校正图像的拍摄设备的镜头参数设定的。根据变换参数,对该组第一坐标进行变换,以得到变换后的第一坐标。相应的,上述第二运算结果可以理解为:变换后的第一坐标。这里的变换后的第一坐标可以包括X坐标和Y坐标。从而上述根据第二运算结果,确定M组第二坐标可以理解为:基于变换后的第一坐标,确定M组第二坐标。这里的M组第二坐标的确定过程可以同上N组第一坐标的确定过程,在此不复赘述。
需要说明的是,上述N和M均为正整数,其具体取值可以根据后续所选择的插值运算来确定。具体地,M的取值根据后续所选择的第一插值运算确定,N的取值根据后续所选择的第二插值运算确定。以第一插值运算和第二插值运算相同为例来说,当其均为双线性插值运算时,上述N可以取值为4,上述M也可以取值为4。当其均为其它插值运算时,上述N也可以取值为16,上述M也可以取值为16,本说明书对此不作限定。
步骤308,根据N*M组第二坐标,获取待校正图像中对应的N*M个源像素点的像素值。
步骤310,对N*M个源像素点的像素值进行插值运算,以确定当前坐标点的像素值。
这里的插值运算可以包括但不限于双线性插值运算、最近领域插值运算以及双三性插值运算等。
在一种实现方式中,上述插值运算的过程可以为:从N*M个源像素点中选取M个源像素点,其中,M个源像素点的M组第二坐标是与一组第一坐标相对应的。对M个源像素点的像素值进行第一插值运算,得到第一插值结果。对与N次第一插值运算对应的N个第一插值结果进行第二插值运算,得到第二插值结果。将第二插值结果作为当前坐标点的像素值。以图1为例来说,这里的M个源像素点可以为图像a中的像素点S0-S3;或者,可以为图像a中的像素点S4-S7;或者,可以为图像a中的像素点S8-11;或者,可以为图像a中的像素点S12-S15。以像素点S0-S3为例来说,可以对该4个像素点的像素值进行双线性插值运算,从而得到对应的第一插值结果。此外,还可以对其它3组像素点分别进行双线性插值运算,并得到对应的第一插值结果。如,该4个第一插值结果可以分别表示为:
P(T0)=f(S0,S1,S2,S3);
P(T1)=f(S4,S5,S6,S7);
P(T2)=f(S8,S9,S10,S11);
P(T3)=f(S12,S13,S14,S15)。
其中,P(T0)、P(T1)、P(T2)以及P(T3)为上述4个第一插值结果,分别用于表示像素点T0、T1、T2以及T3的像素值。f()为双线性插值函数。
在获取到上述4个第一插值结果再进行第二插值运算,从而得到上述第二插值结果,如下所示:
P(T)=f(P(T0),P(T0),P(T2),P(T3))。
其中,T为当前坐标点,P(T)为第二插值结果,用于表示当前坐标点T的像素值。
在其它实现方式中,也可以采用其它插值运算对N*M个源像素点的像素值只进行一次插值运算,并将插值结果作为当前坐标点的像素值,本说明书对此不作限定。
步骤312,根据针对多个坐标点中各个坐标点确定的像素值,生成目标图像。
可以理解的是,这里的目标图像即为校正后的图像。
以图1为例来说,目标图像即为图像c。
需要说明的是,上述步骤304-步骤310可以是由校正模块206执行的。
综上,本方案在无需缓存畸变矫正的图像的情况下,也可以完成图像的畸变矫正和透视变换,这可以节约图像校正的成本。此外,本方案先对待生成的目标图像中的坐标点进行与透视变换相关的运算以及与畸变矫正相关的运算,以选取对应的N*M个源像素点。之后针对该N*M个源像素点的像素值进行插值运算,得到校正后的图像的方法,相当于对图像的畸变矫正和透视变换进行了融合,从而可以极大地减少计算量。
与上述图像的校正方法对应地,本说明书一个实施例还提供的一种图像的校正装置,如图4所示,该装置可以包括:
获取单元402,用于获取待校正图像。
这里的获取单元402的功能可以由图2中的获取模块202来实现。
第一运算单元404,用于对于待生成的目标图像中多个坐标点中的当前坐标点,通过对当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标。
第一运算单元404具体可以用于:
对当前坐标点进行第一运算,得到第一运算结果。
根据第一运算结果,确定出N组第一坐标。
第二运算单元406,用于通过对第一运算单元404确定出的N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标。
第二运算单元406具体可以用于:
对每组第一坐标进行第二运算,得到第二运算结果。
根据第二运算结果,确定M组第二坐标。
根据与每组第一坐标对应的M组第二坐标,确定出N*M组第二坐标。
获取单元402,还用于根据第二运算单元406确定出的N*M组第二坐标,获取待校正图像中对应的N*M个源像素点的像素值。
确定单元408,用于对获取单元402获取的N*M个源像素点的像素值进行插值运算,以确定当前坐标点的像素值。
生成单元410,用于根据针对多个坐标点中各个坐标点确定的像素值,生成目标图像,将目标图像作为校正后的图像。
需要说明的是,上述第一运算单元404、第二运算单元406、确定单元408以及生成单元410的功能可以由图2中的校正模块206来实现。
可选地,该装置还可以包括:
检测单元412,用于根据深度学习检测算法,在待校正图像中检测目标对象的指定个数的角点。
选取单元414,用于对检测单元412检测的指定个数的角点中的每个角点,从多个坐标点中选取出对应的目标坐标点。
第三运算单元416,用于根据检测单元412检测的指定个数的角点的坐标以及选取单元414选取的目标坐标点,计算透视变换矩阵。
这里的检测单元412、选取单元414以及第三运算单元416的功能可以由图2中的检测模块204来实现。
第一运算单元404还具体用于:
根据透视变换矩阵,对当前坐标点进行变换,得到变换后的对应坐标,将对应坐标作为第一运算结果。
可选地,该对应坐标可以包括X坐标和Y坐标。第一运算单元404还具体可以用于:
对X坐标进行预定操作,得到对应的第一操作结果。对Y坐标进行预定操作,得到对应的第一操作结果。
对X坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果。对Y坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果。和/或,
对X坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果。对Y坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果。
将X坐标对应的各个操作结果分别与Y坐标对应的各个操作结果进行组合,得到N组第一坐标。
可选地,第二运算单元406还具体可以用于:
从预设的参数列表中选取与该一组第一坐标对应的变换参数。该预设的参数列表中存储有待校正图像中各个源像素点的坐标的变换参数,该变换参数是根据拍摄待校正图像的拍摄设备的镜头参数设定的。
根据变换参数,对该组第一坐标进行变换,以得到变换后的第一坐标,将变换后的第一坐标作为第二运算结果。
可选地,变换后的第一坐标可以包括X坐标和Y坐标,第二运算单元406还具体可以用于:
对X坐标进行预定操作,得到对应的第一操作结果。对Y坐标进行预定操作,得到对应的第一操作结果。
对X坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果。对Y坐标与预设阈值相加后的结果进行预定操作,得到对应的第二操作结果。和/或,
对X坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果。对Y坐标与预设阈值相减后的结果进行预定操作,得到对应的第三操作结果。
将X坐标对应的各个操作结果分别与Y坐标对应的各个操作结果进行组合,得到M组第二坐标。
可选地,上述预定操作可以包括取整操作。
可选地,确定单元408具体可以用于:
从N*M个源像素点中选取M个源像素点,其中,M个源像素点的M组第二坐标是与一组第一坐标相对应的。
对M个源像素点的像素值进行第一插值运算,得到第一插值结果。
对与N次第一插值运算对应的N个第一插值结果进行第二插值运算,得到第二插值结果。
将第二插值结果作为当前坐标点的像素值。
这里的第一插值运算或者所述第二插值运算可以包括以下任一种:双线性插值运算、最近领域插值运算以及双三性插值运算。当第一插值运算为双线性插值运算,且第二插值运算为双线性插值运算时,N等于4,M等于4。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的图像的校正装置,可以节约图像的校正成本。
与上述图像的校正方法对应地,本说明书实施例还提供了一种图像的校正设备,如图5所示,该设备可以包括:存储器502、一个或多个处理器504以及一个或多个程序。其中,该一个或多个程序存储在存储器502中,并且被配置成由一个或多个处理器504执行,该程序被处理器504执行时实现以下步骤:
获取待校正图像。
对于待生成的目标图像中多个坐标点中的当前坐标点,通过对当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标。
通过对N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标。
根据N*M组第二坐标,获取待校正图像中对应的N*M个源像素点的像素值。
对N*M个源像素点的像素值进行插值运算,以确定当前坐标点的像素值。
根据针对多个坐标点中各个坐标点确定的像素值,生成目标图像,将目标图像作为校正后的图像。
本说明书一个实施例提供的图像的校正设备,可以节约图像的校正成本。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块个成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的个成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立个件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意个合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (21)

1.一种图像的校正方法,包括:
获取待校正图像;
对于待生成的目标图像中多个坐标点中的当前坐标点,通过对所述当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标;
通过对所述N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标;
根据所述N*M组第二坐标,获取所述待校正图像中对应的N*M个源像素点的像素值;
对所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值;
根据针对所述多个坐标点中各个坐标点确定的像素值,生成所述目标图像;将所述目标图像作为校正后的图像。
2.根据权利要求1所述的方法,所述确定出N组第一坐标包括:
对所述当前坐标点进行所述第一运算,得到第一运算结果;
根据所述第一运算结果,确定出所述N组第一坐标;
所述确定出N*M组第二坐标包括:
对每组第一坐标进行所述第二运算,得到第二运算结果;
根据所述第二运算结果,确定M组第二坐标;
根据与每组第一坐标对应的M组第二坐标,确定出所述N*M组第二坐标。
3.根据权利要求2所述的方法,在所述确定出N组第一坐标之前,还包括:
根据深度学习检测算法,在所述待校正图像中检测目标对象的指定个数的角点;
对所述指定个数的角点中的每个角点,从所述多个坐标点中选取出对应的目标坐标点;
根据所述指定个数的角点的坐标以及所述目标坐标点,计算透视变换矩阵;
所述对所述当前坐标点进行所述第一运算,得到第一运算结果,包括:
根据所述透视变换矩阵,对所述当前坐标点进行变换,得到变换后的对应坐标;将所述对应坐标作为所述第一运算结果。
4.根据权利要求3所述的方法,所述对应坐标包括X坐标和Y坐标;所述根据所述第一运算结果,确定出所述N组第一坐标,包括:
对所述X坐标进行预定操作,得到对应的第一操作结果;对所述Y坐标进行预定操作,得到对应的第一操作结果;
对所述X坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;对所述Y坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;和/或,
对所述X坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;对所述Y坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;
将所述X坐标对应的各个操作结果分别与所述Y坐标对应的各个操作结果进行组合,得到所述N组第一坐标。
5.根据权利要求2所述的方法,所述对每组第一坐标进行所述第二运算,得到所述第二运算结果,包括:
从预设的参数列表中选取与每组第一坐标对应的变换参数;所述预设的参数列表中存储有所述待校正图像中各个源像素点的坐标的变换参数,所述变换参数是根据拍摄所述待校正图像的拍摄设备的镜头参数设定的;
根据所述变换参数,对该组第一坐标进行变换,以得到变换后的第一坐标;将所述变换后的第一坐标作为所述第二运算结果。
6.根据权利要求5所述的方法,所述变换后的第一坐标包括X坐标和Y坐标;所述根据所述第二运算结果,确定M组第二坐标,包括:
对所述X坐标进行预定操作,得到对应的第一操作结果;对所述Y坐标进行预定操作,得到对应的第一操作结果;
对所述X坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;对所述Y坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;和/或,
对所述X坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;对所述Y坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;
将所述X坐标对应的各个操作结果分别与所述Y坐标对应的各个操作结果进行组合,得到所述M组第二坐标。
7.根据权利要求4或6所述的方法,所述预定操作包括取整操作。
8.根据权利要求2所述的方法,所述对所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值,包括:
从所述N*M个源像素点中选取M个源像素点,其中,所述M个源像素点的M组第二坐标是与一组第一坐标相对应的;
对所述M个源像素点的像素值进行第一插值运算,得到第一插值结果;
对与N次第一插值运算对应的N个第一插值结果进行第二插值运算,得到第二插值结果;
将所述第二插值结果作为所述当前坐标点的像素值。
9.根据权利要求8所述的方法,所述第一插值运算或者所述第二插值运算包括以下任一种:双线性插值运算、最近领域插值运算以及双三性插值运算。
10.根据权利要求9所述的方法,当所述第一插值运算为所述双线性插值运算,且所述第二插值运算为所述双线性插值运算时,所述N等于4,所述M等于4。
11.一种图像的校正装置,包括:
获取单元,用于获取待校正图像;
第一运算单元,用于对于待生成的目标图像中多个坐标点中的当前坐标点,通过对所述当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标;
第二运算单元,用于通过对所述第一运算单元确定出的所述N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标;
所述获取单元,还用于根据所述第二运算单元确定出的所述N*M组第二坐标,获取所述待校正图像中对应的N*M个源像素点的像素值;
确定单元,用于对所述获取单元获取的所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值;
生成单元,用于根据针对所述多个坐标点中各个坐标点确定的像素值,生成所述目标图像;将所述目标图像作为校正后的图像。
12.根据权利要求11所述的装置,
所述第一运算单元具体用于:
对所述当前坐标点进行所述第一运算,得到第一运算结果;
根据所述第一运算结果,确定出所述N组第一坐标;
所述第二运算单元具体用于:
对每组第一坐标进行所述第二运算,得到第二运算结果;
根据所述第二运算结果,确定M组第二坐标;
根据与每组第一坐标对应的M组第二坐标,确定出所述N*M组第二坐标。
13.根据权利要求12所述的装置,还包括:
检测单元,用于根据深度学习检测算法,在所述待校正图像中检测目标对象的指定个数的角点;
选取单元,用于对所述检测单元检测的所述指定个数的角点中的每个角点,从所述多个坐标点中选取出对应的目标坐标点;
第三运算单元,用于根据所述检测单元检测的所述指定个数的角点的坐标以及所述选取单元选取的所述目标坐标点,计算透视变换矩阵;
所述第一运算单元还具体用于:
根据所述透视变换矩阵,对所述当前坐标点进行变换,得到变换后的对应坐标;将所述对应坐标作为所述第一运算结果。
14.根据权利要求13所述的装置,所述对应坐标包括X坐标和Y坐标;所述第一运算单元还具体用于:
对所述X坐标进行预定操作,得到对应的第一操作结果;对所述Y坐标进行预定操作,得到对应的第一操作结果;
对所述X坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;对所述Y坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;和/或,
对所述X坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;对所述Y坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;
将所述X坐标对应的各个操作结果分别与所述Y坐标对应的各个操作结果进行组合,得到所述N组第一坐标。
15.根据权利要求12所述的装置,所述第二运算单元还具体用于:
从预设的参数列表中选取与每组第一坐标对应的变换参数;所述预设的参数列表中存储有所述待校正图像中各个源像素点的坐标的变换参数,所述变换参数是根据拍摄所述待校正图像的拍摄设备的镜头参数设定的;
根据所述变换参数,对该组第一坐标进行变换,以得到变换后的第一坐标;将所述变换后的第一坐标作为所述第二运算结果。
16.根据权利要求15所述的装置,所述变换后的第一坐标包括X坐标和Y坐标;所述第二运算单元还具体用于:
对所述X坐标进行预定操作,得到对应的第一操作结果;对所述Y坐标进行预定操作,得到对应的第一操作结果;
对所述X坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;对所述Y坐标与预设阈值相加后的结果进行所述预定操作,得到对应的第二操作结果;和/或,
对所述X坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;对所述Y坐标与预设阈值相减后的结果进行所述预定操作,得到对应的第三操作结果;
将所述X坐标对应的各个操作结果分别与所述Y坐标对应的各个操作结果进行组合,得到所述M组第二坐标。
17.根据权利要求14或16所述的装置,所述预定操作包括取整操作。
18.根据权利要求12所述的装置,所述确定单元具体用于:
从所述N*M个源像素点中选取M个源像素点,其中,所述M个源像素点的M组第二坐标是与一组第一坐标相对应的;
对所述M个源像素点的像素值进行第一插值运算,得到第一插值结果;
对与N次第一插值运算对应的N个第一插值结果进行第二插值运算,得到第二插值结果;
将所述第二插值结果作为所述当前坐标点的像素值。
19.根据权利要求18所述的装置,所述第一插值运算或者所述第二插值运算包括以下任一种:双线性插值运算、最近领域插值运算以及双三性插值运算。
20.根据权利要求19所述的装置,当所述第一插值运算为所述双线性插值运算,且所述第二插值运算为所述双线性插值运算时,所述N等于4,所述M等于4。
21.一种图像的校正设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
获取待校正图像;
对于待生成的目标图像中多个坐标点中的当前坐标点,通过对所述当前坐标点进行与透视变换相关的第一运算,确定出N组第一坐标;
通过对所述N组第一坐标中每组第一坐标进行与镜头畸变矫正相关的第二运算,确定出N*M组第二坐标;
根据所述N*M组第二坐标,获取所述待校正图像中对应的N*M个源像素点的像素值;
对所述N*M个源像素点的像素值进行插值运算,以确定所述当前坐标点的像素值;
根据针对所述多个坐标点中各个坐标点确定的像素值,生成所述目标图像;将所述目标图像作为校正后的图像。
CN201910092696.8A 2019-01-30 2019-01-30 图像的校正方法、装置及设备 Active CN110020656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910092696.8A CN110020656B (zh) 2019-01-30 2019-01-30 图像的校正方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910092696.8A CN110020656B (zh) 2019-01-30 2019-01-30 图像的校正方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110020656A CN110020656A (zh) 2019-07-16
CN110020656B true CN110020656B (zh) 2023-06-23

Family

ID=67188912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910092696.8A Active CN110020656B (zh) 2019-01-30 2019-01-30 图像的校正方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110020656B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111222510B (zh) * 2020-03-13 2024-03-15 中冶长天国际工程有限责任公司 一种烧结机的台车箅条图像摄取方法及***
CN113538283B (zh) * 2021-07-22 2024-04-30 浙江赫千电子科技有限公司 一种冗余鱼眼摄像头拍摄图像的畸变矫正方法
CN115601231B (zh) * 2022-11-22 2023-03-10 南京后摩智能科技有限公司 图像处理方法、装置、硬件加速器、芯片以及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI441514B (zh) * 2008-11-12 2014-06-11 Avisonic Technology Corp 魚眼影像校正及減輕透視變形的影像處理方法及相關影像處理裝置
CN101847209B (zh) * 2010-06-01 2012-06-06 福建新大陆电脑股份有限公司 一种字符图像校正方法
CN107424126A (zh) * 2017-05-26 2017-12-01 广州视源电子科技股份有限公司 图像校正方法、装置、设备、***及摄像设备和显示设备

Also Published As

Publication number Publication date
CN110020656A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
CN110020656B (zh) 图像的校正方法、装置及设备
US9967516B2 (en) Stereo matching method and device for performing the method
US10642622B2 (en) Arithmetic processing device and control method of the arithmetic processing device
CN111027438B (zh) 一种人体姿态的迁移方法、移动终端以及计算机存储介质
CN111050150B (zh) 焦距调节方法、装置、投影设备及存储介质
JP2019101686A (ja) 画像処理装置、画像処理方法およびプログラム
CN109859314B (zh) 三维重建方法、装置、电子设备和存储介质
JP2018085140A (ja) ホモグラフィの修正
CN110956131A (zh) 单目标追踪方法、装置及***
JP5751254B2 (ja) 画像処理システム、画像処理方法および画像処理プログラム
JP2016015037A (ja) 情報処理装置及びその制御方法、並びに、ビデオカメラ
CN116012241A (zh) 图像畸变校正方法、装置、计算机设备和存储介质
KR101362183B1 (ko) 카메라 자세 기반의 깊이 영상 노이즈 제거 장치 및 방법
KR20160066425A (ko) 이미지 블러링 방법 및 장치
JP2016126673A (ja) 情報処理装置及びその制御方法、並びに、ビデオカメラ
CN110852958B (zh) 基于物体倾斜角度的自适应校正方法和装置
JPWO2019065784A1 (ja) 画像処理装置、画像処理方法、及びプログラム
WO2017154417A1 (ja) 画像処理装置、画像処理方法、及びプログラム
CN110288543B (zh) 一种深度图像保边处理方法和装置
JP2021129190A (ja) 画像処理装置、画像処理方法およびプログラム
US9454801B2 (en) Image processing apparatus, method for processing image, and program
CN112183563A (zh) 一种图像识别模型的生成方法、存储介质及应用服务器
US20190197699A1 (en) Optical flow accuracy calculating device and optical flow accuracy calculating method
US10395378B2 (en) Detecting periodic patterns and aperture problems for motion estimation
JP7321213B2 (ja) 情報処理装置、情報処理方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201015

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201015

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant