图像处理方法和装置与流程

文档序号:11251844阅读:881来源:国知局
图像处理方法和装置与流程

本发明涉及图像处理领域,具体而言,涉及一种图像处理方法和装置。



背景技术:

目前主流的vr一体机和双鱼眼组合设备主要采用了镜头前后或左右相对的布局方式,拍摄后形成前后两张圆形图像,之后对图像进行分别展开主要采用球面坐标定位法、经纬度映射法等算法展开,计算量都相对较大。在获得展开结果后再将两副有重叠区域的图像进行拼接可采用特征无关、基于特征、相似曲线匹配,以及模版拼接等方式。

例如,如图1所示的拍摄设备采用镜头左右相对的布局方式,该设备拍摄的全景视频其中一帧左右镜头的展开画面如图2a和图2b所示,从图2a和图2b中可以看出,由球形鱼眼图像做平面展开校正,计算量比较大并需要对镜头的视角范围做相应的计算;同时由于镜头是左右排列导致底部的变形拉伸非常严重,形成目前双鱼眼拍摄的通病-大手指变形;同时这种拍摄方案的后期拼合算法计算量也相对较大,如图3所示的实线描画范围为图2a和图2b所示的两个图像所需要融合的范围。

综上,由于相关技术中镜头采用前后或者左右的排列方式,将会导致全景图像的展开和融合算法的计算量较大,对于视频的直播和录制等需要实时合成的情况工作效率较低,而且在手持拍摄中会造成图像畸变,影响美观。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种图像处理方法和装置,以至少解决相关技术中镜头采用左右或者前后的布置方式导致对全景图像处理计算量较大的技术问题。

根据本发明实施例的一个方面,提供了一种图像处理方法,包括:获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像,其中,第一摄像头与第二摄像头位于同一轴心线上,轴心线为第一摄像头的轴心与第二摄像头的轴心所在的线,第一摄像头位于第二摄像头的上端或者第一摄像头位于第二摄像头的下端;对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,其中,第一图像和第二图像中的像素点的位置用极坐标表示,第三图像和第四图像中的像素点的位置用直角坐标表示;将第三图像与第四图像进行合成,得到目标图像,其中,目标图像为目标场景对应的全景图像。

根据本发明实施例的另一方面,还提供了一种图像处理装置,包括:获取单元,用于获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像,其中,第一摄像头与第二摄像头位于同一轴心线上,轴心线为第一摄像头的轴心与第二摄像头的轴心所在的线,第一摄像头位于第二摄像头的上端或者第一摄像头位于第二摄像头的下端;转换单元,用于对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,其中,第一图像和第二图像中的像素点的位置用极坐标表示,第三图像和第四图像中的像素点的位置用直角坐标表示;合成单元,用于将第三图像与第四图像进行合成,得到目标图像,其中,目标图像为目标场景对应的全景图像。

在本发明实施例中,采用镜头上下背对的方式,通过对上下两个镜头拍摄目标场景得到的图像进行极坐标系到直角坐标系的转换,并将转换后得到的图像进行融合,以得到目标场景对应的全景图像,达到了减少图像展开和融合算法的计算量的目的,进而解决了相关技术中镜头采用左右或者前后的布置方式导致对全景图像处理计算量较大的技术问题,从而实现了减少图像处理的计算成本,提升实时传输图像的效率的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的拍摄设备采用镜头左右相对的布局方式的示意图;

图2a是根据现有技术的拍摄设备的左镜头的拍摄画面和展开画面的示意图;

图2b是根据现有技术的拍摄设备的右镜头的拍摄画面和展开画面的示意图;

图3是根据现有技术的拍摄设备的左右镜头的展开画面所需要融合的区域的示意图;

图4是根据本发明实施例的图像处理方法的硬件环境的示意图;

图5是根据本发明实施例的一种可选的图像处理方法的流程图;

图6是根据本发明实施例的第一摄像头和第二摄像头布局方式的示意图;

图7a是根据本发明实施例的第一摄像头拍摄所得到的第一图像的示意图;

图7b是根据本发明实施例的第二摄像头拍摄所得到的第二图像的示意图;

图8a是根据本发明实施例的第一图像展开成第三图像的示意图;

图8b是根据本发明实施例的第二图像展开成第四图像的示意图;

图9是根据本发明实施例的第三图像和第四图像合成的目标图像的示意图;

图10是根据本发明实施例的一种可选的图像处理装置的示意图;

图11是根据本发明实施例的另一种可选的图像处理装置的示意图;

图12是根据本发明实施例的另一种可选的图像处理装置的示意图;

图13是根据本发明实施例的另一种可选的图像处理装置的示意图;

图14是根据本发明实施例的另一种可选的图像处理装置的示意图;以及

图15是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种图像处理方法的方法实施例。

可选地,在本实施例中,上述图像处理方法可以应用于如图4所示的由服务器102和终端104所构成的硬件环境中。如图4所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于pc、手机、平板电脑等。本发明实施例的图像处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的图像处理方法也可以是由安装在其上的客户端来执行。

图5是根据本发明实施例的一种可选的图像处理方法的流程图,如图5所示,该方法可以包括以下步骤:

步骤s202,获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像;

步骤s204,对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像;

步骤s206,将第三图像与第四图像进行合成,得到目标图像,其中,目标图像为目标场景对应的全景图像。

通过上述步骤s202至步骤s206,采用镜头上下背对的方式,通过对上下两个镜头拍摄目标场景得到的图像进行极坐标系到直角坐标系的转换,并将转换后得到的图像进行融合,以得到目标场景对应的全景图像,达到了减少图像展开和融合算法的计算量的目的,进而解决了相关技术中镜头采用左右或者前后的布置方式导致对全景图像处理计算量较大的技术问题,从而实现了减少图像处理的计算成本,提升实时传输图像的效率的技术效果。

在步骤s202提供的技术方案中,第一摄像头和第二摄像头可以为一体机上的两个摄像头,也可以分别为两台摄影机的摄像头,且这两台摄影机可以进行组合拍摄。本发明实施例中第一摄像头与第二摄像头可以采用镜头轴心一致的上下布局方式,也即第一摄像头和第二摄像头可以位于同一轴心线上,该轴心线为第一摄像头的轴心与第二摄像头的轴心所在的线,第一摄像头可以位于第二摄像头的上端,或者第一摄像头可以位于第二摄像头的下端。例如,图6所示的摄影机采用两台柯达鱼眼运动相机组合方式进行内容的采集和视频或图片的拍摄,该两个相机的镜头位于同一轴心线上。

需要说明的是,本发明实施例中的第一摄像头的属性参数与第二摄像头的属性参数相同,其中,属性参数可以包括但并不限于摄像头的视角范围、摄像头所拍摄图像的分辨率等。本发明实施例控制第一摄像头的属性参数与第二摄像头的属性参数相同,目的是为了保证第一摄像头拍摄目标场景得到的第一图像与第二摄像头拍摄目标场景得到的第二图像的分辨率相同,以便于能够对第一图像和第二图像对应的展开后的图像进行准确融合,以提高目标场景的全景图像的准确度的效果。优选地,本发明实施例中的第一摄像头和第二摄像头的视角范围可以大于200度,最佳选择为230度。

本发明实施例可以利用采用镜头轴心一致的上下布局方式的一体机或者两台摄影机的组合设备对目标场景进行拍摄,以获得该目标场景的全景图像。此处需要说明的是,本发明实施例对目标场景并不做具体限定,对目标场景中的物体对象的个数或者种类也不做具体限定。在本发明实施例中,第一摄像头拍摄目标场景得到的图像称为第一图像,第二摄像头拍摄目标场景得到的图像程为第二图像。例如,采用如图6所示的拍摄设备对目标场景办公室进行拍摄,图6中上面相机的摄像头为第一摄像头,下面相机的摄像头为第二摄像头,第一摄像头拍摄办公室得到的第一图像如图7a所示,第二摄像头拍摄办公室得到的第二图像如图7b所示。需要说明的是,如图7a和图7b所示,第一摄像头拍摄目标场景得到的第一图像和第二摄像头拍摄目标场景得到的第二图像均为球形图像,第一图像和第二图像中的像素点的位置可以用极坐标系中的极坐标进行表示。

