图像矫正方法、装置、计算机设备和存储介质与流程

文档序号:19150122发布日期:2019-11-15 23:59阅读:178来源:国知局
图像矫正方法、装置、计算机设备和存储介质与流程

本申请涉及图像处理技术领域,特别是涉及一种图像矫正方法、装置、计算机设备和存储介质。



背景技术:

摄像机是一种利用光学成像原理形成影像并使用感光元器件记录影像的光学器械。被摄景物反射出的光线通过镜头(摄景物镜)和控制曝光量的快门聚焦后,被摄景物在相机暗箱内的感光元器件上形成影像,感光元器件将光信号转换为电信号,电信号经模数转换形成视频图像数据。

现有摄像机在实际使用中经常是倾斜摄影,感光平面与所拍摄人、车等拍摄目标不平行,形成一定角度,导致拍摄的图像相对于拍摄目标的实际图像存在一定变形。在视频监控领域,摄像机所拍摄的视频图像变形,可能导致无法正确识别拍摄目标。在工业生产过程中,摄像机所拍摄的产品视频图像变形会增加产品质量检验误差。目前,通常采用偏角摄影方式,来解决图像变形问题。然而,偏角摄影方式要求专业相机和专业拍摄手法,成本较高且操作复杂,而且该方式不适用于固定安装的监控摄像机。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够降低图像变形矫正复杂度的图像矫正方法、装置、计算机设备和存储介质。

一种图像矫正方法,所述方法包括:

获取摄像头拍摄的场景图像;

当在所述场景图像中检测到目标对象时,根据摄像头安装参数,确定所述场景图像的矫正参数;

根据所述矫正参数和所述场景图像的中心点,对所述场景图像进行矫正;

从矫正的所述场景图像中获取所述目标对象的矫正图像。

在其中一个实施例中,所述根据摄像头安装参数,确定所述场景图像的矫正参数的步骤,包括:

根据摄像头安装角度,确定所述摄像头的成像平面的倾斜角度;

将所述倾斜角度设置为所述场景图像的矫正角度。

在其中一个实施例中,所述根据所述矫正参数和所述场景图像的中心点,对所述场景图像进行矫正的步骤,包括:

以所述场景图像的中心点为旋转中心,按照所述场景图像的矫正角度,对所述场景图像进行旋转;

对旋转后的所述场景图像进行形状调整和尺寸调整。

在其中一个实施例中,所述当在所述场景图象中检测到目标对象时,根据摄像头安装参数,确定所述场景图像的矫正参数的步骤,包括:

当在所述场景图像上检测到所述目标对象时,在所述场景图像中获取所述目标对象的图像信息,将所述图像信息设为所述目标对象的待矫正图像;

根据所述摄像头安装参数,确定所述待矫正图像的矫正参数。

在其中一个实施例中,所述根据所述摄像头安装参数,确定所述待矫正图像的矫正参数的步骤,包括:

根据摄像头安装角度,确定所述摄像头的成像平面的倾斜角度;

在所述待矫正图像中确定所述目标对象的中心点;

根据所述夹角、所述场景图像的中心点和所述目标对象的中心点,确定所述待矫正图像的矫正角度。

在其中一个实施例中,所述根据所述矫正参数和所述场景图像的中心点,对所述场景图像进行矫正的步骤,包括:

以所述目标对象的中心点为旋转中心,按照所述待矫正图像的矫正角度,对所述待矫正图像进行旋转;

所述从矫正的所述场景图像中获取所述目标对象的矫正图像的步骤,包括:

对旋转后的所述待矫正图像进行形状调整和尺寸调整,获得所述目标对象的矫正图像。

在其中一个实施例中,所述当在所述场景图像中检测到所述目标对象时,在所述场景图像中获取所述目标对象的图像信息,将所述图像信息设为所述目标对象的待矫正图像的步骤,包括:

当在所述场景图像中检测到所述目标对象时,获取预设数量帧所述场景图像的相邻帧图像;

