CN118379204A - 全景图像处理方法、装置和存储介质 - Google Patents

全景图像处理方法、装置和存储介质 Download PDF

Info

Publication number
CN118379204A
CN118379204A CN202310095360.3A CN202310095360A CN118379204A CN 118379204 A CN118379204 A CN 118379204A CN 202310095360 A CN202310095360 A CN 202310095360A CN 118379204 A CN118379204 A CN 118379204A
Authority
CN
China
Prior art keywords
area
panoramic image
pixel
region
determining
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
CN202310095360.3A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202310095360.3A priority Critical patent/CN118379204A/zh
Publication of CN118379204A publication Critical patent/CN118379204A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Abstract

本申请涉及一种全景图像处理方法、装置和存储介质。该方法包括:确定二维图像中待替换的第一区域,二维图像为将全景图像对应的球面映射为第一二维平面后得到的;将第一区域放大为第二区域,放大倍数根据第一区域以及全景图像中与第一区域对应的第三区域确定;根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值;根据第二区域各像素点在全景图像上的坐标和像素值,替换全景图像中相应坐标下的像素值,确定替换后的全景图像,替换后的全景图像用于被映射为第二二维平面。根据本申请实施例,可以防止全景图像局部替换过程中的像素畸变问题和像素稀疏问题,使得替换后的效果更加美观、自然。

Description