在步骤s204提供的技术方案中,在获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像之后,本发明实施例可以分别对第一图像和第二图像进行展开处理,展开处理的实质是对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,其中,第三图像和第四图像中的像素点的位置可以用直角坐标系中的直角坐标表示,也即第三图像和第四图像为矩形图像。需要说明的是,由于在展开算法中有大量的正弦、余弦浮点数运算,同时由于展开图像的像素点面积远远大于原始图像面积,为了补偿缺失的像素点需要对图像进行插值运算。本发明实施例为了减少展开算法带来的插值计算量,可以采用反向查像素点的方式,由已知第三图像和第四图像中的直角坐标系的像素点位置反向计算第一图像和第二图像中的极坐标系的像素点位置,以实现减少插值运算的开销的效果。

下面将对本发明实施例中的上述展开算法进行具体说明:

作为一种可选的实施例,对第一图像所执行的展开算法得到第三图像可以描述为:对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,具体可以包括以下步骤s11至步骤s15:

步骤s11,根据第一图像的宽度计算第三图像的长度和宽度,其中,第三图像中包括第一数量的像素点,第一数量为第三图像的长度和宽度的乘积。

在上述步骤s11中,在获取到第一摄像头拍摄目标场景得到的第一图像之后,可以根据第一图像的宽度,也即图7a所示圆形图片的直径,计算得到展开后的图像,也即第三图像的长度和宽度。需要说明的是,由第三图像的长度和宽度可以确定第三图像中的像素点的数量,也即第三图像中包括第一数量的像素点,其中,第一数量为第三图像的长度和宽度的乘积。第三图像中的每个像素点均可以用直角坐标系中的坐标表示。

步骤s13,将第三图像中第一像素点的第一坐标转换成第二坐标,其中,第一数量的像素点包括第一像素点,第一坐标为第一像素点在直角坐标系中的坐标,第二坐标为第一像素点在极坐标系中的坐标。

在上述步骤s13中,第三图像中包括第一数量的像素点,其中,第一像素点可以为其中的任意一个像素点,第一坐标可以为第一像素点在直角坐标系中的坐标。根据直角坐标系到极坐标系的转换公式,可以得到第一坐标所对应的第二坐标,其中,第二坐标为第一像素点在极坐标系中的坐标。

步骤s15,将第一图像中位于第二坐标的像素点的像素值确定为第三图像中第一像素点的像素值。

在上述步骤s15中,在得到第一像素点在极坐标系中的第二坐标之后,可以从第一图像对应的极坐标系中确定位于该第二坐标的像素点,并将该像素点的像素值作为第三图像中第一像素点的像素值。

需要说明的是,对第三图像中的每个像素点均执行上述步骤s11至步骤s15,便可以实现以反向查找像素点的方式将第一摄像头拍摄目标场景所得到的第一图像展开成第三图像。

同理,对第二图像所执行的展开算法得到第四图像可以描述为:对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,具体可以包括以下步骤s12至步骤s16:

步骤s12,根据第二图像的宽度计算第四图像的长度和宽度,其中,第四图像中包括第二数量的像素点,第二数量为第四图像的长度和宽度的乘积。

在上述步骤s12中,在获取到第二摄像头拍摄目标场景得到的第二图像之后,可以根据第二图像的宽度,也即图7b所示圆形图片的直径计算得到展开后的图像,也即第四图像的长度和宽度。需要说明的是,由第四图像的长度和宽度可以确定第四图像中的像素点的数量,也即第四图像中包括第二数量的像素点,其中,第二数量为第四图像的长度和宽度的乘积。第四图像中的每个像素点均可以用直角坐标系中的坐标表示。

步骤s14,将第四图像中第二像素点的第三坐标转换成第四坐标,其中,第二数量的像素点包括第二像素点,第三坐标为第二像素点在直角坐标系中的坐标,第四坐标为第二像素点在极坐标系中的坐标。

在上述步骤s14中,第四图像中包括第二数量的像素点,其中,第二像素点可以为其中的任意一个像素点,第三坐标可以为第二像素点在直角坐标系中的坐标。根据直角坐标系到极坐标系的转换公式,可以得到第三坐标所对应的第四坐标,其中,第四坐标为第二像素点在极坐标系中的坐标。

步骤s16,将第二图像中位于第四坐标的像素点的像素值确定为第四图像中第二像素点的像素值。

在上述步骤s16中,在得到第二像素点在极坐标系中的第四坐标之后,可以从第二图像对应的极坐标系中确定位于该第四坐标的像素点,并将该像素点的像素值作为第四图像中第二像素点的像素值。

需要说明的是,对第四图像中的每个像素点均执行上述步骤s12至步骤s16,便可以实现以反向查找像素点的方式将第二摄像头拍摄目标场景所得到的第二图像展开成第四图像。

例如,利用反向查找像素点的方式将如图7a所示的第一图像进行展开后得到的第三图像可以如图8a所示,为了方便对比,图8a中将第一图像和第三图像进行了对比展示。利用反向查找像素点的方式将如图7b所示的第二图像进行展开后得到的第四图像可以如图8b所示,为了方便对比,图8b中也将第二图像和第四图像进行了对比展示。

需要说明的是,该实施例通过采用反向查找像素点的方式能够实现减少插值运算的计算量,进而达到减少图像处理的计算量,提升实时传输图像的效率的技术效果。

作为一种可选的实施例,该实施例可以在已知拍摄设备的镜头参数、分辨率大小以及视场范围的情况下提前计算求得直角坐标和极坐标像素点的对应关系值对结果放入预定数据库或内存中,以便于在将第三图像中第一像素点的第一坐标转换成第二坐标以及在将第四图像中第二像素点的第三坐标转换成第四坐标的时候直接查表操作即可,查表操作时间复杂度仅为o(1),这样可以实现减小数据计算量的效果。

具体地,将第三图像中第一像素点的第一坐标转换成第二坐标可以包括以下步骤s131至步骤s133:

步骤s131,根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对,其中,第一坐标转换关系值对用于指示第三图像中第一像素点的第一坐标与第二坐标相对应。

在上述步骤s131中,预定数据库中可以存储有预先计算好的摄像头属性参数与坐标转换关系值对的对应关系,此处需要说明的是,不同的摄像头属性参数可以对应不同的坐标转换关系值对,其中,坐标转换关系值对可以用于指示直角坐标和极坐标像素点之间进行转换的对应关系。还需要说明的是,摄像头属性参数可以包括以下至少之一:摄像头的视角范围、摄像头所拍摄图像的分辨率等。

还需要说明的是,预定数据库中存储的对应关系中可以包括第一摄像头属性参数对应的第一坐标转换关系值对,也可以不包括第一摄像头属性参数对应的第一坐标转换关系值对,其中,第一坐标转换关系值对可以用于指示第三图像中第一像素点的第一坐标与第二坐标相对应。

作为一种可选的实施例,为了能够直接利用预定数据库中的对应关系快速确定第三图像中第一像素点的第一坐标对应的第二坐标,该实施例可以在步骤s131根据对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对之前,先判断预定数据库中是否存在与第一摄像头属性参数相同的摄像头属性参数。在预定数据库中存在与第一摄像头属性参数相同的摄像头属性参数的情况下,该实施例可以根据对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对;在预定数据库中不存在与第一摄像头属性参数相同的摄像头属性参数的情况下,该实施例需要首先调整第一摄像头属性参数使得预定数据库中存在与调整后的第一摄像头属性参数相同的摄像头属性参数,然后再根据对应关系确定调整后的第一摄像头属性参数对应的第一坐标转换关系值对。这样可以保证能够利用预定数据库中存储的对应关系快速方便地查找到第一摄像头属性参数对应的第一坐标转换关系值对,极大地提高了坐标转换的效率,同时也减少了坐标转换的计算量。

步骤s133,根据第一坐标转换关系值对确定第三图像中第一像素点的第一坐标对应的第二坐标。

在上述步骤s133中,在确定第一摄像头属性参数对应的第一坐标转换关系值对之后,由于第一坐标转换关系值对可以指示的第三图像中第一像素点的第一坐标与第二坐标相对应,因此,该实施例可以利用第一坐标转换关系值对快速确定第三图像中第一像素点的第一坐标对应的第二坐标。

需要说明的是,通过上述步骤s131至步骤s133可以实现通过查表的方式快速准确地将第三图像中第一像素点的第一坐标转换成第二坐标,进而达到减少坐标转换的计算量,进而减少图形展开的计算量的效果。

同理,将第四图像中第二像素点的第三坐标转换成第四坐标可以包括以下步骤s142至步骤s144:

步骤s142,根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对,其中,第二坐标转换关系值对用于指示第四图像中第二像素点的第三坐标与第四坐标相对应。

步骤s144,根据第二坐标转换关系值对确定第四图像中第二像素点的第三坐标对应的第四坐标。