在所述场景图像和所述相邻帧图像中的每帧图像中,获取所述目标对象的图像信息并将所述图像信息设置为候选图像;

从所述候选图像中筛选出所述目标对象的待矫正图像。

一种图像矫正装置,所述装置包括:

场景图像获取模块,用于获取摄像头拍摄的场景图像;

矫正参数确定模块,用于当在所述场景图像中检测到目标对象时,根据摄像头安装参数,确定所述场景图像的矫正参数;

图像矫正模块,用于根据所述矫正参数和所述场景图像的中心点,对所述场景图像进行矫正;以及

目标图像获取模块,用于从矫正的所述场景图像中获取所述目标对象的矫正图像。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像矫正方法所述的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像矫正方法所述的步骤。

上述图像矫正方法、装置、计算机设备和存储介质,在检测到场景图像中的目标对象时,根据摄像头安装参数确定场景图像的矫正参数,根据该矫正参数和场景图像的中心点,对场景图像进行矫正,得到矫正的场景图像,从矫正的场景图像中获取目标对象的矫正图像,从而在无需复杂的专业拍摄手法、高成本的专业相机的情况下,实现了图像中各个目标对象的矫正,有效降低了图像矫正的复杂度和成本,提高了图像矫正适用的设备范围。

附图说明

图1为一个实施例中图像矫正方法的应用环境图;

图2为一个实施例中图像矫正方法的流程示意图;

图3为一个实施例中摄像机拍摄场景图像的场景示例图;

图4为另一个实施例中图像矫正方法的流程示意图;

图5为一个实施例中图像矫正装置的结构框图;以及

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的图像矫正方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102接收摄像头拍摄的视频和图像,并将视频和图像存储在本地硬盘上,或者发送至服务器104上进行存储。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和摄像设备,摄像设备可以但不限于是枪形摄像机、球形摄像机和半球摄像机,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种图像矫正方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤202,获取摄像头拍摄的场景图像。

其中,在各种拍摄场景中摄像头的拍摄方向通常为倾斜的,倾斜向上或倾斜向下。例如,在监控场景中,摄像头固定安装在墙体或固定支架上,且摄像头的拍摄方向为倾斜向下,以便摄像头能够准确监控到指定的地面区域。场景图像可为摄像头拍摄的单张图像,也可为摄像头拍摄的视频码流中的图像帧。当摄像头的拍摄方向为倾斜时,摄像头的感光元器件和成像平面也是倾斜的,场景内物体的顶部与底部分别到成像平面的距离不同,导致场景图像中的物体发生畸变。

作为示例地,如图3所示,摄像头(图3中的相机)包括感光元器件和镜头,感光元器件的位置为摄像头的焦点位置,焦点位置所在的平面为成像平面,在成像时光线沿着主光轴聚焦在感光元器件上。镜头前的拍摄目标为人体,由于成像平面倾斜向下,拍摄目标的头部离成像平面比脚部离成像平面更近,成像时头部图像尺寸放大、且脚部图像尺寸缩小,拍摄目标的图像发生畸变。

步骤204,当在场景图像中检测到目标对象时,根据摄像头安装参数,确定场景图像的矫正参数。

其中,目标对象即摄像头的拍摄对象(也可称为监控对象)。

具体地,场景图像中各目标对象的畸变会增加场景图像的信息误差,影响到目标对象的识别准确度,进而影响到摄像头的拍摄和监控效果。因此,获得摄像头拍摄的场景图像时,在场景图像中进行目标对象的检测,在检测到场景图像中存在目标对象时,进一步对目标对象进行矫正。

具体地,由于目标对象的畸变与摄像头的倾斜拍摄有关,在检测到场景图像中的目标对象时,可获取该摄像头的摄像头安装参数,根据摄像头安装参数可了解到场景图像的倾斜程度,进而可以确定相应的矫正参数,以将倾斜拍摄的场景图像进行恢复,进而实现对目标对象的矫正。

其中,摄像头安装参数可在安装时由用户写入存储器中,在矫正时直接从存储器中读取得到。若摄像头安装在云台上,可从云台中读取摄像头安装参数。

步骤206,根据矫正参数和场景图像的中心点,对场景图像进行矫正。

具体地,获得矫正参数后,确定场景图像的中心点。以场景图像的中心点为固定点,按照矫正参数对场景图像进行调整。

步骤208,从矫正的场景图像中获取目标对象的矫正图像。

具体地,在对场景图像进行矫正后,可在场景图像中再次进行目标对象检测,获得目标对象在矫正后的场景图像中的图像位置,依据目标对象的图像位置,从矫正后的场景图像中获取目标对象的矫正图像,以便用户对各类目标对象的矫正图像分别查看。

上述图像矫正方法中,在场景图像中检测到目标对象时,根据摄像头安装参数确定场景图像的矫正参数,依据矫正参数对场景图像进行矫正,从矫正后的场景图像中获得目标对象的矫正图像,从而在无需专业拍摄手法、专业相机的情形下实现图像矫正,降低了图像矫正的复杂度和成本,提高了图像矫正算法所适用的设备范围,尤其适用于固定倾斜安装在墙体或固定支架上的摄像头。

在一个实施例中,目标对象包括人、车辆、动物等动态目标,也可以包括路牌、门牌等信息量丰富的静态目标,从而对场景图像中的动态对象和静态对象都能够进行矫正,提高摄像头所拍摄到的目标对象的图像效果。

在一个实施例中,在场景图像中检测目标对象时,可将场景图像的图像特征与预设特征库中各类目标对象的图像特征进行匹配,以检测得到在场景图像中出现的所有目标对象。具体的特征匹配方法在此不进行限制。

在一个实施例中,摄像头安装参数包括摄像头安装角度,当摄像头的拍摄方向倾斜向下时,摄像头安装角度也可以称为摄像头俯角度。摄像头安装角度可以是摄像头的背面与竖直方向或水平方向的夹角,也可以是摄像头的镜头与竖直方向或水平方向的夹角,从而通过便于获取的摄像头安装参数,降低图像矫正的复杂度,提高图像矫正效率。

在一个实施例中,根据摄像头安装角度和摄像头内部感光元器件的位置,可以得到摄像头的成像平面的倾斜角度。例如,当感光元器件所在平面与摄像头的背面平行时,摄像头的成像平面与竖直方向的夹角即摄像头的背面与竖直方向的夹角。其中,成像平面的倾斜角度为成像平面相对于实际场景中目标对象所在平面(通常为竖直平面)的夹角,当成像平面与目标对象所在平面平行(夹角为零)时,摄像机不存在倾斜拍摄的情况,场景图像中的目标对象也未畸变。可见,成像平面的倾斜角度体现着场景图像中目标对象的畸变程度,依据倾斜角度可有效地对场景图像进行矫正,有效地降低了图像矫正的复杂度。

在一个实施例中,在得到成像平面的倾斜角度后,将该倾斜角度设置为场景图像的矫正角度,以场景图像的中心点为旋转中心,按照场景图像的矫正角度,对场景图像进行旋转,有效实现对场景图像的矫正。其中,可以预先指定场景图像的旋转方向,以使场景图像朝该旋转方向转动矫正角度后,恢复至摄像头的成像平面与实际场景中的目标对象平行时拍摄得到的场景图像。

在一个实施例中,摄像头安装参数还可以包括摄像头安装高度和摄像头拍摄距离等,摄像头安装高度是指摄像头到地面的距离,摄像头拍摄距离是指摄像头的安装位置到摄像头所拍摄的场景区域之间的距离。根据摄像头安装高度、摄像头拍摄距离和摄像头安装角度,可以更准确地得到摄像头的主光轴方向,根据摄像头的成像平面与主光轴方向垂直,可得到成像平面的倾斜角度。

在一个实施例中,在旋转场景图像后,场景图像的形状和尺寸可能发生变化,例如从长方形变成上边长下边短的梯形。因此,在旋转场景图像后,对场景图像进行形状调整和尺寸调整,得到预设尺寸大小和预设形状的场景图像,以提高场景图像的矫正效果。

