CN109308686B - 一种鱼眼图像处理方法及装置、设备和存储介质 - Google Patents

一种鱼眼图像处理方法及装置、设备和存储介质 Download PDF

Info

Publication number
CN109308686B
CN109308686B CN201810935885.2A CN201810935885A CN109308686B CN 109308686 B CN109308686 B CN 109308686B CN 201810935885 A CN201810935885 A CN 201810935885A CN 109308686 B CN109308686 B CN 109308686B
Authority
CN
China
Prior art keywords
coordinate system
image
dimensional coordinate
determining
coordinates
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
CN201810935885.2A
Other languages
English (en)
Other versions
CN109308686A (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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN201810935885.2A priority Critical patent/CN109308686B/zh
Publication of CN109308686A publication Critical patent/CN109308686A/zh
Application granted granted Critical
Publication of CN109308686B publication Critical patent/CN109308686B/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/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof

Landscapes

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

Abstract

本申请实施例提供一种鱼眼图像处理方法及装置、设备和存储介质,其中,首先,确定待处理的鱼眼图像的矫正参数;根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系。

Description

一种鱼眼图像处理方法及装置、设备和存储介质
技术领域
本申请实施例涉及计算机视觉通信领域,涉及但不限于一种鱼眼图像处理方法及装置、设备和存储介质。
背景技术
鱼眼相机可以一次性摄入185度视角内所有的信息,相较于普通相机,具有超大信息量;鱼眼镜头结构紧凑、体积小、不易损坏,可以构建全方位视觉,无盲区,无须图像拼合和嵌接等问题,所以它在视频监控、自动驾驶、视频会议和机器人导航等领域都具有很广泛的应用。
然而,鱼眼相机拍摄的图像具有非常严重的畸变,如果要利用这些具有严重变形图像的信息,进行行人、车辆等目标的检测,就比较困难。
发明内容
有鉴于此,本申请实施例提供一种鱼眼图像处理方法及装置、设备和存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种鱼眼图像处理方法,所述方法包括:
确定待处理的鱼眼图像的矫正参数;
根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;
根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系。
在本申请实施例中,所述矫正参数至少包括以下之一:圆心坐标、鱼眼半径和畸变系数。
在本申请实施例中,所述映射关系包括与展开图像尺寸相同的矫正索引表;
对应地,所述根据预设的映射关系和所述鱼眼图像中像素值调整所述展开图像,得到所述鱼眼图像对应的输出图像,包括:
所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
在本申请实施例中,所述方法还包括:
建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系;
根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;
根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系;
根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系;
将所述第二对应关系确定为所述映射关系。
在本申请实施例中,所述建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系,包括:
以所述鱼眼图像的中心O为原点建立所述第一二维坐标系;
以所述鱼眼图像的中心O为原点,将所述第一二维坐标系的横轴、纵轴和所述鱼眼相机的镜头的光轴分别作为横轴、纵轴和第三维坐标轴,建立所述三维坐标系。
在本申请实施例中,所述根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系,包括:
在所述三维坐标系中,以所述鱼眼图像的中心O为球心,以所述鱼眼图像的半径为球体半径,确定球体模型;
确定在所述球体模型中满足预设角度的切面;
根据所述切面,确定所述第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;其中,所述第二二维坐标系中每一点的坐标与所述透视投影平面坐标系中每一点的坐标满足预设的对应关系。
在本申请实施例中,所述根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系,包括:
根据所述透视投影平面坐标系,确定所述透视投影平面坐标系所属平面上任一点沿预设坐标轴移动预设距离对应所述三维坐标系上坐标的变化量;
根据所述变化量、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系中每一点的坐标与所述三维坐标系中每一点的坐标之间的第一对应关系。
在本申请实施例中,所述根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系,包括:
根据所述第一关系,确定所述第一二维坐标系中的每一点的坐标与所述三维坐标系中每一点的坐标之间的第三对应关系;
根据所述第一对应关系和所述第三对应关系,确定所述第二对应关系。
在本申请实施例中,所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像,包括:
将所述矫正索引表分成M个块;M为大于1的整数;
确定所述M个块对应的所述展开图像的坐标;
根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像;
将M块调整后的展开图像进行拼接,得到所述鱼眼图像对应的正常图像。
在本申请实施例中,所述将所述矫正索引表分成M个块,包括:
按照预设的分辨率将所述矫正索引表分成M个原始块;
确定M个原始块中任一个原始块包含的源横坐标值和源纵坐标值;
将所述任一原始块分别减去当前块内包含的源横坐标的最小值和源纵坐标的最小值,得到包含更新的源坐标值的所述M个块;其中,所述任一个原始块包含的源横坐标值和源纵坐标为所述任一个原始块包含的鱼眼图像的横坐标值和纵坐标值。
在本申请实施例中,根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像,包括:
根据所述M个块中第m块对应的展开图像的坐标值在所述第m块中查找所述展开图像的坐标值对应的源坐标值;其中,m为大于0小于等于M的整数;
确定所述源坐标值在所述鱼眼图像上对应的第一像素值;
将所述第一像素值替换所述展开图像的第二像素值,得到所述M块调整后的展开图像中第m块调整后的展开图像;其中所述第二像素值为所述展开图像在所述展开图像的坐标值处的像素值。
在本申请实施例中,所述矫正索引表为经过定点化的二维表。
本申请实施例提供一种鱼眼图像处理装置,所述装置包括:第一确定装置、第一展开装置和第一调整装置,其中:
所述第一确定装置,用于确定待处理的鱼眼图像的矫正参数;
所述第一展开装置,用于根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;
所述第一调整装置,用于根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系。
在本申请实施例中,所述矫正参数至少包括以下之一:圆心坐标、鱼眼半径和畸变系数。
在本申请实施例中,所述映射关系包括与展开图像尺寸相同的矫正索引表;
对应地,所述第一调整装置,包括:
第一调整子装置,用于所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
在本申请实施例中,所述装置还包括:
第一建立装置,用于建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系;
第二确定装置,用于根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;
第三确定装置,用于根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系;
第四确定装置,用于根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系;
第五确定装置,用于将所述第二对应关系确定为所述映射关系。
在本申请实施例中,所述第一建立装置,包括:
第一建立子装置,用于以所述鱼眼图像的中心O为原点建立所述第一二维坐标系;
第二建立子装置,用于以所述鱼眼图像的中心O为原点,将所述第一二维坐标系的横轴、纵轴和所述鱼眼相机的镜头的光轴分别作为横轴、纵轴和第三维坐标轴,建立所述三维坐标系。
在本申请实施例中,所述第二确定装置,包括:
第一确定子装置,用于在所述三维坐标系中,以所述鱼眼图像的中心O为球心,以所述鱼眼图像的半径为球体半径,确定球体模型;
第二确定子装置,用于确定在所述球体模型中满足预设角度的切面;
第三确定子装置,用于根据所述切面,确定所述第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;其中,所述第二二维坐标系中每一点的坐标与所述透视投影平面坐标系中每一点的坐标满足预设的对应关系。
在本申请实施例中,所述第三确定装置,包括:
第三确定子装置,用于根据所述透视投影平面坐标系,确定所述透视投影平面坐标系所属平面上任一点沿预设坐标轴移动预设距离对应所述三维坐标系上坐标的变化量;
第四确定子装置,用于根据所述变化量、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系中每一点的坐标与所述三维坐标系中每一点的坐标之间的第一对应关系。
在本申请实施例中,所述第四确定装置,包括:
第五确定子装置,用于根据所述第一关系,确定所述第一二维坐标系中的每一点的坐标与所述三维坐标系中每一点的坐标之间的第三对应关系;
第六确定子装置,用于根据所述第一对应关系和所述第三对应关系,确定所述第二对应关系。
在本申请实施例中,所述第一调整子装置,包括:
第一划分单元,用于将所述矫正索引表分成M个块;M为大于1的整数;
第一确定单元,用于确定所述M个块对应的所述展开图像的坐标;
第一调整单元,用于根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像;
第一拼接单元,用于将M块调整后的展开图像进行拼接,得到所述鱼眼图像对应的正常图像。
在本申请实施例中,所述第一划分单元,包括:
第一划分子单元,用于按照预设的分辨率将所述矫正索引表分成M个原始块;
第一确定子单元,用于确定M个原始块中任一个原始块包含的源横坐标值和源纵坐标值;
第一更新子单元,用于将所述任一原始块分别减去当前块内包含的源横坐标的最小值和源纵坐标的最小值,得到包含更新的源坐标值的所述M个块;其中,所述任一个原始块包含的源横坐标值和源纵坐标为所述任一个原始块包含的鱼眼图像的横坐标值和纵坐标值。
在本申请实施例中,所述第一调整单元,包括:
第一查找子单元,用于根据所述M个块中第m块对应的展开图像的坐标值在所述第m块中查找所述展开图像的坐标值对应的源坐标值;其中,m为大于0小于等于M的整数;
第二确定子单元,用于确定所述源坐标值在所述鱼眼图像上对应的第一像素值;
第一替换子单元,用于将所述第一像素值替换所述展开图像的第二像素值,得到所述M块调整后的展开图像中第m块调整后的展开图像;其中所述第二像素值为所述展开图像在所述展开图像的坐标值处的像素值。
在本申请实施例中,所述矫正索引表为经过定点化的二维表。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现本申请实施例提供的鱼眼图像处理方法中的步骤。
本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现本申请实施例提供的鱼眼图像处理方法中的步骤。
本申请实施例提供一种鱼眼图像处理方法及装置、设备和存储介质,其中,首先,确定待处理的鱼眼图像的矫正参数;然后,根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;最后,根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系;如此,将原始图像的像素对应的替换展开图像上的像素,从而将鱼眼图像校正展开为符合人们观察习惯的透视投影无畸变图像,能够很好的保存鱼眼图像畸变矫正后图像边缘信息。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1A为本申请实施例网络架构的组成结构示意图;
图1B为本申请实施例鱼眼图像处理方法的实现流程示意图;
图2为本申请实施例鱼眼图像处理方法的又一实现流程示意图;
图3为本申请实施例实现鱼眼图像处理方法的流程示意图;
图4为本申请实施例实现鱼眼图像处理方法的坐标图;
图5A为本申请实施例鱼眼图像与展开图像的坐标对应关系示意图;
图5B为本申请实施例鱼眼图像与展开图像的像素对应关系示意图;
图6为本申请实施例鱼眼图像处理装置的组成结构示意图;
图7为本申请实施例计算机设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
本实施例先提供一种网络架构,图1A为本申请实施例网络架构的组成结构示意图,如图1A所示,该网络架构包括两个或多个计算机设备11至1N和服务器31,其中计算机设备11至1N与服务器31之间通过网络21进行交互。计算机设备在实现的过程中可以为各种类型的具有信息处理能力的计算机设备,例如所述计算机设备可以包括手机、平板电脑、台式机、个人数字助理、导航仪、数字电话、电视机等。
本实施例提出一种鱼眼图像处理方法,能够有效解决将鱼眼图像展开成平面的展开图像时,展开图像边缘信息丢失拉伸情况严重等问题,该方法应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
图1B为本申请实施例鱼眼图像处理方法的实现流程示意图,如图1B所示,所述方法包括以下步骤:
步骤S101,确定待处理的鱼眼图像的矫正参数。
这里,所述矫正参数至少包括以下之一:圆心坐标、鱼眼半径和畸变系数。圆心坐标和鱼眼半径可通过选取鱼眼图像圆形轮廓上不共线的三个点确定其圆方程获取;畸变矫正系数可通过标定获取。
步骤S102,根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像。
这里,所述步骤S102可以理解为,将鱼眼图像在多个方向轴上矫正展开成多路无畸变图像(展开图像)。
步骤S103,根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
这里,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系。所述步骤S103可以理解为根据预设的映射关系将鱼眼图像上像素值替换展开图像上的像素值,将鱼眼图像校正展开为符合人们观察习惯的透视投影无畸变图像。
在本申请实施例提供的一种鱼眼图像处理方法中,通过将鱼眼图像上像素值替换展开图像上的像素值,使得到的展开图像的边缘信息也能够充分的表现在展开图像上,如此将鱼眼图像校正展开为符合人们观察习惯的透视投影无畸变图像。
在其他实施例中,所述映射关系包括与展开图像尺寸相同的矫正索引表。
其中,所述矫正索引表是以二维表的形式存储展开图像上的一点的坐标与在鱼眼图像上的坐标的对应关系。
对应地,所述步骤S102,即根据预设的映射关系和所述鱼眼图像中像素值调整所述展开图像,得到所述鱼眼图像对应的输出图像,包括:
所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
本申请实施例提出了一种鱼眼图像处理方法,图2为本申请实施例鱼眼图像处理方法的又一实现流程示意图,如图2所示,所述方法包括以下步骤:
步骤S201,确定待处理的鱼眼图像的矫正参数。
步骤S202,根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像。
步骤S203,建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系。
这里,以所述鱼眼图像的中心O为原点建立所述第一二维坐标系,以所述鱼眼图像的中心O为原点,将所述第一二维坐标系的横轴、纵轴和所述鱼眼相机的镜头的光轴分别作为横轴、纵轴和第三维坐标轴,建立所述三维坐标系。比如,以鱼眼图像的中心O(x0,y0)为原点建立鱼眼图像坐标系xoy;以O点为原点建立相机坐标系(xc,yc,zc),其中xc,yc分别与鱼眼图像坐标系的x轴、y轴重合,zc轴与鱼眼镜头的光轴重合。
步骤S204,根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系。
这里,所述步骤S204可以通过以下过程实现:首先,在所述三维坐标系中,以所述鱼眼图像的中心O为球心,以所述鱼眼图像的半径为球体半径,确定球体模型(如图4所示的半球);然后,确定在所述球体模型中满足预设角度的切面(如图4所示,切面UwVw);最后,根据所述切面,确定所述第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;其中,所述第二二维坐标系中每一点的坐标与所述透视投影平面坐标系中每一点的坐标满足预设的对应关系。即第二二维坐标系和透视投影平面坐标系都在切面UwVw上,但是第二二维坐标系的单位是真实的尺度米(m),透视投影平面坐标系的单位是像素;也就是说,如果一个点在第二二维坐标系(即展开后的图像坐标系的坐标)为(m,n),那么在透视投平面上的坐标系为(mwpixel,nwpixel),该点在两个坐标系中的坐标值相差了一个系数,即一个像素的真实尺度大小。
步骤S205,根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系。
这里,所述步骤S205可以通过以下过程实现:首先,根据所述透视投影平面坐标系,确定所述透视投影平面坐标系所属平面上任一点沿预设坐标轴移动预设距离对应所述三维坐标系上坐标的变化量;然后,根据所述变化量、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系中每一点的坐标与所述三维坐标系中每一点的坐标之间的第一对应关系。比如,如图4所示,所述变化量可以理解为,任一点在透视投影平面坐标系上沿U正方向每移动wpixel时在三维坐标系上的变化量dxu,dyu,dzu,以及在透视投影平面坐标系上沿V正方向每移动Wpixel时在三维坐标系上的变化量dxv,dyv,dzv;由于透视投影平面坐标系上点的坐标与第二二维坐标系上点的坐标是一一对应的,所以根据所述变化量可以求出在第二二维坐标系上任一点Q(m,n)在三维坐标系上对应点Q”的坐标。
步骤S206,根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系。
这里,所述步骤S206可以通过以下过程实现:首先,根据所述第一关系,确定所述第一二维坐标系中的每一点的坐标与所述三维坐标系中每一点的坐标之间的第三对应关系;然后,根据所述第一对应关系和所述第三对应关系,确定所述第二对应关系。比如,根据等距投影原理和第一对应关系(即第二二维坐标系上任一点Q(m,n)在三维坐标系上对应点Q”的坐标),可以求出Q”在鱼眼图像中的成像Q"'(即第三对应关系)。
步骤S207,根据第二对应关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
这里,将所述第二对应关系即为所述映射关系。在本申请实施例中,根据第二对应关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像,可以通过以下两种方式实现:
第一种,如步骤S207,根据第二对应关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
在本申请实施例提供的一种鱼眼图像处理方法中,通过建立鱼眼图像坐标系(即第一二维坐标系)和展开图像坐标系(即第二二维坐标系)以及相机坐标系(即三维坐标系)之间的对应关系,将鱼眼图像上的像素按照对应关系替换展开图像上的像素,从而得到符合人们观察习惯的透视投影无畸变图像。
第二种,将所述第二对应关系以二维表的形式存储在矫正索引表中,然后根据矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像,可以通过以下步骤实现:
步骤S208,将所述第二对应关系以二维表的形式存储在矫正索引表中。
这里,所述矫正索引表中存储了展开图像上的任一点的坐标在鱼眼图像上的任一点的对应关系。所述矫正索引表为经过定点化的二维表,由于现场可编程门阵列(Field-Programmable Gate Array,FPGA)上无法进行浮点运算,在本实施例中对索引表进行定点化操作,这里采用4比特(bit)定点化方案,对于索引表中的所有值,右移动4位并取整。
步骤S209,将所述矫正索引表分成M个块。
这里,M为大于1的整数。所述步骤S209可以通过以下步骤实现:首先,按照预设的分辨率将所述矫正索引表分成M个原始块;然后,确定M个原始块中任一个原始块包含的源横坐标值和源纵坐标值;最后,将所述任一原始块分别减去当前块内包含的源横坐标的最小值和源纵坐标的最小值,得到包含更新的源坐标值的所述M个块;其中,所述任一个原始块包含的源横坐标值和源纵坐标为所述任一个原始块包含的鱼眼图像的横坐标值和纵坐标值。比如,将索引表分割为32*32大小的块,对每一块中统计x、y的最小值和最大值,那么其对应的源图像上的块可由x、y的最小值和最大值确定。另外,对于索引表块的坐标信息,需要统一减去x、y的最小值,以转换到鱼眼图像块坐标系(即第一二维坐标系)中。
步骤S210,确定所述M个块对应的所述展开图像的坐标。
这里,所述步骤S210可以理解为,根据索引表中坐标的信息,将鱼眼图像块中的像素值映射到展开图像块中,另外,由于索引表中坐标在鱼眼图像上的坐标位置不一定是整数,那么需要通过插值来获取目标像素,这里使用了双线性插值方法。
步骤S211,根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像。
这里,所述步骤S211可以通过以下过程实现:首先,根据所述M个块中第m块对应的展开图像的坐标值在所述第m块中查找所述展开图像的坐标值对应的源坐标值;其中,m为大于0小于等于M的整数;然后,确定所述源坐标值在所述鱼眼图像上对应的第一像素值;最后,将所述第一像素值替换所述展开图像的第二像素值,得到所述M块调整后的展开图像中第m块调整后的展开图像;其中所述第二像素值为所述展开图像在所述展开图像的坐标值处的像素值。比如,展开图像在第二二维坐标系中的坐标是(1,1),根据矫正索引表确定该坐标(1,1)在鱼眼图像上的对应的坐标点为(50,60),然后将鱼眼图像上坐标点为(50,60)的像素替换展开图像上坐标为(1,1)的像素,如此,得到像素替换后的展开图像,得到多个矫正块对应的多个展开图像块。根据以上确定的多组矫正索引表,展开矫正可通过查表法快速在线进行。本实施例针对FPGA的实现提出了一种分块展开矫正的方法,将索引表分割为多个较小的块,对每一块进行单独矫正,待所有块矫正完成之后进行拼接,输出为一幅完整的矫正展开图。这种方法能够充分利用FPGA的硬件特性,提高利用效率。
步骤S212,将M块调整后的展开图像进行拼接,得到所述鱼眼图像对应的正常图像。
这里,在本实施例中,对索引表中的坐标点进行定点化、将索引表进行分块以及将M块调整后的展开图像进行拼接是可选的,是为了适应FPGA的硬件特性,充分利用其性能设计的,还可以在中央处理器上直接利用索引表进行重映射,不进行定点化和索引表分块、和图像拼接。另外,在FPGA上实现时,定点化方案不限于4bit定点化,可替换为其他精度的定点化方案,如8bit,16bit等;索引表的分块大小不限于32*32pixel,还可以为其他任意尺寸的大小,视硬件的带宽能力确定;分块重映射步骤中,不限于双线性插值方案,其可替换为最近邻插值、双三次插值、兰索斯插值等,视速度和精度要求确定。
在本实施例中,能够将鱼眼图像矫正成多路正常无畸变图像,在保证信息量不丢失的情况下,矫正成符合人们正常观察习惯的图像。鱼眼图像各区域具有同样良好的矫正效果,以前的方法往往对于图像中心区域矫正效果较好,边缘部分矫正效果较差,拉伸情况严重。通过生成索引表,牺牲空间换取时间,能够提高矫正速度,实时矫正。通过索引表定点化和分块策略,能够高效地在FPGA硬件上进行实时矫正。
本申请实施例提出了一种鱼眼图像处理方法,将鱼眼图像在多个方向轴上矫正展开成多路无畸变图像。采用本实施例提供的鱼眼图像处理方法,将鱼眼图像校正展开为符合人们观察习惯的透视投影无畸变图像,这对于鱼眼相机的广泛应用具有重要的现实意义。
图3为本申请实施例实现鱼眼图像处理方法的流程示意图,如图3所示,所述方法可以概括为以下四个步骤:
步骤S301,确定展开矫正参数用于确定展开矫正参数。
这里,展开矫正参数包括鱼眼图像圆心坐标、鱼眼半径和畸变系数,圆心坐标和鱼眼半径可通过选取鱼眼图像圆形轮廓上不共线的三个点确定其圆方程获取;畸变矫正系数可通过标定获取。
步骤S302,离线确定矫正索引表。
这里,矫正索引表对同一鱼眼相机的所有图像都适用,因此为了避免重复确定,本实施例采用离线确定一次的方式。本实施例建立了鱼眼相机球面透视投影模型,并引入了展开图的仰角、方位角、视角、旋转角参数,据此可确定矫正索引表。为了得到多视角展开图,可设计多组展开参数。
步骤S303,将矫正索引表在线分块,进行分开矫正展开图像。
这里,根据步骤S202确定的多组矫正索引表,展开矫正可通过查表法快速在线进行。针对FPGA的实现提出了一种分块展开矫正的方法,将索引表分割为多个较小的块,对每一块进行单独矫正,待所有块矫正完成之后进行拼接,输出为一幅完整的矫正展开图。这种方法能够充分利用FPGA的硬件特性,提高利用效率。
步骤S304,输出多路矫正后的展开图像。
这里,通过配置多组展开参数,确定多组矫正索引表,即可生成多路矫正展开图。
对于上述步骤,关于“步骤S302,离线确定矫正索引表”和“步骤S303,在线分块展开矫正”,给出解释如下:
第一,步骤S302,离线确定矫正索引表的过程如下:
1、建立鱼眼图像符合等距投影原理的球面成像模型,包括以下步骤:
1)如图4所示,以鱼眼图像的中心O(x0,y0)为原点建立二维坐标系xoy;
2)以O点为原点建立相机坐标系(xc,yc,zc),其中xc,yc分别与二维坐标系的x轴、y轴重合,zc轴与鱼眼镜头的光轴重合;
3)以O点为中心,鱼眼图像的半径R为半径做半球,半球与zc轴交于O'点(0,0,R);
4)假设相机坐标系中一点P做射线OP,与半球面交于P'(xcp',ycp',zcp'),此点(P'(xcp',ycp',zcp'))在相机坐标系中的坐标为:
(xcp',ycp',zcp')=(Rsinθcosφ,Rsinθsinφ,Rcosθ) (1);
OP与zc轴的夹角θ为入射角;OP在xoy上的投影OP”与x轴的夹角φ为方位角(可以理解为在水平面的旋转),OP的仰角β=90°-θ。则根据等距投影原理:||OP”||=kθ,其中k为畸变矫正系数。
2、建立透视投影平面坐标系与展开后的图像坐标系,并求出这两个坐标系之间的关系,包括以下步骤:
1)过P'做球面的切面UwVw,此平面即为展开窗口坐标系所在的平面,展开窗口坐标系的视角为γ;P'Vw与OZ,OP共面,其正方向垂直于OP',设P'Vw与P'O'的夹角为α;P'Uw的正方向由P'Vw与OP'的叉积决定;定义此切面的方位角为OP的方位角,仰角相同与OP的仰角:β=90°-θ。也就是说,切面UwVw对应下有两个坐标系:透视投影平面坐标系和展开图像的二维坐标系,透视投影平面坐标系以P’为原点,U和V为坐标轴。他是一个空间的坐标系,以真实的尺度(m)为单位。展开后的图像坐标系在透视投影平面坐标系的UV平面上,但是以像素为单位的。这两个坐标系在同一平面,原点重合,方向轴重合,不同的是两个坐标系的度量单位,一个以空间真实尺度m为单位,一个以像素为单位。比如,所以假设一个像素的大小为wpixel,那么如果一个点在展开后的图像坐标系的坐标为(m,n),那么在透视投平面上的坐标系为(mwpixel,nwpixe l),他们相差了一个系数,即一个像素的真实尺度大小。
2)展开图像的二维坐标系为U'V',设高与宽分别为w,h。
3)透视投影平面上的点与展开图像像素具有一一对应关系,所以展开图像上的一个像素大小对应透视透视投影平面上的大小,如公式(2)所示:
wpixel=R×2×tan(β/2)/w (2);
令P'在UV面上的坐标为原点(0,0),展开图像的原点在图像的中心,这样就可以将校正展开后图像上的像素坐标与透视投影平面上的点坐标一一对应起来。假设展开后图像上的一点坐标为Q(m,n),则其对应的在透视投影平面上的坐标为Q'(mwpixel,nwpixel)。
3、建立展开图像坐标系与相机坐标系的关系,包括以下步骤:
1)建立透视投影平面坐标系与相机坐标系的关系:在透视投影平面上沿U正方向每移动wpixel时在相机坐标系上的变化量dxu,dyu,dzu为:
dxu=-wpixel*sinφ
dyu=-wpixel*cosφ
dzu=0 (3);
同理可求出在透视投影平面上沿V正方向每移动Wpixel时在相机坐标系上的变化量dxv,dyv,dzv为:
dxv=wpixel*cosθcosφ
dyv=wpixel*cosθsinφ
dzv=wpixel*sinθ (4);
2)求出展开图像中点Q(m,n)对应的在相机坐标系中的坐标Q”为:
x=xcp+mdxu+ndxv=sinθcosφ-msinφ+ncosθcosφ
y=ycp+mdyu+ndyv=sinθsinφ+mcosφ+ncosθsinφ
z=zcp+mdzu+ndzv=cosθ+nsinθ (5);
4、求出展开图像坐标系与二维坐标系之间的关系,包括以下步骤:
在上面的步骤中本实施例已经求出展开图像中的点Q坐标在相机坐标系中的坐标Q”。根据等距投影原理本实施例可以求出Q”在鱼眼图像中的成像Q"'。Q"'的入射角为:
Figure GDA0003595771480000171
方位角为:
Figure GDA0003595771480000172
Q”'到中心点的长度为r=kα。所以Q"'的坐标为:
xQ"'=rcosλ+x0
yQ"'=rsinλ+y0 (8);
x0,y0为鱼眼图像的中心坐标,则展开图像上的任一点Q(m,n)对应在鱼眼图像上的点坐标Q"'(rcosλ+x0,rsinλ+y0)。如图5A所示,鱼眼图像51中一点的坐标与展开图像52中一点的坐标的对应关系,满足函数(x,y)=f(u,v,φ,θ,γ,α);在本实施例中,矫正索引表包括两部分,即mapx表53和mapy表54,其中,mapx表53用于存储展开图像上的一点的坐标在鱼眼图像上的x坐标值,mapy表54用于存储展开图像上的一点的坐标在鱼眼图像上的y坐标值。
5、建立矫正索引表包括:
通过以上步骤建立了展开图像的二维坐标系与二维坐标系间的映射关系:(x,y)=f(u,v,φ,θ,γ,α)。对展开图上的所有点重复此映射关系,即可建立畸变矫正索引表mapx和mapy,其中mapx存储了展开矫正图上的一点在鱼眼图像上的x坐标,mapy存储了转开矫正图上的一点在鱼眼图像上的y坐标信息。
该步骤当中,建立展开图像的二维坐标系与二维坐标系的映射关系是实现方案必不可少的。在该映射关系建立过程中,α旋转角参数是可选的方案,该参数定义了输出图像的旋转角度,可替代的方案为在矫正之后再进行旋转操作即可。
该步骤当中,利用映射关系建立索引表是可选的,其目的是加快矫正速度,较少重复运算。如不考虑耗时,可替换方案为:不建立索引表,直接利用映射关系对每一个像素进行矫正。
第二,步骤S303,在线分块展开矫正的过程如下:
分块矫正是为了降低FPGA的硬件输入/输出(Input Output,I/O)压力,充分发挥其计算性能。若不进行分块,FPGA需要载入一次载入一整副鱼眼图像才能进行矫正,这将对I/O造成非常大的压力,同时也不利用硬件资源的充分利用。分块矫正分为定点化、索引表分块,分块重映射、拼接图像4个步骤。
第一步,定点化:由于FPGA上无法进行浮点运算,本实施例对索引表进行定点化操作,这里采用4bit定点化方案,对于索引表中的所有值,右移动4位并取整。
第二步,索引表分块:为了进行分块矫正,本实施例将索引表进行分块。如图5B所示,以输出分辨率为128*128为例,mapx和mapy分别记录了输出图像上对应位置的像素在鱼眼图像上的x坐标值和y坐标值。将mapx和mapy分割为32*32大小的块,对每一块中统计x、y的最小值和最大值,那么其对应的鱼眼图像上的块可由(x_min,y_min,x_max,y_max)确定。另外,对于索引表mapx和mapy中块的坐标信息,需要统一减去x_min和y_min,以转换到新的鱼眼图像块坐标系中。如图5B中M块矫正后的展开图像501中1的位置,1是一个32*32大小的一个图,这个图有32*32个像素,通过查找索引表map_x503和map_y504,map_x503记录了当前的像素在鱼眼图像502上的位置的x值,map_y504记录了当前位置的像素在鱼眼图像上的位置的坐标y值,通过查找map_x503和map_y504就可以在鱼眼图像上找到对应的坐标点(假设为鱼眼图像502中1的位置),然后就将该坐标点的像素值作为展开像素的像素值。
第三步,分块重映射:对于索引表分割成的32*32的块,进行重映射运算。即根据索引表mapx和mapy中的信息,将鱼眼图像块中的像素值映射到输出图像块中,另外,由于mapx和mapy在鱼眼图像上的坐标位置不一定是整数,那么需要通过插值来获取目标像素,这里使用了双线性插值方法。
第四步,图像拼接:对所有分块重映射之后的输出块进行拼接,输出为1路矫正展开图。
该步骤当中,定点化、索引表分块、图像拼接是可选的,是为了适应FPGA的硬件特性,充分利用其性能设计的,其可替代的方案是在中央处理器(Central Processing Unit,CPU)上直接利用索引表进行重映射,不进行定点化和索引表分块、和图像拼接。另外,在FPGA上实现时,定点化方案不限于4bit定点化,可替换为其他精度的定点化方案如8bit,16bit等;索引表的分块大小不限于32*32pixel,其可替代为其他任意尺寸的大小,视硬件的带宽能力确定;分块重映射步骤中,不限于双线性插值方案,其可替换为最近邻插值、双三次插值、兰索斯插值等,视速度和精度要求确定。
本申请实施例提供一种鱼眼图像处理装置,图6为本申请实施例鱼眼图像处理装置的组成结构示意图,如图6所示,所述鱼眼图像处理装置600包括:第一确定装置601、第一展开装置602和第一调整装置603,其中:
所述第一确定装置601,用于确定待处理的鱼眼图像的矫正参数;
所述第一展开装置602,用于根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;
所述第一调整装置603,用于根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系。
在本申请实施例中,所述矫正参数至少包括以下之一:圆心坐标、鱼眼半径和畸变系数。
在本申请实施例中,所述映射关系包括与展开图像尺寸相同的矫正索引表;
对应地,所述第一调整装置603,包括:
第一调整子装置,用于所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
在本申请实施例中,所述装置还包括:
第一建立装置,用于建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系;
第二确定装置,用于根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;
第三确定装置,用于根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系;
第四确定装置,用于根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系;
第五确定装置,用于将所述第二对应关系确定为所述映射关系。
在本申请实施例中,所述第一建立装置,包括:
第一建立子装置,用于以所述鱼眼图像的中心O为原点建立所述第一二维坐标系;
第二建立子装置,用于以所述鱼眼图像的中心O为原点,将所述第一二维坐标系的横轴、纵轴和所述鱼眼相机的镜头的光轴分别作为横轴、纵轴和第三维坐标轴,建立所述三维坐标系。
在本申请实施例中,所述第二确定装置,包括:
第一确定子装置,用于在所述三维坐标系中,以所述鱼眼图像的中心O为球心,以所述鱼眼图像的半径为球体半径,确定球体模型;
第二确定子装置,用于确定在所述球体模型中满足预设角度的切面;
第三确定子装置,用于根据所述切面,确定所述第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;其中,所述第二二维坐标系中每一点的坐标与所述透视投影平面坐标系中每一点的坐标满足预设的对应关系。
在本申请实施例中,所述第三确定装置,包括:
第三确定子装置,用于根据所述透视投影平面坐标系,确定所述透视投影平面坐标系所属平面上任一点沿预设坐标轴移动预设距离对应所述三维坐标系上坐标的变化量;
第四确定子装置,用于根据所述变化量、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系中每一点的坐标与所述三维坐标系中每一点的坐标之间的第一对应关系。
在本申请实施例中,所述第四确定装置,包括:
第五确定子装置,用于根据所述第一关系,确定所述第一二维坐标系中的每一点的坐标与所述三维坐标系中每一点的坐标之间的第三对应关系;
第六确定子装置,用于根据所述第一对应关系和所述第三对应关系,确定所述第二对应关系。
在本申请实施例中,所述第一调整子装置,包括:
第一划分单元,用于将所述矫正索引表分成M个块;M为大于1的整数;
第一确定单元,用于确定所述M个块对应的所述展开图像的坐标;
第一调整单元,用于根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像;
第一拼接单元,用于将M块调整后的展开图像进行拼接,得到所述鱼眼图像对应的正常图像。
在本申请实施例中,所述第一划分单元,包括:
第一划分子单元,用于按照预设的分辨率将所述矫正索引表分成M个原始块;
第一确定子单元,用于确定M个原始块中任一个原始块包含的源横坐标值和源纵坐标值;
第一更新子单元,用于将所述任一原始块分别减去当前块内包含的源横坐标的最小值和源纵坐标的最小值,得到包含更新的源坐标值的所述M个块;其中,所述任一个原始块包含的源横坐标值和源纵坐标为所述任一个原始块包含的鱼眼图像的横坐标值和纵坐标值。
在本申请实施例中,所述第一调整单元,包括:
第一查找子单元,用于根据所述M个块中第m块对应的展开图像的坐标值在所述第m块中查找所述展开图像的坐标值对应的源坐标值;其中,m为大于0小于等于M的整数;
第二确定子单元,用于确定所述源坐标值在所述鱼眼图像上对应的第一像素值;
第一替换子单元,用于将所述第一像素值替换所述展开图像的第二像素值,得到所述M块调整后的展开图像中第m块调整后的展开图像;其中所述第二像素值为所述展开图像在所述展开图像的坐标值处的像素值。
在本申请实施例中,所述矫正索引表为经过定点化的二维表。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的鱼眼图像处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台即时通讯设备(可以是终端、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例再提供一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,该计算机可执行指令被执行后,能够实现本申请实施例提供的鱼眼图像处理方法中的步骤。
相应地,本申请实施例再提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,所述该计算机可执行指令被处理器执行时实现上述实施例提供的鱼眼图像处理方法的步骤。
相应地,本申请实施例提供一种计算机设备,图7为本申请实施例计算机设备的组成结构示意图,如图7所示,该计算机设备700的硬件实体包括:处理器701、通信接口702和存储器703,其中:
处理器701通常控制计算机设备700的总体操作。
通信接口702可以使计算机设备通过网络与其他终端或服务器通信。
存储器703配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及计算机设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
以上计算机设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请即时通讯设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (24)

1.一种鱼眼图像处理方法,其特征在于,所述方法包括:
确定待处理的鱼眼图像的矫正参数;
根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;
根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系;
所述映射关系包括与展开图像尺寸相同的矫正索引表;
对应地,所述根据预设的映射关系和所述鱼眼图像中像素值调整所述展开图像,得到所述鱼眼图像对应的输出图像,包括:
根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
2.根据权利要求1所述的方法,其特征在于,所述矫正参数至少包括以下之一:圆心坐标、鱼眼半径和畸变系数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系;
根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;
根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系;
根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系;
将所述第二对应关系确定为所述映射关系。
4.根据权利要求3所述的方法,其特征在于,所述建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系,包括:
以所述鱼眼图像的中心O为原点建立所述第一二维坐标系;
以所述鱼眼图像的中心O为原点,将所述第一二维坐标系的横轴、纵轴和所述鱼眼相机的镜头的光轴分别作为横轴、纵轴和第三维坐标轴,建立所述三维坐标系。
5.根据权利要求3所述的方法,其特征在于,所述根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系,包括:
在所述三维坐标系中,以所述鱼眼图像的中心O为球心,以所述鱼眼图像的半径为球体半径,确定球体模型;
确定在所述球体模型中满足预设角度的切面;
根据所述切面,确定所述第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;其中,所述第二二维坐标系中每一点的坐标与所述透视投影平面坐标系中每一点的坐标满足预设的对应关系。
6.根据权利要求3所述的方法,其特征在于,所述根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系,包括:
根据所述透视投影平面坐标系,确定所述透视投影平面坐标系所属平面上任一点沿预设坐标轴移动预设距离对应所述三维坐标系上坐标的变化量;
根据所述变化量、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系中每一点的坐标与所述三维坐标系中每一点的坐标之间的第一对应关系。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系,包括:
根据所述第一关系,确定所述第一二维坐标系中的每一点的坐标与所述三维坐标系中每一点的坐标之间的第三对应关系;
根据所述第一对应关系和所述第三对应关系,确定所述第二对应关系。
8.根据权利要求1所述的方法,其特征在于,所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像,包括:
将所述矫正索引表分成M个块;M为大于1的整数;
确定所述M个块对应的所述展开图像的坐标;
根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像;
将M块调整后的展开图像进行拼接,得到所述鱼眼图像对应的正常图像。
9.根据权利要求8所述的方法,其特征在于,所述将所述矫正索引表分成M个块,包括:
按照预设的分辨率将所述矫正索引表分成M个原始块;
确定M个原始块中任一个原始块包含的源横坐标值和源纵坐标值;
将所述任一原始块分别减去当前块内包含的源横坐标的最小值和源纵坐标的最小值,得到包含更新的源坐标值的所述M个块;其中,所述任一个原始块包含的源横坐标值和源纵坐标为所述任一个原始块包含的鱼眼图像的横坐标值和纵坐标值。
10.根据权利要求8所述的方法,其特征在于,根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像,包括:
根据所述M个块中第m块对应的展开图像的坐标值在所述第m块中查找所述展开图像的坐标值对应的源坐标值;其中,m为大于0小于等于M的整数;
确定所述源坐标值在所述鱼眼图像上对应的第一像素值;
将所述第一像素值替换所述展开图像的第二像素值,得到所述M块调整后的展开图像中第m块调整后的展开图像;其中所述第二像素值为所述展开图像在所述展开图像的坐标值处的像素值。
11.根据权利要求8至10任一项所述的方法,其特征在于,所述矫正索引表为经过定点化的二维表。
12.一种鱼眼图像处理装置,其特征在于,所述装置包括:第一确定装置、第一展开装置和第一调整装置,其中:
所述第一确定装置,用于确定待处理的鱼眼图像的矫正参数;
所述第一展开装置,用于根据所述矫正参数,将所述鱼眼图像在预设的方向轴上展开成对应的展开图像;
所述第一调整装置,用于根据预设的映射关系和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像;其中,所述预设的映射关系用于表明所述鱼眼图像中像素点的坐标与所述展开图像中像素点的坐标之间的对应关系;
所述映射关系包括与展开图像尺寸相同的矫正索引表;
对应地,所述第一调整装置,包括:
第一调整子装置,用于所述根据所述矫正索引表和所述鱼眼图像中像素点的坐标调整所述展开图像,得到所述鱼眼图像对应的输出图像。
13.根据权利要求12所述的装置,其特征在于,所述矫正参数至少包括以下之一:圆心坐标、鱼眼半径和畸变系数。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一建立装置,用于建立所述鱼眼图像的第一二维坐标系和用于采集所述鱼眼图像的鱼眼相机的三维坐标系;
第二确定装置,用于根据所述三维坐标系,确定所述展开图像的第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;
第三确定装置,用于根据所述透视投影平面坐标系、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系与所述三维坐标系之间的第一对应关系;
第四确定装置,用于根据所述第一对应关系,确定所述第二二维坐标系与所述第一二维坐标系之间的第二对应关系;
第五确定装置,用于将所述第二对应关系确定为所述映射关系。
15.根据权利要求14所述的装置,其特征在于,所述第一建立装置,包括:
第一建立子装置,用于以所述鱼眼图像的中心O为原点建立所述第一二维坐标系;
第二建立子装置,用于以所述鱼眼图像的中心O为原点,将所述第一二维坐标系的横轴、纵轴和所述鱼眼相机的镜头的光轴分别作为横轴、纵轴和第三维坐标轴,建立所述三维坐标系。
16.根据权利要求14所述的装置,其特征在于,所述第二确定装置,包括:
第一确定子装置,用于在所述三维坐标系中,以所述鱼眼图像的中心O为球心,以所述鱼眼图像的半径为球体半径,确定球体模型;
第二确定子装置,用于确定在所述球体模型中满足预设角度的切面;
第三确定子装置,用于根据所述切面,确定所述第二二维坐标系和与所述第二二维坐标系在同一平面的透视投影平面坐标系;其中,所述第二二维坐标系中每一点的坐标与所述透视投影平面坐标系中每一点的坐标满足预设的对应关系。
17.根据权利要求14所述的装置,其特征在于,所述第三确定装置,包括:
第三确定子装置,用于根据所述透视投影平面坐标系,确定所述透视投影平面坐标系所属平面上任一点沿预设坐标轴移动预设距离对应所述三维坐标系上坐标的变化量;
第四确定子装置,用于根据所述变化量、所述第二二维坐标系和所述三维坐标系,确定所述第二二维坐标系中每一点的坐标与所述三维坐标系中每一点的坐标之间的第一对应关系。
18.根据权利要求17所述的装置,其特征在于,所述第四确定装置,包括:
第五确定子装置,用于根据所述第一关系,确定所述第一二维坐标系中的每一点的坐标与所述三维坐标系中每一点的坐标之间的第三对应关系;
第六确定子装置,用于根据所述第一对应关系和所述第三对应关系,确定所述第二对应关系。
19.根据权利要求12所述的装置,其特征在于,所述第一调整子装置,包括:
第一划分单元,用于将所述矫正索引表分成M个块;M为大于1的整数;
第一确定单元,用于确定所述M个块对应的所述展开图像的坐标;
第一调整单元,用于根据所述M个块、所述展开图像中像素点的坐标和所述鱼眼图像中像素点的坐标调整所述展开图像的像素值,得到M块调整后的展开图像;
第一拼接单元,用于将M块调整后的展开图像进行拼接,得到所述鱼眼图像对应的正常图像。
20.根据权利要求19所述的装置,其特征在于,所述第一划分单元,包括:
第一划分子单元,用于按照预设的分辨率将所述矫正索引表分成M个原始块;
第一确定子单元,用于确定M个原始块中任一个原始块包含的源横坐标值和源纵坐标值;
第一更新子单元,用于将所述任一原始块分别减去当前块内包含的源横坐标的最小值和源纵坐标的最小值,得到包含更新的源坐标值的所述M个块;其中,所述任一个原始块包含的源横坐标值和源纵坐标为所述任一个原始块包含的鱼眼图像的横坐标值和纵坐标值。
21.根据权利要求19所述的装置,其特征在于,所述第一调整单元,包括:
第一查找子单元,用于根据所述M个块中第m块对应的展开图像的坐标值在所述第m块中查找所述展开图像的坐标值对应的源坐标值;其中,m为大于0小于等于M的整数;
第二确定子单元,用于确定所述源坐标值在所述鱼眼图像上对应的第一像素值;
第一替换子单元,用于将所述第一像素值替换所述展开图像的第二像素值,得到所述M块调整后的展开图像中第m块调整后的展开图像;其中所述第二像素值为所述展开图像在所述展开图像的坐标值处的像素值。
22.根据权利要求19至21任一项所述的装置,其特征在于,所述矫正索引表为经过定点化的二维表。
23.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现权利要求1至11任一项所述的方法步骤。
24.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1至11任一项所述的方法步骤。
CN201810935885.2A 2018-08-16 2018-08-16 一种鱼眼图像处理方法及装置、设备和存储介质 Active CN109308686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810935885.2A CN109308686B (zh) 2018-08-16 2018-08-16 一种鱼眼图像处理方法及装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810935885.2A CN109308686B (zh) 2018-08-16 2018-08-16 一种鱼眼图像处理方法及装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109308686A CN109308686A (zh) 2019-02-05
CN109308686B true CN109308686B (zh) 2022-06-24

Family

ID=65224109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810935885.2A Active CN109308686B (zh) 2018-08-16 2018-08-16 一种鱼眼图像处理方法及装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109308686B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111612812B (zh) * 2019-02-22 2023-11-03 富士通株式会社 目标物检测方法、检测装置和电子设备
CN112132740B (zh) * 2019-06-25 2023-08-25 杭州海康威视数字技术股份有限公司 视频图像显示方法、装置及***
CN110458776B (zh) * 2019-07-31 2023-05-19 深圳市德赛微电子技术有限公司 一种可定制化的实时视频矫正方法及其电子设备
CN110599427A (zh) * 2019-09-20 2019-12-20 普联技术有限公司 鱼眼图像矫正方法、装置及终端设备
CN112541861B (zh) * 2019-09-23 2024-05-24 华为技术有限公司 图像处理方法、装置、设备及计算机存储介质
CN110728622B (zh) * 2019-10-22 2023-04-25 珠海研果科技有限公司 鱼眼图像处理方法、装置、电子设备及计算机可读介质
CN111277911B (zh) * 2020-01-10 2021-10-15 聚好看科技股份有限公司 一种全景视频的图像处理方法、显示设备及服务器
CN113763530B (zh) * 2020-06-05 2024-04-26 杭州海康威视数字技术股份有限公司 图像处理方法、装置、计算设备及存储介质
CN111861904A (zh) * 2020-06-16 2020-10-30 浙江大华技术股份有限公司 等比例鱼眼矫正方法、装置和计算机设备和可读存储介质
CN112530173A (zh) * 2020-12-03 2021-03-19 北京百度网讯科技有限公司 路侧感知方法、装置、电子设备、存储介质及路侧设备
CN114827385A (zh) * 2021-01-18 2022-07-29 北京猎户星空科技有限公司 图像处理方法、装置和电子设备
CN113132708B (zh) * 2021-04-22 2022-02-22 贝壳找房(北京)科技有限公司 利用鱼眼相机获取三维场景图像的方法和装置、设备和介质
CN116245748B (zh) * 2022-12-23 2024-04-26 珠海视熙科技有限公司 环视镜头的畸变校正方法、装置、设备、***及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814181A (zh) * 2010-03-17 2010-08-25 天津理工大学 一种鱼眼图像复原的展开方法
CN105554478A (zh) * 2016-02-24 2016-05-04 深圳市车米云图科技有限公司 视频监控***及方法
CN105744229A (zh) * 2016-02-25 2016-07-06 江苏科技大学 基于红外全景环视融合的无人艇自动锚泊***及其工作方法
US9639935B1 (en) * 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
CN106780389A (zh) * 2016-12-23 2017-05-31 浙江宇视科技有限公司 一种基于坐标转换的鱼眼图像校正方法及装置
CN106780374A (zh) * 2016-12-01 2017-05-31 哈尔滨工业大学 一种基于鱼眼成像模型的鱼眼图像畸变矫正方法
CN106791762A (zh) * 2016-11-21 2017-05-31 深圳岚锋创视网络科技有限公司 立体影像处理方法及***
CN106875339A (zh) * 2017-02-22 2017-06-20 长沙全度影像科技有限公司 一种基于长条形标定板的鱼眼图像拼接方法
CN106981050A (zh) * 2016-01-18 2017-07-25 深圳岚锋创视网络科技有限公司 对鱼眼镜头拍摄的图像矫正的方法和装置
CN107346530A (zh) * 2016-05-06 2017-11-14 完美幻境(北京)科技有限公司 一种修正鱼眼图像的投影方法及***
CN107563959A (zh) * 2017-08-30 2018-01-09 北京林业大学 全景图生成方法及装置
CN107610045A (zh) * 2017-09-20 2018-01-19 北京维境视讯信息技术有限公司 鱼眼图片拼接中的亮度补偿方法、装置、设备及存储介质
CN107749050A (zh) * 2017-09-30 2018-03-02 珠海市杰理科技股份有限公司 鱼眼图像矫正方法、装置及计算机设备
EP3318469A1 (en) * 2016-11-02 2018-05-09 LG Electronics Inc. Apparatus for providing around view image, and vehicle

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL302194A (en) * 2015-04-01 2023-06-01 Owl Labs Inc Connecting and resizing angularly separated sub-scenes
US10021299B2 (en) * 2016-05-31 2018-07-10 Tower Spring Global Limited System and method for image stitching
CN106600549A (zh) * 2016-11-16 2017-04-26 深圳六滴科技有限公司 鱼眼图像的矫正方法和装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814181A (zh) * 2010-03-17 2010-08-25 天津理工大学 一种鱼眼图像复原的展开方法
CN106981050A (zh) * 2016-01-18 2017-07-25 深圳岚锋创视网络科技有限公司 对鱼眼镜头拍摄的图像矫正的方法和装置
CN105554478A (zh) * 2016-02-24 2016-05-04 深圳市车米云图科技有限公司 视频监控***及方法
CN105744229A (zh) * 2016-02-25 2016-07-06 江苏科技大学 基于红外全景环视融合的无人艇自动锚泊***及其工作方法
CN107346530A (zh) * 2016-05-06 2017-11-14 完美幻境(北京)科技有限公司 一种修正鱼眼图像的投影方法及***
US9639935B1 (en) * 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
EP3318469A1 (en) * 2016-11-02 2018-05-09 LG Electronics Inc. Apparatus for providing around view image, and vehicle
CN106791762A (zh) * 2016-11-21 2017-05-31 深圳岚锋创视网络科技有限公司 立体影像处理方法及***
CN106780374A (zh) * 2016-12-01 2017-05-31 哈尔滨工业大学 一种基于鱼眼成像模型的鱼眼图像畸变矫正方法
CN106780389A (zh) * 2016-12-23 2017-05-31 浙江宇视科技有限公司 一种基于坐标转换的鱼眼图像校正方法及装置
CN106875339A (zh) * 2017-02-22 2017-06-20 长沙全度影像科技有限公司 一种基于长条形标定板的鱼眼图像拼接方法
CN107563959A (zh) * 2017-08-30 2018-01-09 北京林业大学 全景图生成方法及装置
CN107610045A (zh) * 2017-09-20 2018-01-19 北京维境视讯信息技术有限公司 鱼眼图片拼接中的亮度补偿方法、装置、设备及存储介质
CN107749050A (zh) * 2017-09-30 2018-03-02 珠海市杰理科技股份有限公司 鱼眼图像矫正方法、装置及计算机设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DUAL FISHEYE LENS STITCHING FOR 360 DEGREE IMAGING;Tuan Ho 等;《2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)》;20170619;2172-2176 *
Dual-fisheye lens stitching and error correction;Guangyao Ni 等;《2017 10th International Congress on Image and Signal Processing, BioMedical Engineering and Informatics (CISP-BMEI)》;20180227;1-6 *
基于MSCR和ASIFT的鱼眼图像立体匹配研究;朱均超 等;《自动化仪表》;20180220;第39卷(第2期);81-85 *

Also Published As

Publication number Publication date
CN109308686A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN109308686B (zh) 一种鱼眼图像处理方法及装置、设备和存储介质
CN109618090B (zh) 对通过使用广角透镜捕获的图像的图像失真校正的方法和***
CN113382168B (zh) 用于存储成像数据的重叠区以产生优化拼接图像的设备及方法
JP5437311B2 (ja) 画像補正方法、画像補正システム、角度推定方法、および角度推定装置
WO2019024935A1 (zh) 一种全景图像生成方法及装置
US9436973B2 (en) Coordinate computation device and method, and an image processing device and method
CN104778656B (zh) 基于球面透视投影的鱼眼图像校正方法
CN110868541B (zh) 视场融合方法及装置、存储介质、终端
CN103839227B (zh) 鱼眼图像校正方法和装置
CN110956583B (zh) 球面图像处理方法、装置及服务器
CN112215880B (zh) 一种图像深度估计方法及装置、电子设备、存储介质
CN104994367A (zh) 一种图像矫正方法以及摄像头
CN113643414B (zh) 一种三维图像生成方法、装置、电子设备及存储介质
CN112686824A (zh) 图像校正方法、装置、电子设备和计算机可读介质
CN111161138B (zh) 用于二维全景图像的目标检测方法、装置、设备、介质
CN113436269B (zh) 图像稠密立体匹配方法、装置和计算机设备
CN111294580A (zh) 基于gpu的摄像头视频投影方法、装置、设备及存储介质
CN114511447A (zh) 图像处理方法、装置、设备及计算机存储介质
CN114648458A (zh) 鱼眼图像矫正方法、装置、电子设备及存储介质
CN111091117B (zh) 用于二维全景图像的目标检测方法、装置、设备、介质
CN107346530B (zh) 一种修正鱼眼图像的投影方法及***
Zhang et al. Fisheye lens distortion correction based on an ellipsoidal function model
JP2001005956A (ja) 広視野カメラ装置
CN112565730B (zh) 路侧感知方法、装置、电子设备、存储介质及路侧设备
EP3766046A1 (en) Camera calibration and/or use of a calibrated camera

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