需要说明的是,预定数据库中存储的对应关系中可以包括第二摄像头属性参数对应的第二坐标转换关系值对,也可以不包括第二摄像头属性参数对应的第二坐标转换关系值对,其中,第二坐标转换关系值对可以用于指示第四图像中第二像素点的第三坐标与第四坐标相对应。

作为一种可选的实施例,为了能够直接利用预定数据库中的对应关系快速确定第四图像中第二像素点的第三坐标对应的第四坐标,该实施例可以在步骤s142根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对之前,先判断预定数据库中是否存在与第二摄像头属性参数相同的摄像头属性参数。在预定数据库中存在与第二摄像头属性参数相同的摄像头属性参数的情况下,该实施例可以根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对;在预定数据库中不存在与第二摄像头属性参数相同的摄像头属性参数的情况下,该实施例可以首先调整第二摄像头属性参数使得预定数据库中存在与调整后的第二摄像头属性参数相同的摄像头属性参数,然后再根据对应关系确定调整后的第二摄像头属性参数对应的第二坐标转换关系值对。在确定第二摄像头属性参数对应的第二坐标转换关系值对之后,由于第二坐标转换关系值对可以指示第四图像中第二像素点的第三坐标与第四坐标相对应,因此,该实施例可以利用第二坐标转换关系值对快速确定第四图像中第二像素点的第三坐标对应的第四坐标。

需要说明的是,通过上述步骤s142至步骤s144可以实现通过查表的方式快速准确地将第四图像中第二像素点的第三坐标转换成第四坐标,进而达到减少坐标转换的计算量,进而减少图形展开的计算量的效果。

在步骤s206提供的技术方案中,在得到展开后的第三图像与第四图像之后,如图8a和图8b所示,第三图像和第四图像中存在重合范围,因此本发明实施例需要将第三图像与第四图像进行合成,以得到目标图像,其中,目标图像为目标场景对应的全景图像。对已经展开的第三图像和第四图像进行合成,由于展开的第三图像和第四图像拼合位置重合范围较大同时图像变形较小,本发明实施例可以直接采用模版拼接或线性融合的方式进行合成,在非一体机的情况下针对细微的错位问题可以采用邻域平均法对图像进行平滑。此处需要说明的是,模版拼接、线性融合以及邻域平均法等图像处理技术为本领域常用技术手段,此处不再具体进行介绍。

例如,将图8a所示的第三图像和图8b所示的第四图像进行合成后得到的目标图像可以如图9所示,其中,图9中的实线为线性融合的拼合中心位置。

需要说明的是,本发明技术方案采用的硬件组合方式为镜头上下背对的方式,对于图像的展开算法只需要采用极坐标到平面坐标的转换算法,同时为了减少插值的计算量可以使用反向查像素点的方式,可以将已知镜头参数、分辨率大小以及视场范围的硬件设备拍摄的像素点提前进行坐标转化,并将计算结果放入数据库或内存中,使用的时候直接查表即可,减小实时的数据计算量。另外,由于展开算法生成的图片重合区域较大,之后的图片拼接可以采用模版拼接或特征无关拼接的方式计算量相对较小,针对细微的错位问题可采用邻域平均法对图像进行平滑。

还需要说明的是,本发明技术方案可以应用在全景vr视频和图片的拍摄及内容传输中,如直播、录播等,可结合crossvr模版引擎应用在房产、体育、娱乐等行业,实现vr视频的拍摄和发布。另外,本发明技术方案也可以应用在常见的运动相机gopro、小蚁等多机组合vr拍摄设备中,如:googlejump、goproodyssey、yijump等,放置在轴心位置,由于双鱼眼拍摄已经足够涵盖360°×360°的视域范围,其可以作为多机全景拼合的有力补充,减少多机拼接由于安全距离和镜头盲区造成的拼接错误。

在实际应用场景中,标准的vr全景视频方案主要包括采集、拼接、编码传输、播放等四部分。本发明技术方案使用场景主要在采集和拼接部分:其中采集部分可以采用一体机硬件形式或两台鱼眼镜头运动相机拼接组合的模式。在完成同步采集后,对采集的两路视频帧图像进行坐标转换及图像融合。本发明技术方案由于硬件设计和合成算法的改进将简化上述工作的流程和效率。

完成上述工作后本发明技术方案还可以对所得到的目标图像进行编码和压缩等处理,最并在不同终端设备中进行播放。

