CN114648458A - 鱼眼图像矫正方法、装置、电子设备及存储介质 - Google Patents

鱼眼图像矫正方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114648458A
CN114648458A CN202210301447.7A CN202210301447A CN114648458A CN 114648458 A CN114648458 A CN 114648458A CN 202210301447 A CN202210301447 A CN 202210301447A CN 114648458 A CN114648458 A CN 114648458A
Authority
CN
China
Prior art keywords
image
spherical model
pixel
pixel points
fisheye
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
Application number
CN202210301447.7A
Other languages
English (en)
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202210301447.7A priority Critical patent/CN114648458A/zh
Publication of CN114648458A publication Critical patent/CN114648458A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations

Landscapes

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

Abstract

本申请提供一种鱼眼图像矫正方法、装置、电子设备及存储介质,所述方法包括:对待矫正的鱼眼图像进行扫描检测,得到所述鱼眼图像中的畸变图像;根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图中包括多个像素点;遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值;基于所述球面模型的展开图中各像素点的坐标以及像素值得到所述复原图像。可以简化鱼眼图像矫正的复杂度,提高鱼眼图像矫正效率。

Description

鱼眼图像矫正方法、装置、电子设备及存储介质
技术领域
本申请涉及图像处理技术领域,具体而言,涉及一种鱼眼图像矫正方法、装置、电子设备及存储介质。
背景技术
在机器人导航、虚拟现实、基于图像的绘制以及视觉监控等计算机视觉领域,需要使用具有较大视场的广角或鱼眼摄像机拍摄,但使用广角或鱼眼摄像机拍摄的图像具有非常严重的变形,不符合人的观察习惯,需要进行矫正为复原图像,才能生成符合人观察习惯的图像内容。
现有技术中,可以使用3D鱼眼图像矫正,使鱼眼图像中的像素点投影到空间中在根据矫正模型将其映射到矫正图像中,根据图像像素点和对应光线3D向量间的关系来实现矫正。或者使用2D鱼眼图像矫正,例如经度坐标矫正、多项式坐标变换、以及极半径映射等。
但是,现有技术的方法存在映射关系比较复杂,算法复杂度高的问题。
因此,需要提供一种矫正方法简化图像矫正过程。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种鱼眼图像矫正方法、装置、电子设备及存储介质,简化图像矫正算法的复杂度,提高计算机图像矫正效率。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种鱼眼图像矫正方法,该方法应用于终端设备,所述方法包括:
对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像;
根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图中包括多个像素点;
遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值;
基于所述球面模型的展开图中各像素点的坐标以及像素值得到所述复原图像。
可选的,所述对待矫正的鱼眼图像进行扫描检测,得到所述鱼眼图像中的畸变图像,包括:
将所述鱼眼图像转换为二值图像;
对所述二值图像进行扫描,确定圆心和半径;
根据所述圆心和半径确定所述鱼眼图像中的畸变区域,将包含在所述畸变区域内的图像作为所述畸变图像。
可选的,所述根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,包括:
将所述畸变图像的边缘所形成的圆形作为底面圆,并将所述圆形的圆心作为球心,得到球面模型;
分别将所述球面模型中各点的坐标转换为二维坐标,得到所述球面模型的展开图。
可选的,所述根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值,包括:
根据所述当前遍历像素点在所述球面模型的展开图中的坐标进行拟映射运算;
根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点;
根据所述目标像素点在所述畸变图像中的像素值,确定所述当前遍历像素点在所述球面模型的展开图中的像素值。
可选的,所述根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点,包括:
若拟映射运算所得到的坐标为整数坐标,则将所述畸变图像中具有所述整数坐标的像素点作为所述目标像素点。
可选的,所述根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点,包括:
若拟映射运算所得到的坐标为非整数坐标,则提取所述非整数坐标中的整数值,并根据所述整数值确定多个关联像素点,将所述多个关联像素点作为所述目标像素点。
可选的,所述根据所述目标像素点在所述畸变图像中的像素值,确定所述当前遍历像素点在所述球面模型的展开图中的像素值,包括:
对各关联像素点的像素值进行插值处理,得到插值处理后的像素值;
将所述插值处理后的像素值作为所述当前遍历像素点在所述球面模型的展开图中的像素值。
第二方面,本申请实施例还提供了一种鱼眼图像矫正的装置,所述装置包括:
检测模块,用于对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像;
处理模块,用于根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图中包括多个像素点;
确定模块,用于遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值;
处理模块,用于基于所述球面模型的展开图中各像素点的坐标以及像素值得到所述复原图像。
检测模块具体用于:
将所述鱼眼图像转换为二值图像;
对所述二值图像进行扫描,确定圆心和半径;
根据所述圆心和半径确定所述鱼眼图像中的畸变区域,将包含在所述畸变区域内的图像作为所述畸变图像。
处理模块具体用于:
将所述畸变图像的边缘所形成的圆形作为底面圆,并将所述圆形的圆心作为球心,得到球面模型;
分别将所述球面模型中各点的坐标转换为二维坐标,得到所述球面模型的展开图。
确定模块具体用于:
根据所述当前遍历像素点在所述球面模型的展开图中的坐标进行拟映射运算;
根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点;
根据所述目标像素点在所述畸变图像中的像素值,确定所述当前遍历像素点在所述球面模型的展开图中的像素值。
确定模块具体用于:
若拟映射运算所得到的坐标为整数坐标,则将所述畸变图像中具有所述整数坐标的像素点作为所述目标像素点。
确定模块具体用于:
若拟映射运算所得到的坐标为非整数坐标,则提取所述非整数坐标中的整数值,并根据所述整数值确定多个关联像素点,将所述多个关联像素点作为所述目标像素点。
确定模块具体用于:
对各关联像素点的像素值进行插值处理,得到插值处理后的像素值;
将所述插值处理后的像素值作为所述当前遍历像素点在所述球面模型的展开图中的像素值。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当应用程序运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行上述第一方面所述的鱼眼图像矫正方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被读取并执行上述第一方面所述的鱼眼图像矫正方法的步骤。
本申请的有益效果是:
本申请提供的一种鱼眼图像矫正方法、装置、电子设备及存储介质,通过对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像;根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图中包括多个像素点;遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值;基于所述球面模型的展开图中各像素点的坐标以及像素值得到所述复原图像。通过二维球面模型的展开图的像素点确定畸变图像中的像素点可以简化鱼眼图像矫正的复杂度,提高鱼眼图像矫正的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种鱼眼图像矫正方法的流程示意图;
图2为本申请实施例提供的球面模型的侧切面图的示意图;
图3为本申请实施例提供的另一种鱼眼图像矫正方法的流程示意图;
图4为本申请实施例提供的球面模型的示意图;
图5为本申请实施例提供的又一种鱼眼图像矫正方法的流程示意图;
图6为本申请实施例提供的鱼眼图像矫正方法的完整流程示意图;
图7为本申请实施例提供的一种鱼眼图像矫正的控制装置;
图8为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
图1为本申请实施例提供的一种鱼眼图像矫正方法的流程示意图,如图1所示,该方法应用于电子设备,例如可以为台式电脑、笔记本电脑、服务器等。该方法包括:
S101、对待矫正的鱼眼图像进行检测,得到鱼眼图像中的畸变图像。
可选的,鱼眼图像是通过鱼眼镜头摄像机拍摄的图像,相比于普通镜头,鱼眼镜头具有更广的视角,因此鱼眼镜头可以获取更多的图像信息,但是鱼眼镜头所拍摄的图像均为宽视野内场景畸变的图像,镜头中心部分的畸变最小,可以忽略不计,以镜头为中心,离镜头越远的地方畸变越大。鱼眼镜头是一种焦距极短而且视角接近或者达到180°的镜头,当使用鱼眼镜头向正前方拍摄时,鱼眼镜头可以拍摄下前方半球形空间的一切,但图像并不会充满整个画幅,而是在画幅内形成一个圆形区域。鱼眼图像在圆形区域外图像点的颜色是黑色,而在圆形区域内的黑色图像点是比较少的,该圆形区域内集中了绝大部分图像信息,且该圆形区域内的图像像素点亮度值大于该区域以外的像素点的亮度值,则,该圆形区域为鱼眼镜头拍摄的鱼眼图像的有效区域。如果要将这些具有严重变形的鱼眼图像矫正为人们视觉习惯的图像,在鱼眼图像矫正之前,可以把鱼眼图像中的有效区域提取出来,并通过对有效区域上的图像进行处理实现鱼眼图像矫正。示例性的,可以通过预设算法对鱼眼图像进行逐步扫描,通过比较有效区域与其他区域之间的不同来识别出有效区域,例如可以通过扫描鱼眼图像,得到鱼眼图像中各区域的黑色像素点的数量、图像像素点的亮度值等,并通过对各区域的黑色像素点的数量、图像像素点的亮度值的比较识别出鱼眼图像中的有效区域。进一步的,将识别出的有效区域作为需要矫正的鱼眼图像中的畸变图像,再基于该畸变图像进行矫正。
值得说明的是,本实施例中对获取鱼眼图像进行检测以识别有效区域的方法除了可以包括上述的扫描检测方法,还可以包括面积统计法、区域生长法等。
S102、根据畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,球面模型的展开图中包括多个像素点。
可选的,上述复原图像指的是畸变图像经过矫正之后得到的图像。可选的,将鱼眼镜头成像面可以看作球面,采用球面模型来表示完整的复原图像,可以将整幅鱼眼图像映射到一个球面模型上,根据球面模型得到对应的复原图像,该球面模型可以是横竖间隔等距的栅格模型,各栅格之间的交叉点的坐标与复原图像中的像素点坐标对应。本申请中为了简化矫正算法,将球面模型展开得到球面模型的展开图,该球面模型的展开图可以为一个二维平面,具体地可以通过预设算法进行转换,则在二维平面上的像素点的坐标可以使用(x,y)来表示,x为该二维平面的横轴,y为该二维平面的纵轴。经过S101步骤获取到的畸变图像为圆形区域,通过将畸变图像映射至半球上,从而建立复原图像对应的球面模型,而球面模型的展开图上的像素点坐标与畸变图像的像素点坐标存在映射关系,如图2所示,为球面模型的侧切面图,例如在畸变图像中有一像素点P,则像素点P在球面模型上的映射点为Q,同时点Q为复原图像上的像素点。
S103、遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定当前遍历像素点在畸变图像中对应的目标像素点,并根据目标像素点在畸变图像中的像素值,得到当前遍历像素点在球面模型的展开图中的像素值。
可选的,球面模型的展开图上的每个像素点的坐标与畸变图像中像素点的坐标存在映射关系,例如可以通过建立畸变图像上的像素点到畸变图像中心的距离与复原图像上对应像素点到复原图像中心的距离之间的关系,根据球面模型的展开图上的像素点的坐标以及预设的公式,确定在畸变图像中对应的目标像素点的坐标,具体的,如图2所示,当前遍历点为球面模型的展开图上的像素点Q时,根据像素点Q的坐标以及预设公式,计算出畸变图像上对应的像素点P的坐标,将像素点P中的像素值作为球面模型的展开图中当前遍历像素点Q的像素值,具体地,可以通过复制,预设公式等方式将像素点P的像素值赋值到复原图像中的像素点Q中。
示例性的,若在球面模型的展开图上的当前遍历像素点为Q,且像素点Q在球面模型的展开图中的坐标可以表示为(x,y),则通过预设公式计算出畸变图像中对应的目标像素点P,若像素点P在畸变图像中的坐标可以表示为(u,v),则根据预设公式可以得到u,v是使用x和y表示的函数,根据已知Q(x,y)以及预设公式可以相应的计算出与(x,y)对应的(u,v),且畸变图像中的像素点P(u,v)坐标处的像素值为9,则可以通过复制的方式将该像素值赋值到球面模型的展开图像素点Q(x,y)的坐标中,则复原图像在Q(x,y)处的像素值也为9。
S104、基于球面模型的展开图中各像素点的坐标以及像素值得到复原图像。
可选的,根据步骤S103中的遍历球面模型的展开图的像素点的过程,每遍历一个球面模型的展开图的像素点,会确定出畸变图像中对应的像素点以及球面模型的展开图中像素点的像素值,当将球面模型的展开图中的所有像素点坐标都遍历完成后,可以得到球面模型的展开图中所有像素点坐标对应的像素值,将得到的像素值相应的赋值到对应的球面模型的展开图的像素点坐标中,从而得到复原图像。
综上所述,本实施例通过对待矫正的鱼眼图像进行扫描检测,得到所述鱼眼图像中的畸变图像;根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图;遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值;基于所述球面模型的展开图中各像素点的坐标以及像素值得到所述复原图像。通过球面模型的展开图的像素点确定畸变图像中的像素点可以简化鱼眼图像矫正的复杂度,提高鱼眼图像矫正的效率。
图3为本申请实施例提供的另一种鱼眼图像矫正方法的流程示意图,如图3所示,上述步骤S101中对待矫正的鱼眼图像进行检测,得到鱼眼图像中的畸变图像,包括:
S201、将鱼眼图像转换为二值图像。
可选的,二值图像为将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体与局部特征的图像,在本申请中,通过将鱼眼图像进行二值化,有利于对鱼眼图像的处理,使在图像处理时不再涉及像素的多级值,使图像在后续的检测处理更简单,而且数据的处理和压缩量小。具体地,可以预设阈值为30,将灰度值小于30的像素点的像素值转换为0,即转换为黑色,同时,将灰度值大于30的像素点的像素值转换为255,即转换为白色,则处理后的鱼眼图像呈现只有黑和白的效果,集中了绝大部分图像信息的图像像素点显示为白色,其他区域可以显示为黑色。
S202、对二值图像进行扫描,确定圆心和半径,根据圆心和半径确定鱼眼图像中的畸变区域,将包含在畸变区域内的图像作为所述畸变图像。
可选的,对经过二值化处理的鱼眼图像进行扫描,具体地,可以以鱼眼图像边界像素点从上至下、从左至右逐行逐列扫描,检测各个像素点的像素值的变化,当扫描到像素值出现亮点时,则将该出现亮点的像素点所在的行或者列作为有效区域的边界,依照此种方法一次可扫描得到有效区域的四条边界,该四条边界可以为一个正方形,则根据正方形可以确定有效区域的中心和半径,则有效区域的半径为正方形的边长的一半,正方形对角线的交点为中心。
可选的,将确定的中心坐标作为畸变区域的圆心坐标,确定的半径作为畸变区域的半径,则根据圆心坐标以及半径确定出圆形有效区域,将圆形有效区域内的图像作为畸变图像。
本实施例中,通过对鱼眼图像进行二值化扫描处理,能够更快更简单的得到畸变图像。
作为一种可选的实施方式,上述步骤S202中根据畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,包括:
可选的,将畸变图像的边缘所形成的圆形作为底面圆,并将圆形的圆心作为球心,得到球面模型。如图4所示,O点为畸变图像的圆心,以O点所在的畸变图像的圆心底面为UOV所在的平面建立的三维坐标系,O'为Z轴与半球的交点,O O'=R,R为圆形半径,O O'为三维球体模型的球半径,则以O为球心,O O'为球半径得到以畸变图像为底面圆对应的球面模型。
可选的,分别将球面模型中各点的坐标转换为二维坐标,得到球面模型的展开图。如图4所示,O'为畸变图像的圆心O在球体模型上的对应映射点,以O'为中心,将球面模型做近似的展开,则形成一个以O'为中心的圆形面,该展开的圆形面的半径等于畸变图像底面圆半径的π/2倍,根据该展开的圆形面建立二维坐标系X O'Y,其中,O'X与畸变图像的横坐标U轴平行,O'Y与畸变图像的纵坐标V轴平行。展开的圆形面上的某点到圆心的距离等于未展开之前该点到半球顶点的球面弧长,具体地如图4所示,球面模型上Q点到球面顶点O'的弧长为二维球面Q点距离圆心O'的距离,根据该关系以及Q点与X轴或者Y轴的夹角,将三维球体中各点的坐标分别转换为二维坐标,则Q点的坐标可以用(x1,y1)来表示。
本实施例中通过将球面模型近似的展开成二维平面,可以使球面模型向二维坐标转换过程更简单,提高了转换效率,而且通过球面二维坐标使像素点计算更简单,避免使用复杂的公式,提高矫正速度。
图5为本申请实施例提供的又一种鱼眼图像矫正方法的流程示意图,如图5所示,根据当前遍历像素点的坐标,确定当前遍历像素点在畸变图像中对应的目标像素点,并根据目标像素点在畸变图像中的像素值,得到当前遍历像素点在球面模型的展开图中的像素值,包括:
S301、根据当前遍历像素点在球面模型的展开图中的坐标进行拟映射运算。
可选的,在得到球面模型的展开图后,根据球面模型的展开图可以确定畸变图像与复原图像之间的对应关系,因为复原图像的尺寸大于畸变图像,复原图像上的部分像素点无法对应畸变图像像素点,因此,为了减少或避免出现通过畸变图像像素点的坐标点映射到球面模型的展开图而形成复原图像时,有部分像素点为非整数,导致复原图像产生大量的空隙,因此,可采用逆映射的方法,通过复原图像对应的球面模型的展开图上的坐标点反向映射至畸变图像,得到畸变图像与复原图像之间的映射关系。
可选的,如图2所示,若球面模型的展开图上的像素点Q在二维坐标系X O'Y中的坐标为Q(x,y),Q点在畸变图像中的对应像素点为P,且P在畸变图像底面圆中的坐标为(u,v),Q点在球面模型的展开图上的弧长为R1,α1为弧长R1对应的圆心角,点P距离畸变图像中心O的距离为r1,R为半球半径,也是畸变图像的半径,若点Q与x轴的正向夹角为
Figure BDA0003563026650000141
则点Q在畸变图像中对应的点P与u轴的正向夹角也为
Figure BDA0003563026650000142
则根据以下公式推导由x、y推导出u、v的计算公式,由上述三维球体近似展开的圆形面上的某点到圆心的距离等于未展开之前该点到半球顶点的球面弧长,则点Q对应的弧长为
Figure BDA0003563026650000151
由弧长公式R1=Rα1可以得到
Figure BDA0003563026650000152
由三角函数公式
Figure BDA0003563026650000153
得到r1=sinα1R公式(三),根据点点Q与x轴的正向夹角为
Figure BDA0003563026650000154
可以得到
Figure BDA0003563026650000155
以及
Figure BDA0003563026650000156
根据点P与u轴的正向夹角也为
Figure BDA0003563026650000157
可以得到
Figure BDA0003563026650000158
以及
Figure BDA0003563026650000159
则根据公式(一)至公式(七)可以推导出u和v的计算公式,如公式(八)和公式(九):
Figure BDA00035630266500001510
Figure BDA00035630266500001511
本步骤中通过建立畸变图像上像素点到图像中心的距离与复原图像上对应像素点到图像中心的距离之间的关系,完成像素点之间的对应关系,可以使计算公式更简单,矫正速快更快。
S302、根据拟映射运算的结果,确定畸变图像中的目标像素点。
可选的,根据球面模型的展开图上的当前遍历像素点的坐标以及步骤S302中的公式(八)和公式(九),计算出当前遍历像素点在畸变图像中的目标像素点的坐标,目标像素的点的坐标包括横坐标和纵坐标,其中,公式(八)可以确定目标像素点的横坐标,公式(九)可以确定目标像素点的纵坐标,则根据目标像素点的横坐标和纵坐标可以确定目标像素点在畸变图像中的具体位置。
S303、根据目标像素点在畸变图像中的像素值,确定当前遍历像素点在所述球面模型的展开图中的像素值。
可选的,畸变图像中的每个像素点都一一对应该像素点的像素值,当目标像素点在畸变图像中的坐标确定之后,可以直接确定目标像素点对应的像素值,将目标像素点的像素值可以通过复制的方式赋值至球面模型的展开图中的当前遍历像素点中,则可以确定当前遍历像素点在球面模型的展开图中的像素值,根据像素点的像素值可以得到复原图像。
本实施例中,通过采用逆映射的方式可以使得到的复原图像更完整,而且通过建立畸变图像上像素点到图像中心的距离与复原图像上对应像素点到图像中心的距离之间的关系,完成像素点之间的对应关系,可以使计算公式更简单,矫正速度更快。
作为一种可选的实施方式,上述步骤S302中根据拟映射运算的结果,确定畸变图像中的目标像素点,包括:
可选的,若拟映射运算所得到的坐标为整数坐标,则将畸变图像中具有整数坐标的像素点作为目标像素点。其中,畸变图像中的坐标数据都是整数坐标,则,若通过公式(八)和公式(九)得到的球面模型的展开图当前遍历像素点在畸变图像中的对应点的横坐标以及纵坐标均为整数时,将计算出的该作为畸变图像中的目标像素点,可以在畸变图像中找到该整数坐标的目标像素点,则可以直接将该目标像素点对应的像素值赋值到球面模型的展开图中的当前遍历像素点。
示例性的,若计算出的畸变图像中的对应点的坐标为(5,2),则可以在畸变图像中查找到该坐标,将点(5,2)作为目标像素点,复制该点坐标对应的像素值至球面模型的展开图中的当前遍历像素点。
作为一种可选的实施方式,上述步骤S302中根据拟映射运算的结果,确定畸变图像中的所述目标像素点,包括:
若拟映射运算所得到的坐标为非整数坐标,则提取非整数坐标中的整数值,并根据整数值确定多个关联像素点,将多个关联像素点作为目标像素点。其中,通过公式(八)和公式(九)得到的球面模型的展开图当前遍历像素点在畸变图像中的对应点的横坐标或者纵坐标有一个或者都不是整数时,具体的,例如坐标(1.5,3)、(6,4.5)、(2.3,5.4)等类似的坐标数据,对于这些非整数的坐标,在畸变图像中直接查找不到对应的坐标点,这些点为畸变图像中的非像素点,则,需要提取横坐标的整数部分和纵坐标中的整数部分,将提取出来的整数横坐标和整数纵坐标作为畸变图像中的新像素点的坐标数据,例如,坐标(2.3,5.4)提取后的新像素点为(2,5),根据新像素点的坐标数据确定与之关联的多个像素点,例如可以选取与新像素点最接近的其他像素点,将确定出的多个像素点作为目标像素点。具体地,若计算出的u,v为非整数时,则可以表示为P1(u′+i,v′+j),其中u′,v′为u,v的整数部分,i,j为u,v的小数部分,则坐标(u′,v′),(u′,v′+1),(u′+1,v′),(u′+1,v′+1)为最近的四个像素点,可以将该四个像素点作为目标像素点。
示例性的,若计算出的对应点的坐标为(2.3,5.4),则最近的关联像素点为(2,5)、(3,5)、(2,6)、(3,6),将这四个像素点的坐标作为目标像素点。
作为一种可选的实施方式,上述步骤S303中根据目标像素点在畸变图像中的像素值,确定当前遍历像素点在球面模型的展开图中的像素值,包括:
可选的,对各关联像素点的像素值进行插值处理,得到插值处理后的像素值,具体地,例如可以采用双线性插值的方式计算像素值,例如前述的对应点P1(u′+i,v′+j),可以采用公式(十)来计算P1点的像素值。
f(u′+i,v′+j)=(1-i)(1-j)f(u′,v′)+(1-i)jf(u′,v′+1)+i(1-j)f(u′+1,v′)+ijf(u′+1,v′+1) 公式(十)
其中f(u′+i,v′+j)表示畸变图像P1处的像素值,将插值处理后的像素值作为当前遍历像素点在球面模型的展开图中的像素值,根据计算出的像素值可以得到复原图像。
图6为本申请实施例提供的鱼眼图像矫正方法的完整流程示意图,如图6所示,该方法包括:
S401、对待矫正的鱼眼图像进行检测,得到鱼眼图像中的畸变图像;
S402、遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定当前遍历像素点在畸变图像中对应的目标像素点的坐标值;
S403、判断目标像素点的坐标值是否为整数,若是,执行步骤S404,若否,执行S405;
S404、复制该目标像素点的像素值至球面模型的展开图的当前遍历像素点中;
S405、根据双线性插值得到近似的像素值,将该像素值复制至球面模型的展开图的当前遍历像素点中;
S406、得到复原图像。
上述步骤S401~S406具体的方法参照前述具体实施例中的方法步骤,此处不做赘述。
图7为本申请实施例提供的一种鱼眼图像矫正的控制装置,如图7所示,该装置包括:
检测模块501,用于对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像;
处理模块502,用于根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图中包括多个像素点;
确定模块503,用于遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图中的像素值;
处理模块502,用于基于所述球面模型的展开图中各像素点的坐标以及像素值得到所述复原图像。
检测模块501具体用于:
将所述鱼眼图像转换为二值图像;
对所述二值图像进行扫描,确定圆心和半径;
根据所述圆心和半径确定所述鱼眼图像中的畸变区域,将包含在所述畸变区域内的图像作为所述畸变图像。
处理模块502具体用于:
将所述畸变图像的边缘所形成的圆形作为底面圆,并将所述圆形的圆心作为球心,得到球面模型;
分别将所述球面模型中各点的坐标转换为二维坐标,得到所述球面模型的展开图。
确定模块503具体用于:
根据所述当前遍历像素点在所述球面模型的展开图中的坐标进行拟映射运算;
根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点;
根据所述目标像素点在所述畸变图像中的像素值,确定所述当前遍历像素点在所述球面模型的展开图中的像素值。
确定模块503具体用于:
若拟映射运算所得到的坐标为整数坐标,则将所述畸变图像中具有所述整数坐标的像素点作为所述目标像素点。
确定模块503具体用于:
若拟映射运算所得到的坐标为非整数坐标,则提取所述非整数坐标中的整数值,并根据所述整数值确定多个关联像素点,将所述多个关联像素点作为所述目标像素点。
确定模块503具体用于:
对各关联像素点的像素值进行插值处理,得到插值处理后的像素值;
将所述插值处理后的像素值作为所述当前遍历像素点在所述球面模型的展开图中的像素值。
图8为本申请实施例提供的一种电子设备600的结构框图,如图5所示,该电子设备可包括:处理器601、存储器602。
可选的,还可以包括总线603,其中,所述存储器602用于存储有所述处理器601可执行的机器可读指令(例如,图7中的装置中检测模块、处理模块、确定模块对应的执行指令等),当电子设备600运行时,所述处理器601与所述存储器602存储之间通过总线603通信,所述机器可读指令被所述处理器601执行时执行上述方法实施例中的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述应用程序中牌号切换控制方法实施例中的方法步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种鱼眼图像矫正方法,其特征在于,所述方法包括:
对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像;
根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图包括多个像素点;
遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图的像素值;
基于所述球面模型的展开图各像素点的坐标以及像素值得到所述复原图像。
2.根据权利要求1所述的鱼眼图像矫正方法,其特征在于,所述对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像,包括:
将所述鱼眼图像转换为二值图像;
对所述二值图像进行扫描,确定圆心和半径;
根据所述圆心和半径确定所述鱼眼图像中的畸变区域,将包含在所述畸变区域内的图像作为所述畸变图像。
3.根据权利要求1所述的鱼眼图像矫正方法,其特征在于,所述根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,包括:
将所述畸变图像的边缘所形成的圆形作为底面圆,并将所述圆形的圆心作为球心,得到球面模型;
分别将所述球面模型中各点的坐标转换为二维坐标,得到所述球面模型的展开图。
4.根据权利要求1-3任一项所述的鱼眼图像矫正方法,其特征在于,所述根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图的像素值,包括:
根据所述当前遍历像素点在所述球面模型的展开图的坐标进行拟映射运算;
根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点;
根据所述目标像素点在所述畸变图像中的像素值,确定所述当前遍历像素点在所述球面模型的展开图的像素值。
5.根据权利要求4所述的鱼眼图像矫正方法,其特征在于,所述根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点,包括:
若拟映射运算所得到的坐标为整数坐标,则将所述畸变图像中具有所述整数坐标的像素点作为所述目标像素点。
6.根据权利要求4所述的鱼眼图像矫正方法,其特征在于,所述根据拟映射运算的结果,确定所述畸变图像中的所述目标像素点,包括:
若拟映射运算所得到的坐标为非整数坐标,则提取所述非整数坐标中的整数值,并根据所述整数值确定多个关联像素点,将所述多个关联像素点作为所述目标像素点。
7.根据权利要求6所述的鱼眼图像矫正方法,其特征在于,所述根据所述目标像素点在所述畸变图像中的像素值,确定所述当前遍历像素点在所述球面模型的展开图的像素值,包括:
对各关联像素点的像素值进行插值处理,得到插值处理后的像素值;
将所述插值处理后的像素值作为所述当前遍历像素点在所述球面模型的展开图的像素值。
8.一种鱼眼图像矫正装置,其特征在于,包括:
检测模块,用于对待矫正的鱼眼图像进行检测,得到所述鱼眼图像中的畸变图像;
处理模块,用于根据所述畸变图像得到复原图像对应的球面模型,将所述球面模型展开得到所述球面模型的展开图,所述球面模型的展开图包括多个像素点;
确定模块,用于遍历球面模型的展开图的像素点,根据当前遍历像素点的坐标,确定所述当前遍历像素点在所述畸变图像中对应的目标像素点,并根据所述目标像素点在畸变图像中的像素值,得到所述当前遍历像素点在所述球面模型的展开图的像素值;
处理模块,用于基于所述球面模型的展开图各像素点的坐标以及像素值得到所述复原图像。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-7任一项所述的鱼眼图像矫正方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一项所述的鱼眼图像矫正方法的步骤。
CN202210301447.7A 2022-03-24 2022-03-24 鱼眼图像矫正方法、装置、电子设备及存储介质 Pending CN114648458A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210301447.7A CN114648458A (zh) 2022-03-24 2022-03-24 鱼眼图像矫正方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210301447.7A CN114648458A (zh) 2022-03-24 2022-03-24 鱼眼图像矫正方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114648458A true CN114648458A (zh) 2022-06-21

Family

ID=81995492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210301447.7A Pending CN114648458A (zh) 2022-03-24 2022-03-24 鱼眼图像矫正方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114648458A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115272124A (zh) * 2022-08-04 2022-11-01 北京斯年智驾科技有限公司 一种畸变图像校正方法、装置
CN116091307A (zh) * 2023-04-06 2023-05-09 湖北易康思科技有限公司 鱼眼图像的矫正模型的微调方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115272124A (zh) * 2022-08-04 2022-11-01 北京斯年智驾科技有限公司 一种畸变图像校正方法、装置
CN116091307A (zh) * 2023-04-06 2023-05-09 湖北易康思科技有限公司 鱼眼图像的矫正模型的微调方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CA3018965C (en) Efficient determination of optical flow between images
US10368062B2 (en) Panoramic camera systems
CN109961401B (zh) 一种双目相机的图像校正方法和存储介质
CN107945112B (zh) 一种全景图像拼接方法及装置
US11050994B2 (en) Virtual reality parallax correction
CN110868541B (zh) 视场融合方法及装置、存储介质、终端
CN114648458A (zh) 鱼眼图像矫正方法、装置、电子设备及存储介质
CN113643414A (zh) 一种三维图像生成方法、装置、电子设备及存储介质
US20120038785A1 (en) Method for producing high resolution image
CN116402934A (zh) 一种面向三维重建的自动纹理贴图方法、终端及存储介质
EP3229106A1 (en) Efficient determination of optical flow between images
WO2019026388A1 (ja) 画像生成装置および画像生成方法
JP7195785B2 (ja) 3次元形状データを生成する装置、方法、及びプログラム
US11508043B2 (en) Method and apparatus for enhanced anti-aliasing filtering on a GPU
CN114143528B (zh) 多视频流融合方法、电子设备、存储介质
WO2021075314A1 (ja) 画像処理装置、画像処理方法、及びコンピュータ読み取り可能な記録媒体
US9818180B2 (en) Image processing device, method, and program
EP3229470A1 (en) Efficient canvas view generation from intermediate views
CN114143528A (zh) 多视频流融合方法、电子设备、存储介质
CN118015092A (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