在一个实施例中,如图4所示,提供了一种图像矫正方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤402,获取摄像头拍摄的场景图像。

具体地,步骤402可参照步骤202的描述,不再赘述。

步骤404,当在场景图像中检测到目标对象时,在场景图像中获取目标对象的图像信息,将图像信息设为目标对象的待矫正图像。

具体地,在场景图像中检测目标对象,当检测到时,在场景图像中提取目标对象的图像信息,得到出现在场景图像中各个目标对象的图像信息,将各个目标对象的图像信息分别设为其自身的待矫正图像,以对每个待矫正图像进行分别矫正,提高目标对象的图像矫正效果。

步骤406,根据摄像头安装角度,确定摄像头的成像平面的倾斜角度。

具体地,摄像头安装角度可以是摄像头的背面与竖直方向或水平方向的夹角,也可以是摄像头的镜头与竖直方向或水平方向的夹角,根据摄像头安装角度和摄像头内部感光元器件的位置,可以得到摄像头的成像平面的倾斜角度。其中,成像平面的倾斜角度为成像平面相对于实际场景中目标对象所在平面的夹角。

步骤408,在待矫正图像中确定目标对象的中心点。

具体地,可获取待矫正图像的尺寸,依据该尺寸确定待矫正图像的中心点,将待矫正图像的中心点设置为目标对象的中心点。或者,可在待矫正图像中检测目标对象的边缘,得到目标对象的轮廓,确定该轮廓的中心点,将该轮廓的中心点设置为目标对象的中心点。

步骤410,根据倾斜角度、场景图像的中心点和目标对象的中心点,确定待矫正图像的矫正角度。

具体地,由于场景图像的中心点即成像平面的中心,都位于主光轴上,成像平面的倾斜角度即场景图像的矫正角度,以场景图像的中心点为旋转中心,按照场景图像的矫正角度对场景图像进行旋转,完成场景图像的矫正。然而,各个目标对象在场景图像中的位置不同,畸变程度也不同,对场景图像进行整体旋转可能无法保证每个目标对象得到较好的矫正效果。因此,得到目标对象的中心点后,确定场景图像内场景图像的中心点和目标对象的中心点的距离,根据该距离和成像平面的倾斜角度,确定目标对象的待矫正图像的矫正角度。

在一个实施例中,在根据场景图像的中心点与目标对象的中心点的距离、以及成像平面的倾斜角度,确定目标对象的待矫正图像的矫正角度时,预先设置不同距离与角度增量的对应关系,在该对应关系中查找场景图像的中心点与目标对象的中心点的距离所对应的角度增量,将成像平面的倾斜角度加上该角度增量,得到目标对象的待矫正图像的矫正角度,从而有效提高每个目标对象的图像矫正效果。其中,场景图像的中心点与目标对象的中心点的距离越大,对应的角度增量越大。

步骤412,以目标对象的中心点为旋转中心,按照待矫正图像的矫正角度,对待矫正图像进行旋转。

具体地,以目标对象的中心点为旋转中心,按照目标对象的待矫正图像的矫正角度,对目标对象的待矫正图像进行旋转,有效实现对场景图像内出现的每个目标对象的图像矫正。其中,可以预先指定待矫正图像的旋转方向,以使待矫正图像朝该旋转方向转动矫正角度后,恢复至摄像头的成像平面与实际场景中的目标对象平行时拍摄得到的目标图像。

步骤414,对旋转后的待矫正图像进行形状调整和尺寸调整,获得目标对象的矫正图像。

具体地,在旋转待矫正图像后,对待矫正图像进行形状调整和尺寸调整,得到预设尺寸大小和预设形状的待矫正场景图像,以提高各个目标对象的图像矫正效果。

上述图像矫正方法中,在场景图像中检测到目标对象时,确定每个目标对象的待矫正图像,根据摄像头安装角度确定成像平面的倾斜角度,依据成像平面的倾斜角度、场景图像的中心点和目标对象的中心点,确定目标对象的待矫正图像的矫正角度,从而对场景图像中每个目标对象分别进行图像矫正,在降低图像矫正的复杂度和成本的同时,提高图像矫正效果。

在一个实施例中,在场景图像中检测到目标对象时,获取预设数量帧场景图像的相邻帧图像,在场景图像和相邻帧图像中的每帧图像中,分别获取目标对象的图像信息并将这些图像信息分别设置为目标对象的候选图像,在目标对象的所有候选图像中依据图像质量筛选出目标对象的待矫正图像,从而确保待矫正图像的图像质量,进一步提高目标对象的矫正效果。

应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种图像矫正装置500,包括:场景图像获取模块502、矫正参数确定模块504、图像矫正模块506和目标图像获取模块508,其中:

场景图像获取模块502,用于获取摄像头拍摄的场景图像;

矫正参数确定模块504,用于当在场景图像中检测到目标对象时,根据摄像头安装参数,确定场景图像的矫正参数;

图像矫正模块506,用于根据矫正参数和场景图像的中心点,对场景图像进行矫正;以及

目标图像获取模块508,用于从矫正的场景图像中获取目标对象的矫正图像。

上述图像矫正装置中,在场景图像中检测到目标对象时,根据摄像头安装参数确定场景图像的矫正参数,依据矫正参数对场景图像进行矫正,从矫正后的场景图像中获得目标对象的矫正图像,从而在无需专业拍摄手法、专业相机的情形下实现图像矫正,降低了图像矫正的复杂度和成本,提高了图像矫正算法所适用的设备范围,尤其适用于固定倾斜安装在墙体或固定支架上的摄像头。

在一个实施例中,矫正参数确定模块404包括:

第一倾斜角度确定模块,用于根据摄像头安装角度,确定摄像头的成像平面的倾斜角度;以及

第一矫正角度确定模块,用于将倾斜角度设置为场景图像的矫正角度。

在一个实施例中,图像矫正模块506包括:

场景图像旋转模块,用于以场景图像的中心点为旋转中心,按照场景图像的矫正角度,对场景图像进行旋转;以及

场景图像调整模块,用于对旋转后的场景图像进行形状调整和尺寸调整。

在一个实施例中,矫正参数确定模块504包括:

目标对象获取模块,用于当在场景图像中检测到目标对象时,在场景图像中获取目标对象的图像信息,将图像信息设为目标对象的待矫正图像;以及

矫正参数确定子模块,用于根据摄像头安装参数,确定待矫正图像的矫正参数。

在一个实施例中,矫正参数确定子模块包括:

第二倾斜角度确定模块,用于根据摄像头安装角度,确定摄像头的成像平面的倾斜角度;

目标中心点确定模块,用于在待矫正图像中确定目标对象的中心点;以及

第二矫正角度确定模块,用于根据倾斜角度、以及场景图像的中心点与目标对象的中心点之间的位置关系,确定待矫正图像的矫正角度。

在一个实施例中,图像矫正模块506包括:

目标图像旋转模块,用于以目标对象的中心点为旋转中心,按照待矫正图像的矫正角度,对待矫正图像进行旋转;

目标图像获取模块508包括:

目标图像矫正模块,用于对旋转后的待矫正图像进行形状调整和尺寸调整,获得目标对象的矫正图像。

在一个实施例中,目标对象获取模块包括:

相邻图像获取模块,用于当场景图像中检测到目标对象时,获取预设数量帧场景图像的相邻帧图像;

候选图像获取模块,用于在场景图像和相邻帧图像中的每帧图像中,获取目标对象的图像信息并将图像信息设置为候选图像;以及

目标图像筛选模块,用于从候选图像中筛选出目标对象的待矫正图像。

关于图像矫正装置的具体限定可以参见上文中对于图像矫正方法的限定,在此不再赘述。上述图像矫正装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储摄像头所拍摄的图像和视频等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像矫正方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例的各步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的各步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1