通过本发明技术方案可以提升vr全景拍摄及合成的效率,同时对于多运动相机拍摄可以作为画面质量优化的辅助措施。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述图像处理方法的图像处理装置。图10是根据本发明实施例的一种可选的图像处理装置的示意图,如图10所示,该装置可以包括:

获取单元22,用于获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像,其中,第一摄像头与第二摄像头位于同一轴心线上,轴心线为第一摄像头的轴心与第二摄像头的轴心所在的线,第一摄像头位于第二摄像头的上端或者第一摄像头位于第二摄像头的下端;转换单元24,用于对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,其中,第一图像和第二图像中的像素点的位置用极坐标表示,第三图像和第四图像中的像素点的位置用直角坐标表示;合成单元26,用于将第三图像与第四图像进行合成,得到目标图像,其中,目标图像为目标场景对应的全景图像。

需要说明的是,该实施例中的获取单元22可以用于执行本申请实施例1中的步骤s202,该实施例中的转换单元24可以用于执行本申请实施例1中的步骤s204,该实施例中的合成单元26可以用于执行本申请实施例1中的步骤s206。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图4所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

作为一种可选的实施例,如图11所示,转换单元24可以包括:第一计算模块241,用于根据第一图像的宽度计算第三图像的长度和宽度,其中,第三图像中包括第一数量的像素点,第一数量为第三图像的长度和宽度的乘积;第一转换模块243,用于将第三图像中第一像素点的第一坐标转换成第二坐标,其中,第一数量的像素点包括第一像素点,第一坐标为第一像素点在直角坐标系中的坐标,第二坐标为第一像素点在极坐标系中的坐标;第一确定模块245,用于将第一图像中位于第二坐标的像素点的像素值确定为第三图像中第一像素点的像素值;转换单元24还可以包括:第二计算模块242,用于根据第二图像的宽度计算第四图像的长度和宽度,其中,第四图像中包括第二数量的像素点,第二数量为第四图像的长度和宽度的乘积;第二转换模块244,用于将第四图像中第二像素点的第三坐标转换成第四坐标,其中,第二数量的像素点包括第二像素点,第三坐标为第二像素点在直角坐标系中的坐标,第四坐标为第二像素点在极坐标系中的坐标;第二确定模块246,用于将第二图像中位于第四坐标的像素点的像素值确定为第四图像中第二像素点的像素值。

作为一种可选的实施例,如图12所示,第一转换模块243可以包括:第一确定子模块2431,用于根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对,其中,第一坐标转换关系值对用于指示第三图像中第一像素点的第一坐标与第二坐标相对应;第二确定子模块2433,用于根据第一坐标转换关系值对确定第三图像中第一像素点的第一坐标对应的第二坐标;第二转换模块244可以包括:第三确定子模块2442,用于根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对,其中,第二坐标转换关系值对用于指示第四图像中第二像素点的第三坐标与第四坐标相对应;第四确定子模块2444,用于根据第二坐标转换关系值对确定第四图像中第二像素点的第三坐标对应的第四坐标。

作为一种可选的实施例,摄像头的属性参数可以包括以下至少之一:摄像头的视角范围、摄像头所拍摄图像的分辨率,其中,摄像头可以包括第一摄像头和第二摄像头。

作为一种可选的实施例,第一摄像头的属性参数可以与第二摄像头的属性参数相同。

作为一种可选的实施例,如图13所示,第一转换模块243还可以包括:第一判断子模块2401,用于在根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对之前,判断预定数据库中是否存在与第一摄像头属性参数相同的摄像头属性参数;第五确定子模块2403,用于在预定数据库中存在与第一摄像头属性参数相同的摄像头属性参数的情况下,根据对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对;第六确定子模块2405,用于在预定数据库中不存在与第一摄像头属性参数相同的摄像头属性参数的情况下,调整第一摄像头属性参数使得预定数据库中存在与调整后的第一摄像头属性参数相同的摄像头属性参数,并根据对应关系确定调整后的第一摄像头属性参数对应的第一坐标转换关系值对。第二转换模块244还可以包括:第二判断子模块2402,用于在根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对之前,判断预定数据库中是否存在与第二摄像头属性参数相同的摄像头属性参数;第七确定子模块2404,用于在预定数据库中存在与第二摄像头属性参数相同的摄像头属性参数的情况下,根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对;第八确定子模块2406,用于在预定数据库中不存在与第二摄像头属性参数相同的摄像头属性参数的情况下,调整第二摄像头属性参数使得预定数据库中存在与调整后的第二摄像头属性参数相同的摄像头属性参数,并根据对应关系确定调整后的第二摄像头属性参数对应的第二坐标转换关系值对。

作为一种可选的实施例,如图14所示,该装置还可以包括:处理单元27,用于在将第三图像与第四图像进行合成,得到目标图像之后,对目标图像进行编码压缩处理;播放单元28,用于在终端设备中播放处理后的目标图像。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,可以解决相关技术中镜头采用左右或者前后的布置方式导致对全景图像处理计算量较大的技术问题,实现减少图像处理的计算成本,提升实时传输图像的效率的技术效果。

实施例3

根据本发明实施例,还提供了一种用于实施上述图像处理方法的终端。

图15是根据本发明实施例的一种终端的结构框图,如图15所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205,如图15所示,该终端还可以包括输入输出设备207。

其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的图像处理方法和装置对应的程序指令/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置205用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器203用于存储应用程序。

处理器201可以调用存储器203存储的应用程序,以执行下述步骤:获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像,其中,第一摄像头与第二摄像头位于同一轴心线上,轴心线为第一摄像头的轴心与第二摄像头的轴心所在的线,第一摄像头位于第二摄像头的上端或者第一摄像头位于第二摄像头的下端;对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,其中,第一图像和第二图像中的像素点的位置用极坐标表示,第三图像和第四图像中的像素点的位置用直角坐标表示;将第三图像与第四图像进行合成,得到目标图像,其中,目标图像为目标场景对应的全景图像。

处理器201还用于执行下述步骤:根据第一图像的宽度计算第三图像的长度和宽度,其中,第三图像中包括第一数量的像素点,第一数量为第三图像的长度和宽度的乘积;将第三图像中第一像素点的第一坐标转换成第二坐标,其中,第一数量的像素点包括第一像素点,第一坐标为第一像素点在直角坐标系中的坐标,第二坐标为第一像素点在极坐标系中的坐标;将第一图像中位于第二坐标的像素点的像素值确定为第三图像中第一像素点的像素值;根据第二图像的宽度计算第四图像的长度和宽度,其中,第四图像中包括第二数量的像素点,第二数量为第四图像的长度和宽度的乘积;将第四图像中第二像素点的第三坐标转换成第四坐标,其中,第二数量的像素点包括第二像素点,第三坐标为第二像素点在直角坐标系中的坐标,第四坐标为第二像素点在极坐标系中的坐标;将第二图像中位于第四坐标的像素点的像素值确定为第四图像中第二像素点的像素值。

处理器201还用于执行下述步骤:根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对,其中,第一坐标转换关系值对用于指示第三图像中第一像素点的第一坐标与第二坐标相对应;根据第一坐标转换关系值对确定第三图像中第一像素点的第一坐标对应的第二坐标;根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对,其中,第二坐标转换关系值对用于指示第四图像中第二像素点的第三坐标与第四坐标相对应;根据第二坐标转换关系值对确定第四图像中第二像素点的第三坐标对应的第四坐标。

处理器201还用于执行下述步骤:在根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对之前,判断预定数据库中是否存在与第一摄像头属性参数相同的摄像头属性参数;在预定数据库中存在与第一摄像头属性参数相同的摄像头属性参数的情况下,根据对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对;在预定数据库中不存在与第一摄像头属性参数相同的摄像头属性参数的情况下,调整第一摄像头属性参数使得预定数据库中存在与调整后的第一摄像头属性参数相同的摄像头属性参数,并根据对应关系确定调整后的第一摄像头属性参数对应的第一坐标转换关系值对;在根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对之前,判断预定数据库中是否存在与第二摄像头属性参数相同的摄像头属性参数;在预定数据库中存在与第二摄像头属性参数相同的摄像头属性参数的情况下,根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对;在预定数据库中不存在与第二摄像头属性参数相同的摄像头属性参数的情况下,调整第二摄像头属性参数使得预定数据库中存在与调整后的第二摄像头属性参数相同的摄像头属性参数,并根据对应关系确定调整后的第二摄像头属性参数对应的第二坐标转换关系值对。

处理器201还用于执行下述步骤:在将第三图像与第四图像进行合成,得到目标图像之后,对目标图像进行编码压缩处理;在终端设备中播放处理后的目标图像。