全景图像处理方法、装置和存储介质
技术领域
本申请涉及信息技术(informat ion techno logy,I T)领域,尤其涉及一种全景图像处理方法、装置和存储介质。
背景技术
随着IT技术的不断发展,人们对虚拟现实(virtual real ity,VR)、增强现实(augmented real ity,AR)技术的体验的要求越来越高,利用全景图像实现的VR和AR技术越来越多地出现在了广告制作、影视剧制作、展厅制作、体验场馆中。全景图像一般是由专业的全景相机拍摄而成,需要在实际场景中选取合适的相机架设位置,并清空周围人员及其他无用物体,选取合适的灯光拍摄而成。
全景图像的获取过程不易,但后期通常面临着局部内容需要替换的情况,如影视剧中全景画面背景广告牌的替换、全景展厅中展示屏内容的替换等。当前主流的方法通常是重新拍摄或者剪辑师手工PS,两种方式都费时费力,当面临频繁替换的需求时更会消耗大量的人力物力。或者是直接将目标替换图像通过透视变换变化到全景图上,替换后会导致像素畸变,效果很差。因此,亟需一种高效的全景图像处理方法使得对全景图进行局部替换后的效果自然、美观。
发明内容
有鉴于此,提出了一种全景图像处理方法、装置和存储介质。
第一方面,本申请的实施例提供了一种全景图像处理方法。该方法包括:
确定二维图像中待替换的第一区域,二维图像为将全景图像对应的球面映射为第一二维平面后得到的;
将第一区域放大为第二区域,放大倍数根据第一区域以及全景图像中与第一区域对应的第三区域确定;
根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值;
根据第二区域各像素点在全景图像上的坐标和像素值,替换全景图像中相应坐标下的像素值,确定替换后的全景图像,替换后的全景图像用于被映射为第二二维平面。
根据本申请实施例,本申请实施例的方法在对全景图像进行局部替换的过程中考虑到了直接替换可能导致的像素畸变问题,通过在二维图像中确定待替换的第一区域,并将第一区域放大为第二区域,确定第二区域的像素值和在全景图像上的坐标,能够实现直接在源头处的全景图像中进行局部区域替换,防止信息泄露的安全风险。通过根据第一区域以及全景图像中第一区域对应的第三区域确定放大倍数,可以防止直接替换导致的像素畸变问题。通过逐像素替换,可以防止像素稀疏问题,使得替换后被映射的二维平面效果更加美观、自然。
根据第一方面,在全景图像处理方法的第一种可能的实现方式中,根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值,包括:
遍历确定第一区域中各像素点在球面中的极坐标;
对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标;
以插值后的各像素点在全景图像中的坐标作为第二区域中各像素点在全景图像中的坐标。
根据本申请实施例,通过遍历确定第一区域中各像素点在球面中的极坐标,在球面上对各像素点进行插值,可以在替换过程中,避免了图像畸变,并防止放大带来的像素稀疏的问题,实现无损区域替换。由于利用了球面插值,还可以防止平面插值带来的边缘锯齿问题以及像素偏移问题,使得最终替换后的效果更加美观自然。同时,根据上述过程,可以实现对待替换区域在全景图像中的逐像素映射,使得最终替换后的图像无扭曲、无变形、无像素稀疏,更加美观、自然。
根据第一方面或第一方面的第一种可能的实现方式,在全景图像处理方法的第二种可能的实现方式中,放大倍数根据第三区域与第一区域的面积比例确定,放大倍数为2的n次幂,n为非负整数。
根据本申请实施例,通过根据第三区域与第一区域的面积比例确定放大倍数,可以合理的确定第一区域在全景图像上的区域,防止畸变现象发生,使得替换效果更加美观自然。同时通过使放大倍数为2的n次幂,n为非负整数,可以方便插值,减少工作量,提高效率。
根据第一方面或第一方面的第一种或第二种可能的实现方式,在全景图像处理方法的第三种可能的实现方式中,进行插值时的插值倍数为放大倍数。
根据本申请实施例,通过使插值倍数为放大倍数,可以保证放大和插值之间的一致性,是像素点的坐标和像素值可以一一对应,以做到逐像素映射,使得替换后的效果更加美观、自然。
根据第一方面的第一种或第二种或第三种可能的实现方式,在全景图像处理方法的第四种可能的实现方式中,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标,包括:
以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标。
根据本申请实施例,通过以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,可以使得替换后的图像中像素更加平滑、美观、自然。
根据第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式,在全景图像处理方法的第五种可能的实现方式中,根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值,包括:
对目标替换图像按照第二区域的形状进行透视变换,确定透视变换后的目标替换图像;
根据透视变换后的目标替换图像,确定第二区域中各像素点的像素值。
根据本申请实施例,通过对目标替换图像按照第二区域的形状进行透视变换,可以确定第二区域中各像素点的像素值,以防止后续像素稀疏的问题,可以得到更好的内容替换效果。
根据第一方面的第五种可能的实现方式,在全景图像处理方法的第六种可能的实现方式中,在目标替换图像为马赛克图像的情况下,第二区域中各像素点的像素值为更新后的像素值,该方法还包括:
确定预定像素大小的窗口;
按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,其中,同一值包括窗口内的各像素值的均值、中值、随机值中的任一种。
根据本申请实施例,通过确定窗口大小,并按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,可以在待替换区域内形成比较均匀、不违和的马赛克效果,可以实现不影响图片的美观的前提下,对图片信息做了足够的隐藏。并且,由于是在原始的全景图像上进行了马赛克替换,所以无论在前端还是后端都可以保证信息安全,避免了信息泄露风险。
根据第一方面或第一方面的第一种或第二种或第三种或第四种或第五种或第六种可能的实现方式,在全景图像处理方法的第七种可能的实现方式中,第一区域根据4个顶点确定,第一区域的形状为凸四边形。
根据本申请实施例,通过根据4个顶点确定第一区域,并限制第一区域的形状为凸四边形,考虑到了透视的原理,可以保证在全景图像中可以找到第一区域对应的区域,以实现从数据源头对图像的内容进行改写,实现对全景图像的无损替换。
根据第一方面的第七种可能的实现方式,在全景图像处理方法的第八种可能的实现方式中,第三区域根据第一区域的4个顶点在全景图像上的坐标确定,该方法还包括:
将第一区域的4个顶点映射至球面,确定4个顶点在球面上的极坐标;
根据4个顶点在球面上的极坐标,确定第一区域的4个顶点在全景图像上的坐标。
根据本申请实施例,通过将第一区域的4个顶点映射至球面,得到极坐标,再根据极坐标确定全景图像上的坐标,可以使最终在全景图像上确定的待替换区域更加准确,替换后无扭曲、变形的现象,可以达到美观自然的效果。
第二方面,本申请的实施例提供了一种全景图像处理装置。该装置包括:
第一确定模块,用于确定二维图像中待替换的第一区域,二维图像为将全景图像对应的球面映射为第一二维平面后得到的;
放大模块,用于将第一区域放大为第二区域,放大倍数根据第一区域以及全景图像中与第一区域对应的第三区域确定;
第二确定模块,用于根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值;
替换模块,用于根据第二区域各像素点在全景图像上的坐标和像素值,替换全景图像中相应坐标下的像素值,确定替换后的全景图像,替换后的全景图像用于被映射为第二二维平面。
根据第二方面,在全景图像处理装置的第一种可能的实现方式中,第二确定模块,用于:
遍历确定第一区域中各像素点在球面中的极坐标;
对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标;
以插值后的各像素点在全景图像中的坐标作为第二区域中各像素点在全景图像中的坐标。
根据第二方面或第二方面的第一种可能的实现方式,在全景图像处理装置的第二种可能的实现方式中,放大倍数根据第三区域与第一区域的面积比例确定,放大倍数为2的n次幂,n为非负整数。
根据第二方面或第二方面的第一种或第二种可能的实现方式,在全景图像处理装置的第三种可能的实现方式中,进行插值时的插值倍数为放大倍数。
根据第二方面的第一种或第二种或第三种可能的实现方式,在全景图像处理装置的第四种可能的实现方式中,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标,包括:
以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标。
根据第二方面或第二方面的第一种或第二种或第三种或第四种可能的实现方式,在全景图像处理装置的第五种可能的实现方式中,第二确定模块,用于:
对目标替换图像按照第二区域的形状进行透视变换,确定透视变换后的目标替换图像;
根据透视变换后的目标替换图像,确定第二区域中各像素点的像素值。
根据第二方面的第五种可能的实现方式,在全景图像处理装置的第六种可能的实现方式中,在目标替换图像为马赛克图像的情况下,第二区域中各像素点的像素值为更新后的像素值,该装置还包括:
第三确定模块,用于确定预定像素大小的窗口;
第四确定模块,用于按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,其中,同一值包括窗口内的各像素值的均值、中值、随机值中的任一种。
根据第二方面或第二方面的第一种或第二种或第三种或第四种或第五种或第六种可能的实现方式,在全景图像处理装置的第七种可能的实现方式中,第一区域根据4个顶点确定,第一区域的形状为凸四边形。
根据第二方面的第七种可能的实现方式,在全景图像处理装置的第八种可能的实现方式中,第三区域根据第一区域的4个顶点在全景图像上的坐标确定,该装置还包括:
映射模块,用于将第一区域的4个顶点映射至球面,确定4个顶点在球面上的极坐标;
第五确定模块,用于根据4个顶点在球面上的极坐标,确定第一区域的4个顶点在全景图像上的坐标。
第三方面,本申请的实施例提供了一种全景图像处理装置,该装置包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的全景图像处理方法。
第四方面,本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的全景图像处理方法。
第五方面,本申请的实施例提供了一种终端设备,该终端设备可以执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的全景图像处理方法。
第六方面,本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的全景图像处理方法。
本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出根据本申请一实施例的应用场景的示意图。
图2示出根据本申请一实施例的全景图像处理方法的流程图。
图3示出根据本申请一实施例的确定二维图像的示意图。
图4示出根据本申请一实施例的凸四边形与凹四边形的示意图。
图5示出根据本申请一实施例的全景图像处理方法的流程图。
图6示出根据本申请一实施例的确定第一区域在球面上的极坐标的示意图。
图7示出根据本申请一实施例的对第一区域进行放大后的示意图。
图8示出根据本申请一实施例的全景图像处理方法的流程图。
图9示出根据本申请一实施例的全景图像处理方法的流程图。
图10示出根据本申请一实施例的效果示意图。
图11示出根据本申请一实施例的效果示意图。
图12示出根据本申请一实施例的马赛克的效果示意图。
图13示出根据本申请一实施例的全景图像处理装置的结构图。
图14示出根据本申请一实施例的电子设备1400的结构图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
随着IT技术的不断发展,人们对VR、AR技术的体验的要求越来越高,利用全景图像实现的VR和AR技术越来越多地出现在了广告制作、影视剧制作、展厅制作、体验场馆中。全景图像一般是由专业的全景相机拍摄而成,需要在实际场景中选取合适的相机架设位置,并清空周围人员及其他无用物体,选取合适的灯光拍摄而成。全景图像的获取过程不易,但后期通常面临着局部内容需要替换的情况,如影视剧中全景画面背景广告牌的替换、全景展厅中展示屏内容的替换等。当前主流的方法通常是重新拍摄或者剪辑师手工PS,两种方式都费时费力,当面临频繁替换的需求时更会消耗大量的人力物力。或者是直接将目标替换图像通过透视变换变化到全景图上,替换后会导致像素畸变,效果很差。因此,亟需一种高效的全景图像处理方法使得对全景图进行局部替换后的效果自然、美观。
为了解决上述技术问题,本申请提供了一种全景图像处理方法,本申请实施例的全景图像处理方法在对全景图像进行局部替换的过程中考虑到了直接替换可能导致的像素畸变问题,通过在用户视角下的二维图像中确定待替换的第一区域,并将第一区域放大为第二区域,确定第二区域的像素值和在全景图像上的坐标,能够实现直接在源头处的全景图像中进行局部区域替换,防止信息泄露的安全风险。通过根据第一区域以及全景图像中第一区域对应的第三区域确定放大倍数,可以防止直接替换导致的像素畸变问题。通过逐像素替换,可以防止像素稀疏问题,使得替换后被映射的二维平面效果更加美观、自然。本申请通过在进行逐像素替换的过程中进行球面插值,进一步防止像素稀疏的问题,提升了替换后的效果。
图1示出根据本申请一实施例的应用场景的示意图。本申请实施例的全景图像处理系统可以部署于终端设备或服务器,用于在全景浏览模式中对全景的局部区域进行内容替换。全景浏览模式可以指用户视角下对二维图像进行浏览的情形,此处的二维图像可以是将拍摄得到的全景图像对应的球面映射到二维平面后得到的。在全景浏览模式中,用户可以利用终端设备进行全景浏览,用户的视角相当于从球体的中心观察球面,在终端设备上用户看到的内容可以是球面映射为的二维图像。
如图1所示,若此时想要对二维图像中的部分区域进行替换,例如该部分区域的内容若对用户展示,可能存在信息安全问题。此时如果直接对该部分区域进行贴图,不直接全景图像中的相应内容进行修改,在图像较大的情况下,在显示加载的过程中可能仍然会先显示底层未替换前的图像,再显示贴图的部分(即替换后的图像),那么还是会存在信息泄露风险。因此,可以应用本申请实施例的全景图像处理系统对该部分区域在原始的全景图像上进行内容替换。在此过程中,可以首先在二维图像上通过选点来确定待替换的区域。
例如,可以通过在如图所示的二维图像上选定4个点,以确定一个凸四边形区域作为待替换区域。全景图像处理系统可以利用本申请实施例的全景图像处理方法,根据确定二维图像中的待替换区域,在全景图像中确定相应的待替换区域,以对相应的部分进行逐像素替换。并将替换后的全景图像对应的球面映射为新的二维平面,从而,用户可以看到相应内容被替换后的新的二维图像。如图所示,在利用本申请实施例的全景图像处理方法对二维图像中的部分内容进行替换后,显示的新的二维图像(如图中替换后的二维图像)中选定的待替换区域的内容已被替换,且待替换区域以外的区域的内容没有被改变。
本申请实施例的全景图像处理系统可以部署于终端设备上。举例来说,本申请涉及的终端设备可以是智能手机、图像传感设备、上网本、平板电脑、笔记本电脑、可穿戴电子设备(如智能手环、智能手表等)、TV、虚拟现实设备、增强现实设备,等等。本申请的终端设备可以是触屏的、也可以是非触屏的、也可以是没有屏幕的,触屏的可以通过手指、触控笔等在显示屏幕上点击、滑动等方式对终端设备进行控制,非触屏的设备可以连接鼠标、键盘、触控面板等输入设备。本申请涉及的终端设备可以是指具有无线连接功能的设备,无线连接的功能是指可以通过Wi-Fi、蓝牙等无线连接方式与其他终端设备或服务器进行连接,本申请的终端设备也可以具有有线连接进行通信的功能。
本申请实施例的全景图像处理系统也可以部署于服务器上。该服务器可以位于云端或本地,可以是实体设备,也可以是虚拟设备,如虚拟机、容器等,具有无线通信功能,其中,无线通信功能可设置于该服务器的芯片(系统)或其他部件或组件。可以是指具有无线连接功能的设备,无线连接的功能是指可以通过Wi-Fi、蓝牙等无线连接方式与其他服务器或终端设备进行连接,本申请的服务器也可以具有有线连接进行通信的功能。例如,本申请的服务器可位于云端,与终端设备进行通信,接收终端设备发送的二维图像中的待替换区域,并利用部署于服务器的全景图像处理系统对全景图像的相应区域进行替换,将替换后的全景图像映射为新的二维平面返回给终端设备。
本申请实施例的全景图像处理方法可用于影视剧中全景画面背景广告牌的替换、全景展厅中展示屏内容的替换等多种涉及对全景的局部区域进行内容替换的场景中,还可应用于对全景视频的局部区域进行内容替换、静态全景图中在局部区域内添加动态视频等场景中,本申请对此不作限制。
以下通过图2-图12,对本申请实施例的全景图像处理方法进行详细的介绍。
图2示出根据本申请一实施例的全景图像处理方法的流程图。该方法可用于终端设备或服务器中,例如可用于上述全景图像处理系统中,如图2所示,该方法可包括:
步骤S201,确定二维图像中待替换的第一区域。
其中,二维图像可为将全景图像对应的球面映射为第一二维平面后得到的。
参见图3,示出根据本申请一实施例的确定二维图像的示意图。如图3所示,最右边的图片可以表示全景图像,该全景图像可以通过全景相机等摄像设备进行采集得到,全景图像的长宽比可以为2:1。可以先将全景图像利用投影算法(如球面条带投影(segmentedsphere project ion,SSP)等)映射到球面(或立方体的六个面)上,该全景图像对应的球面可以如图3中间所示的球体的球面。在全景浏览模式中,可以认为是将用户置于球面的中心,通过将球面上的像素映射到第一二维平面上,便可以在平面屏幕上使用户在观看时有一种3D的沉浸式浏览效果。二维图像可以表示第一二维平面上用户在全景浏览模式下观看到的图像,可以参见图3中最左边的图片,二维图像即在显示屏幕上显示的图像。
当想要替换二维图像中局部区域(即第一区域)的内容时,可以响应于用户(如美工人员)的操作在全景浏览模式中确定二维图像中待替换的第一区域,例如,用户可以在屏幕上选定一部分区域作为待替换的第一区域。
可选地,第一区域可以根据4个顶点确定。例如,在全景浏览模式下,用户面对的是二维的屏幕,用户可以通过依次选定(例如通过在屏幕上点击的方式)待替换区域的4个顶点,以确定第一区域。
由于根据透视原理,长方形在经过透视变换后会变为凸四边形,因此,第一区域的形状为凸四边形。可以在用户选定4个顶点后,判断4个顶点构成的四边形的形状是否为凸四边形,以对第一区域的形状进行限制。
图4示出根据本申请一实施例的凸四边形与凹四边形的示意图。如图4所示,图4中左边的四边形为凸四边形,右边的四边形为凹四边形。
判断是否为凸四边形的方式包括但不限于利用:三角形包括法,即利用凸四边形的四个点中任意三个点组成的三角形时,其余一点在三角形外侧的性质进行判断;对角线交点法,即利用凸四边形对角线交点在四边形内部的性质进行判断;对角线分割法,即利用凸四边形的任意对角线都能将之分割为两个三角形的性质进行判断。若判断用户选定的4个顶点构成的四边形的形状不是凸四边形时,可以提醒用户对选定的顶点进行修改;若构成的四边形的形状是凸四边形时,可以确定第一区域。
根据本申请实施例,通过根据4个顶点确定第一区域,并限制第一区域的形状为凸四边形,考虑到了透视的原理,可以保证在全景图像中可以找到第一区域对应的区域,以实现从数据源头对图像的内容进行改写,实现对全景图像的无损替换。
在确定第一区域后,可以依据第一区域在全景图像中找到相应的区域,以从数据源头对待替换区域的内容进行替换。在此过程中,可以首先对第一区域进行放大,这可以使得二维图像中的一小块区域可以合理对应全景图像中的一大块区域,从而在从二维图像向全景图像转换的过程中可以防止像素损失。参见下述,
步骤S202,将第一区域放大为第二区域。
其中,放大倍数可以根据第一区域以及全景图像中与第一区域对应的第三区域确定。
在此过程中,可以先确定第一区域在全景图像中对应的第三区域。
其中,第三区域可以根据第一区域的4个顶点在全景图像上的坐标确定。图5示出根据本申请一实施例的全景图像处理方法的流程图。如图5所示,该方法还可包括:
步骤S501,将第一区域的4个顶点映射至球面,确定4个顶点在球面上的极坐标。
其中,二维图像上坐标可以表示为(x,y),x可以表示横轴上的坐标值,y可以表示纵轴上的坐标值,例如二维图像的分辨率为1920*1080时,x的取值范围可以是0-1920,y的取值范围可以是0-1080。
球体可以是单位球,即球体的半径长度可以是单位长度。极坐标可以表示为(h,v),其中h可以表示距离z轴的角度,取值范围可以是0°-180°,v可以表示距离x轴的角度,取值范围可以是-180°-180°。
图6示出根据本申请一实施例的确定第一区域在球面上的极坐标的示意图。如图6所示,Select region对应的线段可以表示二维图像上的第一区域,Sphere对应的曲线可以表示球面。两个箭头的起始点可以表示球心,可以认为是用户眼睛的所在位置。可以根据两个箭头指示的映射关系,即两点一线的原理,从用户的眼睛出发与选定点(即顶点)形成一条射线,该射线与球面相交的位置,即为顶点对应的球面映射点。据此将第一区域的4个顶点(x,y)进行球面映射,可以得到4个顶点在球面上的极坐标(h,v)。
步骤S502,根据4个顶点在球面上的极坐标,确定第一区域的4个顶点在全景图像上的坐标。
根据球面上的极坐标确定在全景图像上的坐标的一种方式可参见公式(1)和公式(2):
Px=round((h/360+0.5)*spherewidth) 公式(1)
Py=round((v/180+0.5)*spherewidth/2) 公式(2)
其中,Px和Py可以分别表示全景图像上的横坐标的值与纵坐标的值。round(·)可以表示取整函数,(h,v)可以表示球面上的极坐标,spherewidth可以表示全景图像的长。例如,全景图像的分辨率为16384*8192时,spherewidth可以是16384。
第三区域可以表示第一区域在全景图像上的对应区域,其顶点的坐标为上述计算的第一区域的顶点在全景图像上的坐标。
根据本申请实施例,通过将第一区域的4个顶点映射至球面,得到极坐标,在根据极坐标确定全景图像上的坐标,可以使最终在全景图像上确定的待替换区域更加准确,替换后无扭曲、变形的现象,可以达到美观自然的效果。
在确定第三区域后,可以计算第三区域的面积,该面积可以称为Sp。由于全景图像的映射原理,二维图像上的第一区域对应到全景图像上可能是一个扭曲的区域,且越远离全景图像的赤道线(可以是全景图像映射到球面上时球体的赤道位置,也可以是全景相机架设位置环绕水平视线360°区域位置),扭曲效果可能越明显。因此,第三区域可能不是实际上二维图像映射到全景图像上的区域,即实际扭曲区域的面积与该计算结果Sp往往存在出入。但是,由于Sp大致能表示实际的扭曲区域,因此可以首先利用Sp来对第一区域进行放大,以确定实际扭曲区域的面积(即第二区域的面积)。
可选地,该放大倍数可以根据第三区域与第一区域的面积比例确定,放大倍数可以为2的n次幂,n为非负整数。
第一区域的面积可记为Ss,可以根据第一区域的顶点坐标计算得到。第三区域与第一区域的面积比例可以记为与放大倍数之间的一种对应关系可参见表1:
表1
该对应关系可以预先确定,面积比例越大,可以表示第一区域的面积与第三区域的面积之间的差异越大,即第一区域被映射到全景图像时可以对应于更大面积的区域,因此,其对应的放大倍数可以越大。
对第一区域进行放大的方式可以通过插值来实现,放大倍数也可以理解为插值倍数。例如,该插值可以通过二次线性插值实现,此时将插值倍数设置为2的n次幂可以方便插值,如可以进行n+1次插值。从而,可以确定第二区域。
根据本申请实施例,通过根据第三区域与第一区域的面积比例确定放大倍数,可以合理的确定第一区域在全景图像上的区域,防止畸变现象发生,使得替换效果更加美观自然。同时通过使放大倍数为2的n次幂,n为非负整数,可以方便插值,减少工作量,提高效率。
图7示出根据本申请一实施例的对第一区域进行放大后的示意图。如图7所示,S对应的四边形可以表示放大前的第一区域,通过步骤S202中的方法对第一区域进行放大后可以得到第二区域,B对应的四边形可以表示放大后的第二区域。
而在将第一区域放大为第二区域后,由于第一区域和第二区域的面积差异可能比较大,直接映射可能会导致像素稀疏的问题,因此,可以采用逐像素的映射的方式,对第二区域进行插值补充,插值后可以解决像素稀疏的问题,并确定第二区域中各像素点在全景图像中的坐标和像素值。参见下述。
步骤S203,根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值。
目标替换图像可以表示待替换区域想要替换为的内容,可以预先确定,也可由用户输入。在此过程中,可以分别确定第二区域中各像素点在全景图像中的坐标和像素值。
确定第二区域中各像素点在全景图像中的像素值的方式可参见下述。
图8示出根据本申请一实施例的全景图像处理方法的流程图。如图8所示,可选地,该步骤S203,可包括:
步骤S801,对目标替换图像按照第二区域的形状进行透视变换,确定透视变换后的目标替换图像。
其中,第二区域的形状可参见图7中的B,即透视变换后的目标形状。透视变换的过程可以利用现有技术实现,本申请对此不作限制。
步骤S802,根据透视变换后的目标替换图像,确定第二区域中各像素点的像素值。
例如,在透视变换前第一区域包括48个像素点,第二区域的面积为第一区域的2倍,在对目标替换区域进行透视变换后,可以得到96个像素点的像素值,这96个像素点的像素值可以作为第二区域中的像素点的像素值。可以将第二区域中各像素点的像素值依次记录在一张表中,该表可记为c_table。
根据本申请实施例,通过对目标替换图像按照第二区域的形状进行透视变换,可以确定第二区域中各像素点的像素值,以防止后续像素稀疏的问题,可以得到更好的内容替换效果。
可选地,若想要对二维图像中的部分区域内容进行直接隐藏,还可以将目标替换图像设置为马赛克图像。此时,在目标替换图像为马赛克图像的情况下,第二区域中各像素点的像素值可以是更新后的像素值,该方法还可包括:
确定预定像素大小的窗口;例如,预定窗口大小为4*4可以表示每个窗口内包括16个像素,窗口大小可以根据需要确定,以设置不同的模糊程度。
按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值。
步长可以表示扫描时窗口每次的移动步长。例如,在扫描时可以按照预定步长对c_table表进行扫描,如4*4的窗口每次移动时可以对窗口内的16个像素点的像素值取同一值,以计算出的同一值作为窗口内这16个像素点更新后的像素值。
其中,同一值可以包括窗口内的各像素值的均值、中值、随机值中的任一种,本申请对此不作限制,从而可以在替换后得到不同风格的马赛克效果。
根据本申请实施例,通过确定窗口大小,并按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,可以在待替换区域内形成比较均匀、不违和的马赛克效果,可以实现不影响图片的美观的前提下,对图片信息做了足够的隐藏。并且,由于是在原始的全景图像上进行了马赛克替换,所以无论在前端还是后端都可以保证信息安全,避免了信息泄露风险。
为了解决像素稀疏的问题,可以通过插值补充第一区域中的像素点的个数,并得到第二区域中各像素点在全景图像中的坐标,使之与上述得到的像素值对应。参见下述。
本申请实施例中可以先将第一区域中的各像素点转换为球面上的像素点,在球面上对像素点进行插值。这是因为,如果在平面上对像素点进行插值,可能会导致边缘锯齿问题以及像素偏移问题,通过球面插值可以使得替换后的图像中像素更加平滑、美观、自然。
图9示出根据本申请一实施例的全景图像处理方法的流程图。如图9所示,可选地,该步骤S203,可包括:
步骤S901,遍历确定第一区域中各像素点在球面中的极坐标。
例如,可以通过上述步骤S501中所示的方式,将第一区域中的各像素点映射至球面,确定各像素点在球面中的极坐标。可以将各像素点在球面中的极坐标记录到表中,该表可记为s_table_s。例如,第一区域包括48个像素点时,s_table_s中可包括48个像素点对应的在球面中的极坐标。
步骤S902,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标。
其中,可以利用二次线性插值等方式对第一区域在球面上的各像素点进行插值,进行插值时的插值倍数可以为上述放大倍数。由于上述放大倍数可以为2的n次幂,因此多倍插值为两倍插值的嵌套,即做两次二倍插值即为四倍插值。
根据本申请实施例,通过使插值倍数为放大倍数,可以保证放大和插值之间的一致性,是像素点的坐标和像素值可以一一对应,以做到逐像素映射,使得替换后的效果更加美观、自然。
可选地,该步骤S902,可包括:
以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标。
根据微分思想,如果球面上两点的距离足够小,那么二者极坐标的中点可以构成球面曲线上的中点。
因此,在二次插值的过程中,对第一区域在球面上的各像素点中相邻的两点依次插值,可以以球面上两点的中点作为插值点,确定插值后各像素点的极坐标。例如,相邻两点的极坐标分别为(h1,v1)和(h2,v2)时,两点的之间的插值点的坐标可以是((h1+h2)/2,(v1v2)/2)。
可以根据插值后各像素点的极坐标扩充表s_table_s,新表可记为s_table_b。扩充后,s_table_b中包括的极坐标的个数可以与c_table中包括的像素值的个数一致。
根据本申请实施例,通过以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,可以使得替换后的图像中像素更加平滑、美观、自然。
步骤S903,以插值后的各像素点在全景图像中的坐标作为第二区域中各像素点在全景图像中的坐标。
其中,可以将插值后各像素点的极坐标进行转换,例如对s_table_b中的各极坐标逐一进行转换,以确定插值后的各像素点在全景图像中的坐标,转换的一种方式可参见上述公式(1)、公式(2)。可以将插值后的各像素点在全景图像中的坐标记录到表中,该表可记为p_table。p_table中像素点的坐标的个数可以与c_table中包括的像素值的个数一致,且p_table中每个像素点在全景图像中的坐标可以对应于c_table中相应的1个的像素值。从而可以实现对待替换区域的逐像素映射。
根据本申请实施例,通过遍历确定第一区域中各像素点在球面中的极坐标,在球面上对各像素点进行插值,可以在替换过程中,避免了图像畸变,并防止放大带来的像素稀疏的问题,实现无损区域替换。由于利用了球面插值,还可以防止平面插值带来的边缘锯齿问题以及像素偏移问题,使得最终替换后的效果更加美观自然。同时,根据上述过程,可以实现对待替换区域在全景图像中的逐像素映射,使得最终替换后的图像无扭曲、无变形、无像素稀疏,更加美观、自然。
步骤S204,根据第二区域各像素点在全景图像上的坐标和像素值,替换全景图像中相应坐标下的像素值,确定替换后的全景图像。
例如,可以根据上述确定的p_table和c_table,在全景图像上遍历p_table中的坐标位置,并以c_table中与之对应的像素值替换全景图像中该坐标点原来的像素值,以确定替换后的全景图像。由此,可以实现逐像素替换,防止替换后出现像素损失,保证了替换后的效果。
其中,替换后的全景图像可用于被映射为第二二维平面。例如,可以通过图3中所示的方法,将替换后的全景图像对应的球面映射为第二二维平面,从而,用户可以看到替换后的二维图像。由于在替换的过程中我们对源头处的全景图像的内容进行了修改,因此,在映射为第二二维平面的过程中,可以保证信息安全,使得被替换前的原始内容不会为用户所知。
根据本申请实施例,本申请实施例的方法在对全景图像进行局部替换的过程中考虑到了直接替换可能导致的像素畸变问题,通过在二维图像中确定待替换的第一区域,并将第一区域放大为第二区域,确定第二区域的像素值和在全景图像上的坐标,能够实现直接在源头处的全景图像中进行局部区域替换,防止信息泄露的安全风险。通过根据第一区域以及全景图像中第一区域对应的第三区域确定放大倍数,可以防止直接替换导致的像素畸变问题。通过逐像素替换,可以防止像素稀疏问题,使得替换后被映射的二维平面效果更加美观、自然。本申请通过在进行逐像素替换的过程中进行球面插值,可以进一步防止像素稀疏的问题,提升了替换后的效果。
图10示出根据本申请一实施例的效果示意图。如图10中下边的图片的待替换区域所示,如果在替换的过程中忽略像素畸变,将目标替换图像直接通过透视变换映射到全景图像上,由于待替换区域不可避免的偏离赤道线,可能会导致图像的扭曲,如果待替换区域的面积较小则扭曲畸变可能比较轻微,而当待替换区域的面积较大时,扭曲畸变可能会非常严重,使得显示效果会非常差。
而参见图10中上边的图片的待替换区域所示,通过本申请实施例的方法,考虑到了像素畸变的问题,并且在最后替换时对全景图像中的待替换区域进行了逐像素替换,可以做到待替换区域无扭曲、无变形、无像素稀疏,是一种媲美手动P图效果的方法。
图11示出根据本申请一实施例的效果示意图。如图11所示,图11中的两个显示屏可以表示两个不同的待替换区域。一般的电脑屏幕(即二维图像)大小为1920*1080,常用的全景图像的大小为10000*5000甚至更大的16000*8000,即使把电脑屏幕中的待替换区域放到最大,面积也会与全景图像中对应区域的大小相差悬殊,此时,如果利用现有技术进行直接替换,难免会出现像素稀疏问题,缺少的像素比较少时还不太明显,如果面积相差过大,则会出现明显的漏底现象,如图中右边的显示屏所示。
而参见图中左边的显示屏,通过本申请实施例的方法,对二维图像中的待替换区域进行放大,并且在最后替换时对全景图像中的待替换区域进行了逐像素替换,可以做到待替换区域无像素稀疏,效果更佳。
图12示出根据本申请一实施例的马赛克的效果示意图。若想要对保证信息安全,隐藏图像中部分区域的内容,可以利用本申请实施例中的方法,将图中指示的待替换区域进行马赛克处理,如图所示,处理后可以达到均匀、不违和的马赛克效果,在不影响图片的美观的前提下,对图片信息做了足够的隐藏。并且由于本申请中是在原始的全景图像上进行了马赛克替换,所以无论在前端还是后端都保证了信息安全,避免了商业上的风险。
图13示出根据本申请一实施例的全景图像处理装置的结构图。该装置可用于服务器或终端设备,如图13所示,该装置可包括:
第一确定模块1301,用于确定二维图像中待替换的第一区域,二维图像为将全景图像对应的球面映射为第一二维平面后得到的;
放大模块1302,用于将第一区域放大为第二区域,放大倍数根据第一区域以及全景图像中与第一区域对应的第三区域确定;
第二确定模块1303,用于根据第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值;
替换模块1304,用于根据第二区域各像素点在全景图像上的坐标和像素值,替换全景图像中相应坐标下的像素值,确定替换后的全景图像,替换后的全景图像用于被映射为第二二维平面。
根据本申请实施例,本申请实施例的装置在对全景图像进行局部替换的过程中考虑到了直接替换可能导致的像素畸变问题,通过在二维图像中确定待替换的第一区域,并将第一区域放大为第二区域,确定第二区域的像素值和在全景图像上的坐标,能够实现直接在源头处的全景图像中进行局部区域替换,防止信息泄露的安全风险。通过根据第一区域以及全景图像中第一区域对应的第三区域确定放大倍数,可以防止直接替换导致的像素畸变问题。通过逐像素替换,可以防止像素稀疏问题,使得替换后被映射的二维平面效果更加美观、自然。
可选地,第一区域可以根据4个顶点确定,第一区域的形状可以为凸四边形。
根据本申请实施例,通过根据4个顶点确定第一区域,并限制第一区域的形状为凸四边形,考虑到了透视的原理,可以保证在全景图像中可以找到第一区域对应的区域,以实现从数据源头对图像的内容进行改写,实现对全景图像的无损替换。
可选地,放大倍数可以根据第三区域与第一区域的面积比例确定,放大倍数为2的n次幂,n为非负整数。
根据本申请实施例,通过根据第三区域与第一区域的面积比例确定放大倍数,可以合理的确定第一区域在全景图像上的区域,防止畸变现象发生,使得替换效果更加美观自然。同时通过使放大倍数为2的n次幂,n为非负整数,可以方便插值,减少工作量,提高效率。
可选地,第三区域可以根据第一区域的4个顶点在全景图像上的坐标确定,该装置还可包括:
映射模块,用于将第一区域的4个顶点映射至球面,确定4个顶点在球面上的极坐标;
第五确定模块,用于根据4个顶点在球面上的极坐标,确定第一区域的4个顶点在全景图像上的坐标。
根据本申请实施例,通过将第一区域的4个顶点映射至球面,得到极坐标,在根据极坐标确定全景图像上的坐标,可以使最终在全景图像上确定的待替换区域更加准确,替换后无扭曲、变形的现象,可以达到美观自然的效果。
可选地,第二确定模块1303,可用于:
对目标替换图像按照第二区域的形状进行透视变换,确定透视变换后的目标替换图像;
根据透视变换后的目标替换图像,确定第二区域中各像素点的像素值。
根据本申请实施例,通过对目标替换图像按照第二区域的形状进行透视变换,可以确定第二区域中各像素点的像素值,以防止后续像素稀疏的问题,可以得到更好的内容替换效果。
可选地,在目标替换图像为马赛克图像的情况下,第二区域中各像素点的像素值为更新后的像素值,该装置还可包括:
第三确定模块,用于确定预定像素大小的窗口;
第四确定模块,用于按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,其中,同一值包括窗口内的各像素值的均值、中值、随机值中的任一种。
根据本申请实施例,通过确定窗口大小,并按照预定步长,以窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,可以在待替换区域内形成比较均匀、不违和的马赛克效果,可以实现不影响图片的美观的前提下,对图片信息做了足够的隐藏。并且,由于是在原始的全景图像上进行了马赛克替换,所以无论在前端还是后端都可以保证信息安全,避免了信息泄露风险。
可选地,第二确定模块1303,可用于:
遍历确定第一区域中各像素点在球面中的极坐标;
对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标;
以插值后的各像素点在全景图像中的坐标作为第二区域中各像素点在全景图像中的坐标。
根据本申请实施例,通过遍历确定第一区域中各像素点在球面中的极坐标,在球面上对各像素点进行插值,可以在替换过程中,避免了图像畸变,并防止放大带来的像素稀疏的问题,实现无损区域替换。由于利用了球面插值,还可以防止平面插值带来的边缘锯齿问题以及像素偏移问题,使得最终替换后的效果更加美观自然。同时,根据上述过程,可以实现对待替换区域在全景图像中的逐像素映射,使得最终替换后的图像无扭曲、无变形、无像素稀疏,更加美观、自然。
可选地,进行插值时的插值倍数可以为放大倍数。
根据本申请实施例,通过使插值倍数为放大倍数,可以保证放大和插值之间的一致性,是像素点的坐标和像素值可以一一对应,以做到逐像素映射,使得替换后的效果更加美观、自然。
可选地,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标,可包括:
以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,确定插值后各像素点的极坐标。
根据本申请实施例,通过以球面上两点的中点作为插值点,对第一区域在球面上的各像素点进行插值,可以使得替换后的图像中像素更加平滑、美观、自然。
本申请的实施例提供了一种全景图像处理装置,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
本申请的实施例提供了一种终端设备,该终端设备可以执行上述全景图像处理方法。
本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述全景图像处理方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述全景图像处理方法。
图14示出根据本申请一实施例的电子设备1400的结构图。如图14所示,该电子设备1400可以是服务器(云平台)或终端设备,例如是上述全景图像处理系统。该电子设备1400包括至少一个处理器1801,至少一个存储器1802、至少一个通信接口1803。此外,该电子设备还可以包括天线等通用部件,在此不再详述。
下面结合图14对电子设备1400的各个构成部件进行具体的介绍。
处理器1801可以是通用中央处理器(CPU),微处理器,特定应用集成电路(applicat ion-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。处理器1801可以包括一个或多个处理单元,例如:处理器1801可以包括应用处理器(appl icat ion processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image s ignal processor,ISP),控制器,视频编解码器,数字信号处理器(digital s ignal processor,DSP),基带处理器,和/或神经网络处理器(neural-network process ing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
通信接口1803,用于与其他电子设备或通信网络通信,如以太网,无线接入网(RAN),核心网,无线局域网(Wireless Local Area Networks,WLAN)等。
存储器1802可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器1802用于存储执行以上方案的应用程序代码,并由处理器1801来控制执行。所述处理器1801用于执行所述存储器1802中存储的应用程序代码。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RandomAccess Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrical ly Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Stat ic Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smal ltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(Wide AreaNetwork,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-Programmable GateArray,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Appl icat ion SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(compris ing)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (21)

1.一种全景图像处理方法,其特征在于,所述方法包括:
确定二维图像中待替换的第一区域,所述二维图像为将全景图像对应的球面映射为第一二维平面后得到的;
将所述第一区域放大为第二区域,放大倍数根据所述第一区域以及所述全景图像中与第一区域对应的第三区域确定;
根据所述第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值;
根据所述第二区域各像素点在全景图像上的坐标和像素值,替换所述全景图像中相应坐标下的像素值,确定替换后的全景图像,所述替换后的全景图像用于被映射为第二二维平面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值,包括:
遍历确定所述第一区域中各像素点在所述球面中的极坐标;
对所述第一区域在所述球面上的各像素点进行插值,确定插值后各像素点的极坐标;
以插值后的各像素点在全景图像中的坐标作为所述第二区域中各像素点在全景图像中的坐标。
3.根据权利要求1或2所述的方法,其特征在于,所述放大倍数根据所述第三区域与所述第一区域的面积比例确定,所述放大倍数为2的n次幂,n为非负整数。
4.根据权利要求1-3任一项所述的方法,其特征在于,进行插值时的插值倍数为所述放大倍数。
5.根据权利要求2-4任一项所述的方法,其特征在于,对所述第一区域在所述球面上的各像素点进行插值,确定插值后各像素点的极坐标,包括:
以球面上两点的中点作为插值点,对所述第一区域在所述球面上的各像素点进行插值,确定插值后各像素点的极坐标。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值,包括:
对所述目标替换图像按照所述第二区域的形状进行透视变换,确定透视变换后的目标替换图像;
根据透视变换后的目标替换图像,确定所述第二区域中各像素点的像素值。
7.根据权利要求6所述的方法,其特征在于,在目标替换图像为马赛克图像的情况下,第二区域中各像素点的像素值为更新后的像素值,该方法还包括:
确定预定像素大小的窗口;
按照预定步长,以所述窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,其中,所述同一值包括所述窗口内的各像素值的均值、中值、随机值中的任一种。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述第一区域根据4个顶点确定,所述第一区域的形状为凸四边形。
9.根据权利要求8所述的方法,其特征在于,所述第三区域根据第一区域的4个顶点在全景图像上的坐标确定,所述方法还包括:
将所述第一区域的4个顶点映射至球面,确定所述4个顶点在球面上的极坐标;
根据所述4个顶点在球面上的极坐标,确定所述第一区域的4个顶点在全景图像上的坐标。
10.一种全景图像处理装置,其特征在于,所述装置包括:
第一确定模块,用于确定二维图像中待替换的第一区域,所述二维图像为将全景图像对应的球面映射为第一二维平面后得到的;
放大模块,用于将所述第一区域放大为第二区域,放大倍数根据所述第一区域以及所述全景图像中与第一区域对应的第三区域确定;
第二确定模块,用于根据所述第一区域和目标替换图像,确定第二区域中各像素点在全景图像中的坐标和像素值;
替换模块,用于根据所述第二区域各像素点在全景图像上的坐标和像素值,替换所述全景图像中相应坐标下的像素值,确定替换后的全景图像,所述替换后的全景图像用于被映射为第二二维平面。
11.根据权利要求10所述的装置,其特征在于,所述第二确定模块,用于:
遍历确定所述第一区域中各像素点在所述球面中的极坐标;
对所述第一区域在所述球面上的各像素点进行插值,确定插值后各像素点的极坐标;
以插值后的各像素点在全景图像中的坐标作为所述第二区域中各像素点在全景图像中的坐标。
12.根据权利要求10或11所述的装置,其特征在于,所述放大倍数根据所述第三区域与所述第一区域的面积比例确定,所述放大倍数为2的n次幂,n为非负整数。
13.根据权利要求10-12任一项所述的装置,其特征在于,进行插值时的插值倍数为所述放大倍数。
14.根据权利要求11-13任一项所述的装置,其特征在于,对所述第一区域在所述球面上的各像素点进行插值,确定插值后各像素点的极坐标,包括:
以球面上两点的中点作为插值点,对所述第一区域在所述球面上的各像素点进行插值,确定插值后各像素点的极坐标。
15.根据权利要求10-14任一项所述的装置,其特征在于,所述第二确定模块,用于:
对所述目标替换图像按照所述第二区域的形状进行透视变换,确定透视变换后的目标替换图像;
根据透视变换后的目标替换图像,确定所述第二区域中各像素点的像素值。
16.根据权利要求15所述的装置,其特征在于,在目标替换图像为马赛克图像的情况下,第二区域中各像素点的像素值为更新后的像素值,该装置还包括:
第三确定模块,用于确定预定像素大小的窗口;
第四确定模块,用于按照预定步长,以所述窗口对第二区域中的各像素点进行扫描,对第二区域中的各像素点在窗口内的像素值取同一值,确定各像素点更新后的像素值,其中,所述同一值包括所述窗口内的各像素值的均值、中值、随机值中的任一种。
17.根据权利要求10-16任一项所述的装置,其特征在于,所述第一区域根据4个顶点确定,所述第一区域的形状为凸四边形。
18.根据权利要求17所述的装置,其特征在于,所述第三区域根据第一区域的4个顶点在全景图像上的坐标确定,所述装置还包括:
映射模块,用于将所述第一区域的4个顶点映射至球面,确定所述4个顶点在球面上的极坐标;
第五确定模块,用于根据所述4个顶点在球面上的极坐标,确定所述第一区域的4个顶点在全景图像上的坐标。
19.一种全景图像处理装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求1-9任意一项所述的方法。
20.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-9中任意一项所述的方法。
21.一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1-9中任意一项所述的方法。
CN202310095360.3A 2023-01-18 2023-01-18 全景图像处理方法、装置和存储介质 Pending CN118379204A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310095360.3A CN118379204A (zh) 2023-01-18 2023-01-18 全景图像处理方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310095360.3A CN118379204A (zh) 2023-01-18 2023-01-18 全景图像处理方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN118379204A true CN118379204A (zh) 2024-07-23

Family

ID=91904434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310095360.3A Pending CN118379204A (zh) 2023-01-18 2023-01-18 全景图像处理方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN118379204A (zh)

Similar Documents

Publication Publication Date Title
JP6561216B2 (ja) 光学フローを使用した中間ビューの生成
AU2016308980B2 (en) Image generating apparatus and image display control apparatus
CN107197341B (zh) 一种基于gpu的炫屏显示方法、装置及一种存储设备
CN113038111A (zh) 用于图像捕获和处理的方法、系统和介质
JP2005339313A (ja) 画像提示方法及び装置
CN110569013B (zh) 基于展示屏幕的图像展示方法以及装置
CN108665415B (zh) 基于深度学习的图像质量提升方法及其装置
WO2022002181A1 (zh) 自由视点视频重建方法及播放处理方法、设备及存储介质
KR20180107271A (ko) 전방향 미디어 텍스처 매핑 메타데이터를 생성하는 방법 및 장치
CN114531553B (zh) 生成特效视频的方法、装置、电子设备及存储介质
US11783445B2 (en) Image processing method, device and apparatus, image fitting method and device, display method and apparatus, and computer readable medium
Plath et al. Adaptive image warping for hole prevention in 3D view synthesis
US11250643B2 (en) Method of providing virtual exhibition space using 2.5-dimensionalization
WO2023207963A1 (zh) 图像处理方法、装置、电子设备及存储介质
Jian et al. Augmented virtual environment: fusion of real-time video and 3D models in the digital earth system
CN113906761A (zh) 利用修补补片对3d场景进行编码和渲染的方法和装置
CN112650460A (zh) 媒体显示方法和媒体显示装置
US10650488B2 (en) Apparatus, method, and computer program code for producing composite image
JP6719596B2 (ja) 画像生成装置、及び画像表示制御装置
CN113724331A (zh) 视频处理方法、视频处理装置和非瞬时性存储介质
CN118379204A (zh) 全景图像处理方法、装置和存储介质
CN111726566B (zh) 一种实时校正拼接防抖的实现方法
CN104463784B (zh) 一种2.5d模型的缩放方法
CN113947671A (zh) 全景360度图像分割合成方法、系统及介质
KR100399735B1 (ko) 스틸 사진을 이용한 가상 네비게이션 구현 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication