CN117670691A - 图像处理方法及装置、计算设备、存储介质 - Google Patents
图像处理方法及装置、计算设备、存储介质 Download PDFInfo
- Publication number
- CN117670691A CN117670691A CN202211019416.9A CN202211019416A CN117670691A CN 117670691 A CN117670691 A CN 117670691A CN 202211019416 A CN202211019416 A CN 202211019416A CN 117670691 A CN117670691 A CN 117670691A
- Authority
- CN
- China
- Prior art keywords
- scene
- image
- target
- plane
- preset
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 14
- 230000033001 locomotion Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 23
- 230000004927 fusion Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种图像处理方法及装置、计算设备、存储介质和计算机程序产品。该方法包括:获取第一图像,述第一图像为包括第一场景的图像;基于第一图像,确定第一场景中的目标平面,目标平面包括在第一图像中检测到的至少一个平面;加载第二场景,使得第二场景的预设基准平面与目标平面重合,预设基准平面为第二场景中的预先设定的平面;获取第二图像,第二图像为包括目标对象的图像;从第二图像中提取目标对象的图像;在第二场景中呈现目标对象的图像。通过该方法,可以提供沉浸式的虚拟显示交互体验,并提供更多交互可能性。本公开实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等,并可用于游戏、视频、全景漫游等各种应用场景。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种图像处理方法、图像处理装置、计算设备、计算机可读存储介质和计算机程序产品。
背景技术
计算机技术的发展为人们的工作、学习、生活、娱乐等方面带来了诸多变化,同时,随着新技术的不断涌现,各种新的需求也在不断出现。近年来,随着计算机技术的不断发展,特别是随着虚拟现实、增强现实等技术的接连涌现,以及元宇宙等概念的迅速走红,虚拟世界与现实世界的融合吸引了诸多目光。这种融合可以带来更为多样化、更具趣味性的人机交互体验,并可以在诸多领域中带来新的可能性,例如为游戏、视频或短视频、在线购物、在线社交等领域带来更为丰富的互动方式,提供更多便利,增添更多乐趣。然而,目前,仅存在将虚拟道具与真实场景进行融合的方案,这种融合所实现的互动效果是有限的,并且难以提供更加沉浸式的融合体验。
发明内容
有鉴于此,本公开提供了一种图像处理方法、图像处理装置、计算设备、计算机可读存储介质及计算机程序产品,可以缓解、减轻或甚至消除上述问题。
根据本公开的一方面,提供了一种图像处理方法,包括:获取第一图像,第一图像为包括第一场景的图像;基于第一图像,确定第一场景中的目标平面,目标平面包括在第一图像中检测到的至少一个平面;加载第二场景,使得第二场景的预设基准平面与目标平面重合,预设基准平面为第二场景中的预先设定的平面;获取第二图像,第二图像为包括目标对象的图像;从第二图像中提取目标对象的图像;在第二场景中呈现目标对象的图像。
在一些实施例中,第二场景具有虚拟相机,并且其中,加载第二场景,使得第二场景的预设基准平面与目标平面重合包括:基于目标平面和第二场景的预设基准平面,调整第二场景中的虚拟相机的位置和姿态,使得在虚拟相机拍摄的画面中,第二场景的预设基准平面的高度与目标平面的高度一致,并且使得虚拟相机拍摄的画面与第二场景的预设初始画面一致。
在一些实施例中,第二场景具有虚拟相机和与虚拟相机相关联的目标面片,并且其中,在第二场景中呈现目标对象的图像包括:将目标对象的图像绘制到目标面片中,其中,目标面片随着虚拟相机的移动而移动。
在一些实施例中,将目标对象的图像绘制到目标面片中包括:基于用于获取第二图像的相机的内部参数、从虚拟相机至目标面片的距离、显示窗口的尺寸中的至少一个,调整目标面片的尺寸;将目标对象的图像绘制到调整尺寸后的目标面片上。
在一些实施例中,基于用于获取第二图像的相机的内部参数、从虚拟相机至目标面片的距离、显示窗口的尺寸中的至少一个,调整目标面片的尺寸包括:基于显示窗口的尺寸和相机的内部参数,确定视场角;基于视场角和虚拟相机至目标面片的距离,确定目标面片的调整后的尺寸。
在一些实施例中,该方法还包括:响应于目标对象与用于获取第二图像的相机之间的相对位置发生变化,基于相机的变化后的内部参数,更新以下各项中的至少一项:虚拟相机与第二场景的相对位置、虚拟相机的视场角和目标面片的调整后的尺寸。
在一些实施例中,第二场景包括至少一个虚拟光源,并且该方法还包括:根据第二场景中的至少一个虚拟光源,为目标对象创建相关联的阴影和/或反光。
在一些实施例中,该方法还包括:调整目标对象的图像的颜色参数,使得目标对象的颜色参数与第二场景的颜色参数相匹配,颜色参数包括以下中的至少一项:白平衡、色温、色调、亮度、饱和度。
在一些实施例中,该方法还包括:响应于接收到以第三场景替换第二场景的指令,加载第三场景,使得第三场景的预设基准平面与目标平面重合。
在一些实施例中,该方法还包括:响应于接收到重置第二场景的指令,调整第二场景中的虚拟相机的位置和姿态,使得在虚拟相机拍摄的画面中,第二场景的预设基准平面的高度与目标平面的高度一致,并且使得虚拟相机拍摄的画面与第二场景的预设初始画面一致。
在一些实施例中,基于第一图像,确定第一场景中的目标平面包括:基于第一图像,获取至少一个特征点集合,至少一个特征点集合中的每个特征点集合包括表征一个平面的多个特征点;响应于一个特征点集合中的特征点形成的最大凸包的尺寸大于预设尺寸阈值,将该特征点集合确定为候选特征点集合;在所确定的候选特征点集合中,确定一个候选特征点集合作为目标特征点集合;基于目标特征点集合,确定目标平面。
在一些实施例中,在所确定的候选特征点集合中,确定一个候选特征点集合作为目标特征点集合包括:响应于用户针对一个候选特征点集合的选择操作,将该候选特征点集合确定为目标特征点集合。
在一些实施例中,加载第二场景包括:获取具有预设格式的场景包,场景包包括表征第二场景的场景数据和指定预设基准平面的坐标数据;通过解包场景包来加载第二场景。
在一些实施例中,获取具有预设格式的场景包包括:获取第二场景的场景数据;响应于第二场景的场景数据符合预设规范,基于第二场景的场景数据,生成具有预设格式的场景包;响应于第二场景的场景数据不符合预设规范,呈现提示。
在一些实施例中,基于第二场景的场景数据,生成具有预设格式的场景包包括:烘焙第二场景;对烘焙后的第二场景的场景数据进行压缩和加密,以生成具有预设格式的场景包。
在一些实施例中,获取具有预设格式的场景包包括:获取第二场景的场景数据;向第二场景的场景数据添加具有预设参数的虚拟相机和与虚拟相机相关联的目标面片;基于第二场景的场景数据和所添加的虚拟相机及目标面片,生成场景包。
根据本公开的另一方面,提供了一种图像处理装置,包括:第一获取模块,被配置为获取第一图像,第一图像为包括第一场景的图像;确定模块,被配置为基于第一图像,确定第一场景中的目标平面,目标平面包括在第一图像中检测到的至少一个平面;加载模块,被配置为加载第二场景,使得第二场景的预设基准平面与目标平面重合,预设基准平面为第二场景中的预先设定的平面;第二获取模块,被配置为获取第二图像,第二图像为包括目标对象的图像;提取模块,被配置为从第二图像中提取目标对象的图像;呈现模块,被配置为在第二场景中呈现目标对象的图像。
根据本公开的又一方面,提供了一种计算设备,包括:处理器;以及存储器,配置为在其上存储有计算机可执行指令,计算机可执行指令当在处理器中执行时使得实现如前述方面所提供的方法。
根据本公开的又一方面,提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有计算机可执行指令,当所述计算机可执行指令在计算设备上执行时,使得所述计算设备实现如前述方面所提供的方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机可执行指令,计算机可执行指令在被处理器执行时,使得实现如前述方面所提供的方法。
通过本公开提供的图像处理方法,可以基于所获取的第一图像确定第一场景(例如真实世界中的场景)的目标平面,然后,可以以第二场景替换第一场景,可以根据目标平面加载第二场景(例如预先制作的虚拟场景),并将目标对象的图像呈现到第二场景中。由此,可以实现目标对象与第二场景的融合,或者说,可以实现将目标对象融入第二场景的效果。如此,提供了一种虚实结合的真实感渲染方案,可以实现更为沉浸的虚拟现实交互体验,提供更多的交互可能性,从而有助于增强交互的趣味性,提升用户体验。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示意性示出了可以应用本公开的实施例所提供的技术方案的示例应用场景;
图2示意性示出了根据本公开的一些实施例的图像处理方法的示例流程图;
图3示意性示出了根据本公开的一些实施例的确定目标平面的示例流程图;
图4示意性示出了根据本公开的一些实施例的加载第二场景的示例流程图;
图5A示意性示出了根据本公开的一些实施例的检测目标平面的示例界面;
图5B示意性示出了根据本公开的一些实施例的加载第二场景的示例界面;
图6示例性示出了根据本公开的一些实施例的虚拟相机及目标面片的示意图;
图7示意性示出了根据本公开的一些实施例的在第二场景中呈现目标对象的示例流程图;
图8A和8B示意性示出了根据本公开的一些实施例的示例效果图;
图9示意性示出了根据本公开的一些实施例的获取场景包的示例流程图;
图10示意性示出了根据本公开的另一些实施例的获取场景包的示例流程图;
图11示意性示出了根据本公开的一些实施例的图像处理方法的示例性总体流程图;
图12示意性示出了根据本公开的一些实施例的图像处理装置的示例框图;
图13示意性示出了根据本公开的一些实施例的计算设备的示例框图。
具体实施方式
图1示意性示出了可以应用根据本公开的一些实施例的技术方案的示例应用场景100。
如图1所示,场景100包括终端设备110。本公开所提供的图像处理方案可以部署于终端设备110,并用于将目标对象的图像融合到第二场景中。用户120可以使用终端设备110启用该图像处理方案,并查看融合后的图像,可选地,还可以通过交互操作变换场景、在场景中漫游、保存图像或录制视频等。示例性地,终端设备110包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。本公开实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。示例性地,本公开提供的各种实施例可以用于游戏、视频、全景漫游等各种应用场景。关于终端设备110的具体结构将在后文详细描述,在此不再赘述。
此外,可选地,场景100还可以包括服务器130。在一些实施例中,本公开所提供的图像处理方案也可以部署于服务器130或部分部署于服务器130、部分部署于终端设备110。用户120可以使用终端设备110经由网络150访问服务器130所提供的服务。示例性地,服务器130可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。此外,应理解,服务器130仅作为示例被示出,实际上,也可以替代地或附加地使用其他具有计算能力及存储能力的设备或设备的组合来提供相应的服务。
可选地,场景100还可以包括数据库140。在一些实施例中,实施本公开所提供的图像处理方案所需的数据可以部分或全部存储在数据库140中,例如第二场景的场景数据等,以及实施本公开所提供的图像处理方案后所产生的数据也可以部分或全部存储在数据库140中,例如所获取的第一场景的图像、所获取的目标对象的图像或者用户所录制的视频数据等。类似地,用户120可以通过终端设备110经由网络150获取数据库140中的数据或者向数据库140上传数据。示例性地,数据库140可以是独立的数据存储设备或设备群,或者也可以是与其他在线服务相关的后端数据存储设备或设备群,也可以集成于服务器130上。
在本公开中,网络150可以是经由诸如电缆、光纤等连接的有线网络,也可以是诸如2G、3G、4G、5G、Wi-Fi、蓝牙、ZigBee、Li-Fi等的无线网络,还可以是一个或几个设备的内部连接线路等。
随着相关技术的发展,人们在虚拟世界与现实世界的交互方面进行了诸多探索。例如,在一些应用程序中,允许在拍摄视频或短视频的过程中,自动或手动地将一些虚拟道具摆放在所拍摄的显示场景中。然而,此类技术方案不涉及完整的虚拟场景,不存在将真实对象(例如人物等)融入虚拟场景的效果,无法实现沉浸式的融合效果,更无法实现在虚拟场景中的漫游效果。
基于以上考虑,申请人提出了一种新的图像处理方案,其可以弥补前述技术方案的不足。
示意性地,图2示出了根据本公开的一些实施例的图像处理方法200的示例流程图。示例性地,图像处理方法200可以应用于图1所示的场景100,例如,该方法可以由终端设备110或服务器130单独执行,也可以由终端110和服务器130共同执行。在本公开实施例中,以该方法由终端设备执行为例进行说明。如图所示,图像处理方法200可以包括步骤210至步骤260,具体如下。
在步骤210,可以获取第一图像,第一图像为包括第一场景的图像。示例性地,第一图像可以由相机获取,相机可以是执行图像处理方法200的设备或由与之通信的设备所包括的相机,或者可以是与前述设备通信的单独的相机设备。示例性地,第一场景可以为真实场景,即,真实世界中的场景。换言之,可以通过使用相机拍摄或录制真实场景的图像或视频,来获取第一图像。或者,可选地,第一场景也可以是虚拟场景、真实场景与虚拟场景的结合等。此外,可选地,第一图像也可以获取自存储装置或接收自其他设备,即,第一图像也可以是预先获取并存储的图像或视频数据。
在步骤220,可以基于第一图像,确定第一场景中的目标平面,目标平面包括在第一图像中检测到的至少一个平面。示例性地,目标平面可以是第一场景的水平面。或者,根据具体应用需求,目标平面也可以是其他类型的平面,例如水平平面、竖直平面或具有其他预设角度的平面。目标平面的确定可以通过图像识别手段来实施,例如,可以对第一图像进行图像识别,以检测其中所包含的平面,比如第一场景中的地面、桌面或其他表面,并基于这些表面来确定目标平面。
在步骤230,可以加载第二场景,使得第二场景的预设基准平面与目标平面重合,预设基准平面为第二场景中的预先设定的平面。示例性地,第二场景可以是预先制作或通过其他方式获取的虚拟场景,或者也可以是通过拍摄或录制其他真实场景以及相关图像处理得到的场景。加载第二场景可以指获取第二场景的场景数据,并基于第二场景的场景数据向用户展示第二场景的过程。示例性地,可以预先手动或自动地在第二场景中指定一个平面,作为预设基准平面。
在步骤240,可以获取第二图像,第二图像为包括目标对象的图像。类似于第一图像,第二图像可以由相机获取,相机可以是执行图像处理方法200的设备或由与之通信的设备所包括的相机,或者可以是与前述设备通信的单独的相机设备。或者,第二图像也可以获取自存储装置或接收自其他设备,即,第二图像也可以是预先获取并存储的图像或视频数据。可选地,获取第二图像的方式可以与获取第一图像的方式相同或不同。以及,可选地,第二图像与第一图像可以为同一图像。示例性地,目标对象可以是人物,或者也可以是动物或其他类型的对象。此外,可选地,可以存在一个或多个目标对象。
在步骤250,可以从第二图像中提取目标对象的图像。示例性地,可以通过抠图算法从第二图像中提取目标对象的图像。例如,可以通过基于采样颜色、基于图像梯度等传统抠图算法来提取目标对象的图像,或者也可以通过预训练的机器学习模型来实施这一步骤。
在步骤260,在第二场景中呈现目标对象的图像。示例性地,可以将目标对象的图像作为附加元素添加至第二场景,例如可以将目标对象的图像绘制在第二场景中的某一已有表面或附加表面上。或者,也可以通过其他方式来将目标对象的图像呈现在所加载的第二场景中。
通过图像处理方法200,可以基于所获取的第一图像确定第一场景(例如真实世界中的场景)的目标平面,然后,可以根据目标平面加载第二场景(例如预先制作的虚拟场景),并将目标对象的图像呈现到第二场景中。由此,可以以第二场景替换第一场景,并实现目标对象与第二场景的融合,或者说,可以实现将目标对象融入第二场景的效果。如此,提供了一种虚实结合的真实感渲染方案,可以实现更为沉浸的虚拟现实交互体验,提供更多的交互可能性。
在一些实施例中,步骤220可以通过图3所示的示例流程图来实施。如图3所示,步骤220可以包括步骤221至步骤224,具体如下。
在步骤221,可以基于第一图像,获取至少一个特征点集合,至少一个特征点集合中的每个特征点集合可以包括表征一个平面的多个特征点。示例性地,可以持续基于第一图像检测特征点集合,每个特征点集合可以表征一个平面,例如地面、桌面、建筑表面等各种平面。示例性地,特征点可以是这些表面边缘处的点,或者也可以是这些表面内部的特征点,例如由颜色、纹理等产生的特征点。可选地,可以根据应用需求预先设定仅检测某些类型的平面,例如水平平面、竖直平面或具有某种角度的平面等。
在步骤222,可以响应于一个特征点集合中的特征点形成的最大凸包的尺寸大于预设尺寸阈值,将该特征点集合确定为候选特征点集合。示例性地,由于第一场景中可能存在诸多平面,其中一些较小的平面可能并不适合于放置第二场景,因此,可以对所检测的特征点集合进行筛选,仅将最大凸包尺寸大于预设尺寸阈值的特征点集合确定为候选特征点集合。最大凸包可以指特征点集合中的特征点所能围成的最大形状,该形状可以是预先指定的形状,例如矩形、圆形等,或者也可以是由特征点集合中的部分或全部特征点之间的连线构成的任意形状。可选地,预设尺寸阈值可以包括以下中的一项或多项:预设长度阈值、预设宽度阈值、预设直径阈值、预设面积阈值等。
在步骤223,可以在所确定的候选特征点集合中,确定一个候选特征点集合作为目标特征点集合。示例性地,该确定目标特征点集合的步骤可以自动完成,或者可以由用户手动完成。例如,可以根据预设规则选取目标特征点集合,预设规则例如包括以下中的至少一项:对应的最大凸包具有最大尺寸、目标特征点集合中的部分或全部特征点的坐标满足预设要求等。或者,例如,可以向用户呈现至少一个候选特征点集合,并响应于用户针对一个候选特征点集合的选择操作,将该候选特征点集合确定为所述目标特征点集合。在确定了目标特征点集合后,其余特征点集合可以被释放。可选地,为便于用户选择,可以以候选平面的方式向用户呈现至少一个候选特征点集合。并且,可以持续检测特征点集合(或平面),直至有一个特征点集合(或平面)被确定为目标特征点集合(或目标平面)。
在步骤224,可以基于目标特征点集合,确定目标平面。示例性地,在常规应用需求中,该目标平面通常是地面。然而,根据实际应用需求,目标平面也可以是其他平面。
通过参考图3所描述的平面检测流程,可以便捷准确地确定合适的目标平面,以放置第二场景。
在一些实施例中,第二场景可以具有虚拟相机。该虚拟相机可以用于拍摄第二场景,所拍摄的画面可以通过诸如屏幕、投影仪等的显示装置呈现给用户。当虚拟相机的位置和/或姿态发生变化时,其视野也会随之变化,从而,所拍摄的画面也将变化。在这种实施例中,步骤230可以包括:基于目标平面和第二场景的预设基准平面,调整第二场景中的虚拟相机的位置和姿态,使得在虚拟相机拍摄的画面中,第二场景的预设基准平面的高度与目标平面的高度一致。此外,还可以使得虚拟相机拍摄的画面与第二场景的预设初始画面一致。示例性地,可以调整虚拟相机在第二场景中的坐标,以及调整虚拟相机的姿态角度,例如在三维坐标系中,相对于坐标轴的角度值,使得在其所拍摄到的画面中,第二场景的预设基准平面恰好与所确定的目标平面重合,例如,两者高度坐标可以保持一致。该预设基准平面例如可以是第二场景中的地面,或者,根据具体应用需求,也可以被预设为其他平面。通过使第二场景的预设基准平面与第一场景的目标平面高度一致,可以产生从第一场景到第二场景的自然过渡,更易于产生自然的沉浸感,而不会使得第二场景与第一场景毫无衔接而导致过于突兀的体验。同时,通过这种设计,更易于实现用户与第二场景的自然交互,比如跟随人在第一场景中的移动而改变所呈现的第二场景、跟随人在第一场景中的动作而与第二场景中的对象产生活动等。示例性地,当目标平面为第一场景中的地面,并且预设基准平面为第二场景中的地面时,通过使两者重合,可以产生一种第二场景(例如虚拟场景)放置在第一场景(例如真实场景)的地面上的视觉感受。
此外,关于预设初始画面,其可以由第二场景的制作者或管理者所设定。该预设初始画面可以用作加载第二场景时的初始化画面,还可以用作重置第二场景的基准画面。在一些实施例中,当第二场景与第一场景产生较大偏移时,例如上述预设基准平面与目标平面之间的位移超过预设阈值时,可以自动或手动地重置第二场景。例如,当用户发现第二场景与第一场景出现偏移时,或者在用户因其他因素希望重置第二场景时,可以通过实体或虚拟选项按钮或者输入文字、语音、手势等形式的指令来发起重置第二场景的指令。响应于接收到重置第二场景的指令,可以调整第二场景中的虚拟相机的位置和姿态,使得在虚拟相机拍摄的画面中,第二场景的预设基准平面的高度与目标平面的高度一致,并且使得虚拟相机拍摄的画面与第二场景的预设初始画面一致。在第二场景重置后,可以重新开始针对第二场景的漫游或其他操作。
图4示意性示出了检测目标平面并放置第二场景的示例流程400。在步骤401,可以持续检测平面,若未确定目标平面,则可以继续检测过程,若已确定目标平面,则可以进行至步骤402。目标平面的检测和确定过程可以根据参考图3所描述的各种实施例来实施。在步骤402,可以加载第二场景,随后,在步骤403,可以对虚拟相机进行位移和/或旋转,使得其视角切换至第二场景的预先设置的初始视角。该过程可以根据前文描述的各种实施例来实现。
在一些实施例中,还可以允许更换场景。示例性地,在呈现第二场景的过程中,用户可以选择以第三场景替换第二场景,例如通过选择加载第三场景来发起以第三场景替换第二场景的指令。响应于接收到该指令,可以加载第三场景,使得第三场景的预设基准平面与目标平面重合。类似于第二场景,第三场景可以是预先制作或通过其他方式获取的另一虚拟场景,或者也可以是通过拍摄或录制其他真实场景以及相关图像处理得到的场景。加载第三场景的方式可以与第二场景类似,在此不再赘述。通过允许切换场景,用户可以无缝衔接地在不同场景(例如虚拟场景)下漫游。
示例性地,图5A和5B示意性示出了检测第一场景中的目标平面,基于目标平面放置第二场景的示例界面。
在图5A所示的界面500A中,所呈现的第一场景可以为相机实时拍摄到的真实场景的画面。此时,可以根据前文各种实施例中所描述的方式来确定目标平面(例如地面)。在图5B所示的界面500B中,呈现第二场景,并且第二场景被放置在第一场景的地面上。可选地,当用户手持可移动设备时,可以随着用户移动而变换所呈现的第二场景的画面,这例如可以通过根据设备移动情况调整第二场景中的虚拟相机的位置和姿态来实现。此外,可选地,如图5A和5B所示,用户可以通过场景名称选项501切换不同场景,例如图中所示的“庭院”、“新闻”、“公主房”等,这些场景名称可以根据需求设定。用户还可以通过拍摄按钮502来存储当前显示的画面,例如拍摄界面500A所呈现的真实场景的画面,或者记录界面500B所示呈现的虚拟场景的画面等。此外,用户还可以通过录制选项503来对所呈现的画面进行录制。录制选项503例如包括图中所示的录制游戏(Record Game)、录制视频(Record Video),示例性地,前者可以用于录制游戏情节(本公开的方案可以应用于某些游戏应用),后者可以用于录制漫游视频。另外,还可以提供其他选项。如附图标记504所指示的,使能分割(Enable Seg)可以用于允许对所拍摄的真实场景的画面进行分割,以获取目标对象,并将目标对象的画面呈现在第二场景中;使能颜色(Enable Color)可以用于允许对目标对象的颜色参数进行调整,以与第二场景融合得更为自然;半透明(Translucent)可以用于为第二场景设置透明度,使得第二场景可以呈现半透明状态,叠加在真实场景的画面之上,从而避免用户过度沉浸于第二场景,而忽略真实场景中的情况,以免发生意外;等等。
在一些实施例中,第二场景可以具有虚拟相机和与虚拟相机相关联的目标面片。在这种实施例中,步骤260可以包括:将目标对象的图像绘制到目标面片中,其中,目标面片可以随着虚拟相机的移动而移动。如前文实施例所提及的,虚拟相机可以用于拍摄第二场景,所拍摄的画面可以被呈现给用户。与虚拟相机相关联的面片可以指与虚拟相机联动的小平面,其可以随着虚拟相机的移动而移动,例如,随着虚拟相机的位移和/或姿态变化而移动和/或发生缩放等。通过将目标对象的图像绘制到这种目标面片中,可以实现目标对象随虚拟相机变动而变动的效果,即,可以通过调整虚拟相机的位置/姿态来调整目标对象呈现在第二场景中的位置、角度等。示例性地,将目标对象的图像绘制到目标面片可以指在目标面片上呈现目标对象的图像。可选地,可以对目标对象的图像进行诸如缩放、调色等预处理,随后可以将预处理后的图像复制或剪切到目标面片上。
示意性地,图6示出了一组示例虚拟相机601和相关联的目标面片602。如图所示,目标面片602可以处于虚拟相机601的拍摄视野内,目标面片602与虚拟相机601之间可以保持固定的位置关系,例如保持固定的距离和/或固定的相对角度等。虚拟相机601和目标面片602可以被放置在第二场景中,由此,当在目标面片602上绘制目标对象的图像时,在虚拟相机601所拍摄的图像中,可以看到目标对象被放置在第二场景中。并且,当调整虚拟相机的位置、姿态时,目标对象与第二场景的相对位置也会随之发生改变,从而产生目标对象在第二场景中漫游的效果。
在一些实施例中,将目标对象的图像绘制到目标面片中的过程可以通过以下步骤来实施。首先,基于用于获取第二图像的相机的内部参数、从虚拟相机至目标面片的距离、显示窗口的尺寸中的至少一个,调整目标面片的尺寸。然后,可以将目标对象的图像绘制到调整尺寸后的目标面片上。示例性地,用于获取第二图像的相机的内部参数可以包括以下中的至少一项:焦距、焦点(Focus)、主点(Principle Point),其中,通过焦点和主点可以计算得到焦距。可选地,内部参数还可以包括其他参数。
在一些实施例中,可以通过如下方式来调整目标面片的尺寸:基于显示窗口的尺寸和相机的内部参数,确定视场角;基于视场角和虚拟相机至目标面片的距离,确定目标面片的调整后的尺寸。视场角(FOV,Field of View)可以表征光学仪器(例如相机)的视野范围。显示窗口可以指用于显示第一图像、第二图像和/或第二场景的窗口。
示例性地,可以基于显示窗口的高度(h)和用于获取第二图像的相机的焦距(F)来确定视场角FOV。比如,tan(FOV/2)可以被计算为h/2F。随后,假设虚拟相机至目标面片的距离为d,并且虚拟相机的焦距与用于获取第二图像的相机的焦距一致,则可以确定目标面片的调整后的高度为h’=2*d*tan(FOV/2)。目标面片的调整后的宽度可以类似地计算,或者可以根据显示窗口的高宽比例来确定。比如,若显示窗口的高度(h)和宽度(w)的比例为k=h/w,则目标面片的调整后的宽度可以被计算为w’=h’/k。或者,也可以先计算目标面片调整后的宽度,然后根据显示窗口的长宽比例来确定目标面片调整后的高度。以上描述以显示窗口及目标面片为矩形为例,可以理解,当其为其他形状时(例如圆形等),其尺寸(例如直径等)可以类似地确定。
示例性地,可以根据目标对象在第二图像中的占比,将目标对象的图像绘制到调整尺寸后的目标面片中。除绘制目标对象的图像的区域外,目标面片的其余位置可以保持透明。如此,在虚拟相机拍摄的画面中的目标对象的尺寸可以与目标对象在第二图像中的尺寸保持一致。从而提供更为真实的目标对象与第二场景的融合效果,并实现近大远小的显示效果。
在一些实施例中,响应于目标对象与用于获取第二图像的相机之间的相对位置发生变化,基于相机的变化后的内部参数,更新以下各项中的至少一项:虚拟相机与第二场景的相对位置、虚拟相机的视场角和目标面片的调整后的尺寸。示例性地,目标对象与相机之间的相对位置可能因为目标对象的移动而改变,也可能因相机的移动而改变(例如持有相机的人的位置移动)。可以基于目标对象在第一图像中的位置变化、设备的定位数据等来确定目标对象与相机的相对位置变化。随后,可以根据这种位置变化改变虚拟相机在第二场景中的位置和/或姿态,可以根据前文所述的方法重新计算目标面片的调整后的尺寸,可以根据相机的参数变化来调整虚拟相机的参数(比如视场角),等等。由此,可以产生目标对象在第二场景中漫游的效果,并且该漫游效果与真实世界中的目标对象的移动或相机的移动相关联,这可以带来更为沉浸式的漫游效果。
在一些实施例中,第二场景可以包括至少一个虚拟光源。虚拟光源可以在第二场景中产生光影效果,以增强场景的真实感。在这种实施例中,方法200还可以包括:根据第二场景中的至少一个虚拟光源,为所述目标对象创建相关联的阴影和/或反光。阴影和/或反光的创建可以通过CPU或GPU根据相关技术中的相关算法来创建,例如,可以根据虚拟光源与目标对象的相对距离、相对角度以及阴影所位于的平面或曲面的属性来创建合适的阴影效果及反光效果。通过添加与目标对象相关联的光影效果,可以增加真实感,增强目标对象与第二场景的融合感,提供更为沉浸式的体验。
在一些实施例中,为了使目标对象与第二场景的融合更加自然,更具真实感,可以调整目标对象的图像的颜色参数,使得目标对象的颜色参数与第二场景的颜色参数相匹配。可调整的颜色参数可以包括以下中的至少一项:白平衡、色温、色调、亮度、饱和度。相匹配的标准例如可以指保持一致或差异处于预设阈值范围内,或者可以直观地理解为目标对象与第二场景看起来没有明显的白平衡、色温、色调、亮度或饱和度等方面的差异。示例性地,可以调整目标对象的白平衡,使其与周围第二场景的图像的白平衡相一致;或者,可以调整目标对象的色温、色调,使其与周围第二场景的图像的色温、色调相近;等等。该调整过程可以通过对目标对象的部分或全部像素点的像素值进行调节(例如乘以某系数)来实现,以及示例性地,该调整过程可以借助经训练的机器学习模型来实施。此外,第二场景所呈现的颜色不仅受到场景本身的预设颜色参数的影响,还可能受到场景中虚拟光源的影响。因此,在调整目标对象的图像的颜色参数,使之与第二场景的颜色参数相匹配时,还可以考虑虚拟光源的影响,即,此处所提到的第二场景的颜色参数可以指场景中的表面的预设颜色参数与虚拟光源的影响双重作用下的颜色参数。
图7示意性示出了根据本公开的一些实施例的在第二场景中呈现目标对象的示例流程700。如图7所示,可以向第二场景添加虚拟相机和挂载面片,该过程可以在第二场景的制作或管理过程中实施;可以获取设备屏幕的长宽比例、相机内参和挂载面片与虚拟相机之间的预设距离;随后可以基于所获取的信息计算虚拟相机的FOV(视场角)和挂载面片的调整后的尺寸;接着,可以将获取自第二图像的目标对象的图像(如前文所提及的,该图像可以通过对相机画面进行分割来得到)绘制到缩放后的挂载面片中,至此,可以实现在第二场景中呈现目标对象的效果。接着,为了优化呈现效果,可以根据第二场景的背景颜色和灯光,进行人物的基于图的自适应颜色处理,并可以根据内置灯光进行阴影渲染,如此,可以使得目标对象与第二场景的融合感更为自然、和谐。
示例性地,图8A示意性示出了通过本公开的前述实施例提供的方案来将目标对象融入第二场景的图示。在此,目标对象为人物,第二场景为预先制作的虚拟场景。可见,通过上述技术方案,可以实现将相机拍摄的人物融入虚拟场景的效果。接着,示例性地,图8B示意性示出了经添加阴影、颜色调整等处理的图示。可见,在经过添加阴影、颜色调整等处理后,融入感变得更为真实和自然,有助于提供更为沉浸式的体验。
在一些实施例中,可以通过获取预先生成的场景包来加载第二场景。例如,可以获取具有预设格式的场景包,场景包可以包括表征第二场景的场景数据和指定预设基准平面的坐标数据,随后,可以通过解包场景包来加载第二场景。示例性地,预设格式的场景包可以是从内部或外部存储设备读取的,或者可以是经由网络从服务器或其他计算设备接收的。示例性地,第二场景可以是由用户通过诸如UE4(虚幻引擎)等工具设计得到的虚拟场景,该虚拟场景可以通过打包而被导入实施方法200的应用程序,已备使用;或者,第二场景也可以获取自其他用户或应用程序的管理人员提供的场景包。由此,可以允许多样化的第二场景的获取方式。此外,示例性地,根据本公开的各种实施例提供的图像处理方法可以通过插件形式被添加为UE4的附加功能,从而拓展UE4的功能,其中,插件可以指开发者可在编辑器中逐项目启用或禁用的代码和数据集合。
在一些实施例中,第二场景的场景包可以通过如下方式被打包:首先,可以获取第二场景的场景数据;然后,响应于第二场景的场景数据符合预设规范,可以基于第二场景的场景数据,生成具有预设格式的场景包;或者,响应于第二场景的场景数据不符合预设规范,可以呈现提示。示例性地,预设规范可以包括以下各项中的至少一项:场景数据的格式是否是可支持的格式、场景数据是否包含预设基准平面、是否包含指定的虚拟相机和挂载面片等。预设格式的场景包可以是Pak格式或其他格式,其中Pak格式是一种压缩文件格式,可以将多个文件按照特殊格式压缩成一个文件,并允许利用不同加密算法进行加密,也允许通过不同压缩算法进行压缩。示例性地,当第二场景的场景数据不符合预设规范时,可以呈现提示,提示用户进行修改,并且可选地,可以提示不符合预设规范的具体方面,以便用户有针对性地进行修改。示例性地,当第二场景的场景数据符合预设规范时,可以基于其生成具有预设格式的场景包,以备后续使用。在生成场景包时,可以烘焙第二场景,并对烘焙后的第二场景的场景数据进行压缩和加密,以生成具有预设格式的场景包。烘焙可以包括预先对第二场景中的部分或全部光影效果进行计算,并记录在第二场景的场景数据中,例如记录在相应的贴图数据中。当第二场景中存在一个或多个虚拟光源时,其会在其他物体表面上形成光影效果。一般而言,可以在运行第二场景时实时计算这些光影效果,然而,这可能消耗大量CPU或GPU处理资源。通过预先烘焙第二场景,可以大大降低运行第二场景时所占用的计算资源,从而有助于节约处理资源,并避免卡顿,提升运行流畅度。可选地,压缩和加密可以通过任何合适的方式来进行。压缩有助于降低传输场景包所需带宽,并降低存储场景包所需的存储空间,加密可以提升场景包在存储和传输过程中的安全性。
示例性地,图9示出了根据上述实施例的获取第二场景的场景数据并进行打包的示意流程900。如图所示,在获取第二场景的场景数据后,可以判断其是否符合规范,若否,则给出提示;若是,则进行压缩、加密打包成Pak格式的场景包,例如图中所示的“庭院.pak”。
在一些实施例中,在获取第二场景的场景数据后,可以自动或提示用户手动添加具有预设参数的虚拟相机和与虚拟相机相关联的目标面片,然后,可以基于第二场景的场景数据和所添加的虚拟相机及目标面片,生成场景包。如此,亦可以获取符合预设格式的场景包。
示例性地,图10示出了根据上述实施例的获取第二场景的场景数据并进行处理和打包的示意流程1000。如图所示,在获取第二场景的场景数据后,可以向其添加指定的虚拟相机和挂载的面片,并进行坐标对齐,即,指定预设基准平面并为预设基准平面设定指定坐标。如此,可以生成规范化的场景数据。随后可以基于规范化的场景数据,通过烘焙、压缩、加密等步骤生成Pak格式的场景包。
示意性地,图11示出了根据本公开的一些实施例的图像处理方法的示例性总体流程1100。如图所示,在步骤1101,可以持续检测水平面,并判断检测到的特征点的集合所形成的最大凸包是否超过预设尺寸阈值,其中特征点的集合可以表征水平面。针对某个所检测到的特征点的集合,若其所形成的最大凸包的尺寸未超过预设阈值,则在步骤1102,可以不将其加入候选水平面;若超过,则在步骤1103,将其加入候选水平面,并自动或手动选择合适的水平面,该合适的水平面可以作为目标平面。通过步骤1101至1103,可以实现目标平面(目标水平面)的确定。在步骤1104,可以获取第二场景的场景数据,若该场景数据不符合预设规范,则在步骤1105给出提示,以便用户修改场景数据;若符合,则在步骤1106,通过压缩、加密等将场景数据打包成Pak场景包(或其他格式的场景包)。通过步骤1104至步骤1106,可以获取具有预设格式的场景包。在确定了目标平面后,可以加载第二场景的场景包,并在步骤1107进行虚拟相机的旋转、平移操作,使得在虚拟相机的视野中,第二场景的预设基准平面的高度可以与目标平面一致。在步骤1108,可以通过在目标面片上绘制目标对象(诸如人物)的图像,并进行自适应颜色校正、生成阴影等操作,以增加真实感。诸如人物的目标对象的图像可以通过对相机所拍摄的画面进行抠图来得到。
根据本公开的一些实施例,还提供了一种图像处理装置。图12示意性示出了图像处理装置1200的示例框图。如图12所示,图像处理装置1200包括第一获取模块1210、确定模块1220、加载模块1230、第二获取模块1240、提取模块1250、呈现模块1260。
具体而言,第一获取模块1210可以被配置为获取第一图像,第一图像为包括第一场景的图像;确定模块1220可以被配置为基于第一图像,确定第一场景中的目标平面,目标平面包括在第一图像中检测到的至少一个平面;加载模块1230可以被配置为加载第二场景,使得第二场景的预设基准平面与目标平面重合,预设基准平面为第二场景中的预先设定的平面;第二获取模块1240可以被配置为获取第二图像,第二图像为包括目标对象的图像;提取模块1250可以被配置为从第二图像中提取目标对象的图像;呈现模块1260可以被配置为在第二场景中呈现目标对象的图像。
应理解,图像处理装置1200可以以软件、硬件或软硬件相结合的方式实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
此外,图像处理装置1200可以用于实施前文所描述的图像处理方法200,其相关细节已经在前文中详细描述,为简洁起见,在此不再重复。图像处理装置1200可以具有与关于前述方法描述的相同的特征和优势。
图13示意性示出了根据本公开的一些实施例的计算设备1300的示例框图。计算设备1300例如可以代表图1中的终端设备110或服务器130,或者也可以代表可以用于部署本公开提供的装置1200的其他类型的计算设备。
如图所示,示例计算设备1300包括彼此通信耦合的处理系统1301、一个或多个计算机可读介质1302以及一个或多个I/O接口(输入/输出接口)1303。尽管未示出,但是计算设备1300还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线,或者还可以包括诸如控制和数据线。
处理系统1301代表使用硬件执行一个或多个操作的功能。因此,处理系统1301被图示为包括可被配置为处理器、功能块等的硬件元件1304。这可以包括在硬件中实现专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1304不受其形成材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1302被图示为包括存储器/存储装置1305。存储器/存储装置1305表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1305可以包括易失性存储介质(诸如随机存取存储器(RAM))和/或非易失性存储介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1305可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1305可以用于存储上文实施例中提及的各种图像数据、场景数据等。计算机可读介质1302可以以下面进一步描述的各种其他方式进行配置。
一个或多个I/O接口1303代表允许用户向计算设备1300键入命令和信息并且还允许使用各种输入/输出设备将信息呈现给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,显示器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,可以通过输入设备允许用户执行各种交互操作,可以通过输出设备允许用户观看所拍摄的画面、所呈现的场景等。
计算设备1300还包括图像处理应用1306。图像处理应用1306可以作为计算程序指令存储在存储器/存储装置1305中。图像处理应用1306可以连同处理系统1301等一起实现关于图12描述的装置1200的各个模块的全部功能。
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1300访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1300的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件1304和计算机可读介质1302代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1304体现的一个或多个指令和/或逻辑。计算设备1300可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1304,可以至少部分地以硬件来实现将模块实现为可由计算设备1300作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备1300和/或处理系统1301执行/可操作以实现本文所述的技术、模块和示例。
本文描述的技术可以由计算设备1300的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
应当理解,为清楚起见,参考不同的功能单元对本公开的实施例进行了描述。然而,将明显的是,在不偏离本公开的情况下,每个功能单元的功能性可以被实施在单个单元中、实施在多个单元中或作为其它功能单元的一部分被实施。例如,被说明成由单个单元执行的功能性可以由多个不同的单元来执行。因此,对特定功能单元的参考仅被视为对用于提供所描述的功能性的适当单元的参考,而不是表明严格的逻辑或物理结构或组织。因此,本公开可以被实施在单个单元中,或者可以在物理上和功能上被分布在不同的单元和电路之间。
本公开提供了一种计算机可读存储介质,其上存储有计算机可执行指令,计算机可执行指令在被执行时实现上述图像处理方法。
本公开提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机可执行指令,该计算机可执行指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该计算设备执行上述各种实施例中提供的图像处理方法。
通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除其他元件或步骤,并且“一”或“一个”不排除多个。在相互不同的从属权利要求中记载某些措施的纯粹事实并不表明这些措施的组合不能用来获利。
Claims (20)
1.一种图像处理方法,包括:
获取第一图像,所述第一图像为包括第一场景的图像;
基于所述第一图像,确定所述第一场景中的目标平面,所述目标平面包括在所述第一图像中检测到的至少一个平面;
加载第二场景,使得所述第二场景的预设基准平面与所述目标平面重合,所述预设基准平面为所述第二场景中的预先设定的平面;
获取第二图像,所述第二图像为包括目标对象的图像;
从所述第二图像中提取所述目标对象的图像;
在所述第二场景中呈现所述目标对象的图像。
2.根据权利要求1所述的方法,其中,所述第二场景具有虚拟相机,所述加载第二场景,使得所述第二场景的预设基准平面与所述目标平面重合包括:
基于所述目标平面和所述第二场景的预设基准平面,调整所述第二场景中的虚拟相机的位置和姿态,使得在所述虚拟相机拍摄的画面中,所述第二场景的预设基准平面的高度与所述目标平面的高度一致,并且使得所述虚拟相机拍摄的画面与所述第二场景的预设初始画面一致。
3.根据权利要求1所述的方法,其中,所述第二场景具有虚拟相机和与所述虚拟相机相关联的目标面片,所述在所述第二场景中呈现所述目标对象的图像包括:
将所述目标对象的图像绘制到所述目标面片中,其中,所述目标面片随着所述虚拟相机的移动而移动。
4.根据权利要求3所述的方法,其中,所述将所述目标对象的图像绘制到所述目标面片中包括:
基于用于获取所述第二图像的相机的内部参数、从所述虚拟相机至所述目标面片的距离、显示窗口的尺寸中的至少一个,调整所述目标面片的尺寸;
将所述目标对象的图像绘制到调整尺寸后的目标面片上。
5.根据权利要求4所述的方法,其中,所述基于用于获取所述第二图像的相机的内部参数、从所述虚拟相机至所述目标面片的距离、显示窗口的尺寸中的至少一个,调整所述目标面片的尺寸包括:
基于所述显示窗口的尺寸和所述相机的内部参数,确定视场角;
基于所述视场角和所述虚拟相机至所述目标面片的距离,确定所述目标面片的调整后的尺寸。
6.根据权利要求4或5所述的方法,还包括:
响应于所述目标对象与用于获取所述第二图像的相机之间的相对位置发生变化,基于所述相机的变化后的内部参数,更新以下各项中的至少一项:所述虚拟相机与所述第二场景的相对位置、所述虚拟相机的视场角和所述目标面片的调整后的尺寸。
7.根据权利要求1所述的方法,其中,所述第二场景包括至少一个虚拟光源,所述方法还包括:
根据所述第二场景中的至少一个虚拟光源,为所述目标对象创建相关联的阴影和/或反光。
8.根据权利要求1所述的方法,还包括:
调整所述目标对象的图像的颜色参数,使得所述目标对象的颜色参数与所述第二场景的颜色参数相匹配,所述颜色参数包括以下中的至少一项:白平衡、色温、色调、亮度、饱和度。
9.根据权利要求1所述的方法,还包括:
响应于接收到以第三场景替换所述第二场景的指令,加载所述第三场景,使得所述第三场景的预设基准平面与所述目标平面重合。
10.根据权利要求1所述的方法,还包括:
响应于接收到重置所述第二场景的指令,调整所述第二场景中的虚拟相机的位置和姿态,使得在所述虚拟相机拍摄的画面中,所述第二场景的预设基准平面的高度与所述目标平面的高度一致,并且使得所述虚拟相机拍摄的画面与所述第二场景的预设初始画面一致。
11.根据权利要求1所述的方法,其中,所述基于所述第一图像,确定所述第一场景中的目标平面包括:
基于所述第一图像,获取至少一个特征点集合,所述至少一个特征点集合中的每个特征点集合包括表征一个平面的多个特征点;
响应于一个特征点集合中的特征点形成的最大凸包的尺寸大于预设尺寸阈值,将该特征点集合确定为候选特征点集合;
在所确定的候选特征点集合中,确定一个候选特征点集合作为目标特征点集合;
基于所述目标特征点集合,确定所述目标平面。
12.根据权利要求11所述的方法,其中,所述在所确定的候选特征点集合中,确定一个候选特征点集合作为目标特征点集合包括:
响应于用户针对一个候选特征点集合的选择操作,将该候选特征点集合确定为所述目标特征点集合。
13.根据权利要求1所述的方法,其中,所述加载第二场景包括:
获取具有预设格式的场景包,所述场景包包括表征所述第二场景的场景数据和指定所述预设基准平面的坐标数据;
通过解包所述场景包来加载所述第二场景。
14.根据权利要求13所述的方法,其中,所述获取具有预设格式的场景包包括:
获取所述第二场景的场景数据;
响应于所述第二场景的场景数据符合预设规范,基于所述第二场景的场景数据,生成具有所述预设格式的场景包;
响应于所述第二场景的场景数据不符合预设规范,呈现提示。
15.根据权利要求14所述的方法,其中,所述基于所述第二场景的场景数据,生成具有所述预设格式的场景包包括:
烘焙所述第二场景;
对烘焙后的第二场景的场景数据进行压缩和加密,以生成具有所述预设格式的场景包。
16.根据权利要求13所述的方法,其中,所述获取具有预设格式的场景包包括:
获取所述第二场景的场景数据;
向所述第二场景的场景数据添加具有预设参数的虚拟相机和与所述虚拟相机相关联的目标面片;
基于所述第二场景的场景数据和所添加的虚拟相机及目标面片,生成所述场景包。
17.一种图像处理装置,包括:
第一获取模块,被配置为获取第一图像,所述第一图像为包括第一场景的图像;
确定模块,被配置为基于所述第一图像,确定所述第一场景中的目标平面,所述目标平面包括在所述第一图像中检测到的至少一个平面;
加载模块,被配置为加载第二场景,使得所述第二场景的预设基准平面与所述目标平面重合,所述预设基准平面为所述第二场景中的预先设定的平面;
第二获取模块,被配置为获取第二图像,所述第二图像为包括目标对象的图像;
提取模块,被配置为从所述第二图像中提取所述目标对象的图像;
呈现模块,被配置为在所述第二场景中呈现所述目标对象的图像。
18. 一种计算设备,包括:
处理器;以及
存储器,配置为在其上存储有计算机可执行指令,所述计算机可执行指令当在所述处理器中执行时使得实现如权利要求1-16中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,当所述计算机可执行指令在计算设备上执行时,使得所述计算设备实现如权利要求1-16中任一项所述的方法。
20.一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在被处理器执行时,使得实现根据权利要求1至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211019416.9A CN117670691A (zh) | 2022-08-24 | 2022-08-24 | 图像处理方法及装置、计算设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211019416.9A CN117670691A (zh) | 2022-08-24 | 2022-08-24 | 图像处理方法及装置、计算设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117670691A true CN117670691A (zh) | 2024-03-08 |
Family
ID=90077348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211019416.9A Pending CN117670691A (zh) | 2022-08-24 | 2022-08-24 | 图像处理方法及装置、计算设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117670691A (zh) |
-
2022
- 2022-08-24 CN CN202211019416.9A patent/CN117670691A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10516870B2 (en) | Information processing device, information processing method, and program | |
US10182187B2 (en) | Composing real-time processed video content with a mobile device | |
US10692288B1 (en) | Compositing images for augmented reality | |
US10198846B2 (en) | Digital Image Animation | |
US20230377189A1 (en) | Mirror-based augmented reality experience | |
KR102624635B1 (ko) | 메시징 시스템에서의 3d 데이터 생성 | |
US9392248B2 (en) | Dynamic POV composite 3D video system | |
WO2018222499A1 (en) | Methods and systems for generating a merged reality scene based on a virtual object and on a real-world object represented from different vantage points in different video data streams | |
US20180276882A1 (en) | Systems and methods for augmented reality art creation | |
CN106730815B (zh) | 一种易实现的体感互动方法及系统 | |
EP3090424A1 (en) | Assigning virtual user interface to physical object | |
CN113806036A (zh) | 虚拟内容的输出 | |
CN112105983B (zh) | 增强的视觉能力 | |
US10582125B1 (en) | Panoramic image generation from video | |
US11887251B2 (en) | System and techniques for patch color correction for an immersive content production system | |
CN113965773A (zh) | 直播展示方法和装置、存储介质及电子设备 | |
US11978154B2 (en) | System and techniques for lighting adjustment for an immersive content production system | |
CN113110731B (zh) | 媒体内容生成的方法和装置 | |
CN116457821A (zh) | 使用神经网络的对象重新照明 | |
CN113411537A (zh) | 视频通话方法、装置、终端及存储介质 | |
KR102140077B1 (ko) | 서버, 사용자 단말 장치 및 그 제어 방법 | |
CN117670691A (zh) | 图像处理方法及装置、计算设备、存储介质 | |
CN113194329B (zh) | 直播互动方法、装置、终端及存储介质 | |
CN116055708B (zh) | 一种感知可视交互式球幕三维立体成像方法及系统 | |
US20240071008A1 (en) | Generating immersive augmented reality experiences from existing images and videos |
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 |