采用本发明实施例,提供了一种图像处理的方案,该方案采用镜头上下背对的方式,通过对上下两个镜头拍摄目标场景得到的图像进行极坐标系到直角坐标系的转换,并将转换后得到的图像进行融合,以得到目标场景对应的全景图像,达到了减少图像展开和融合算法的计算量的目的,进而解决了相关技术中镜头采用左右或者前后的布置方式导致对全景图像处理计算量较大的技术问题,从而实现了减少图像处理的计算成本,提升实时传输图像的效率的技术效果。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图15所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图15其并不对上述电子装置的结构造成限定。例如,终端还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行图像处理方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s1,获取第一摄像头拍摄目标场景得到的第一图像以及第二摄像头拍摄目标场景得到的第二图像,其中,第一摄像头与第二摄像头位于同一轴心线上,轴心线为第一摄像头的轴心与第二摄像头的轴心所在的线,第一摄像头位于第二摄像头的上端或者第一摄像头位于第二摄像头的下端;

s2,对第一图像中的像素点进行极坐标系到直角坐标系的转换得到第三图像,对第二图像中的像素点进行极坐标系到直角坐标系的转换得到第四图像,其中,第一图像和第二图像中的像素点的位置用极坐标表示,第三图像和第四图像中的像素点的位置用直角坐标表示;

s3,将第三图像与第四图像进行合成,得到目标图像,其中,目标图像为目标场景对应的全景图像。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据第一图像的宽度计算第三图像的长度和宽度,其中,第三图像中包括第一数量的像素点,第一数量为第三图像的长度和宽度的乘积;将第三图像中第一像素点的第一坐标转换成第二坐标,其中,第一数量的像素点包括第一像素点,第一坐标为第一像素点在直角坐标系中的坐标,第二坐标为第一像素点在极坐标系中的坐标;将第一图像中位于第二坐标的像素点的像素值确定为第三图像中第一像素点的像素值;根据第二图像的宽度计算第四图像的长度和宽度,其中,第四图像中包括第二数量的像素点,第二数量为第四图像的长度和宽度的乘积;将第四图像中第二像素点的第三坐标转换成第四坐标,其中,第二数量的像素点包括第二像素点,第三坐标为第二像素点在直角坐标系中的坐标,第四坐标为第二像素点在极坐标系中的坐标;将第二图像中位于第四坐标的像素点的像素值确定为第四图像中第二像素点的像素值。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对,其中,第一坐标转换关系值对用于指示第三图像中第一像素点的第一坐标与第二坐标相对应;根据第一坐标转换关系值对确定第三图像中第一像素点的第一坐标对应的第二坐标;根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对,其中,第二坐标转换关系值对用于指示第四图像中第二像素点的第三坐标与第四坐标相对应;根据第二坐标转换关系值对确定第四图像中第二像素点的第三坐标对应的第四坐标。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在根据预定数据库中存储的摄像头属性参数与坐标转换关系值对的对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对之前,判断预定数据库中是否存在与第一摄像头属性参数相同的摄像头属性参数;在预定数据库中存在与第一摄像头属性参数相同的摄像头属性参数的情况下,根据对应关系确定第一摄像头属性参数对应的第一坐标转换关系值对;在预定数据库中不存在与第一摄像头属性参数相同的摄像头属性参数的情况下,调整第一摄像头属性参数使得预定数据库中存在与调整后的第一摄像头属性参数相同的摄像头属性参数,并根据对应关系确定调整后的第一摄像头属性参数对应的第一坐标转换关系值对;在根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对之前,判断预定数据库中是否存在与第二摄像头属性参数相同的摄像头属性参数;在预定数据库中存在与第二摄像头属性参数相同的摄像头属性参数的情况下,根据对应关系确定第二摄像头属性参数对应的第二坐标转换关系值对;在预定数据库中不存在与第二摄像头属性参数相同的摄像头属性参数的情况下,调整第二摄像头属性参数使得预定数据库中存在与调整后的第二摄像头属性参数相同的摄像头属性参数,并根据对应关系确定调整后的第二摄像头属性参数对应的第二坐标转换关系值对。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在将第三图像与第四图像进行合成,得到目标图像之后,对目标图像进行编码压缩处理;在终端设备中播放处理后的目标图像。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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