CN109427085B - 一种图像数据的处理、渲染方法、服务器及客户端 - Google Patents
一种图像数据的处理、渲染方法、服务器及客户端 Download PDFInfo
- Publication number
- CN109427085B CN109427085B CN201710756918.2A CN201710756918A CN109427085B CN 109427085 B CN109427085 B CN 109427085B CN 201710756918 A CN201710756918 A CN 201710756918A CN 109427085 B CN109427085 B CN 109427085B
- Authority
- CN
- China
- Prior art keywords
- image
- image data
- planar
- panoramic
- data
- 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
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000003672 processing method Methods 0.000 title description 7
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005520 cutting process Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 abstract description 8
- 238000012986 modification Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 15
- 230000000007 visual effect Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施方式公开了一种图像数据的处理、渲染方法、服务器及客户端,其中,所述图像数据的提供方法包括:将图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并确定所述全景图像中待修改的区域图像;获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖;将所述平面图像的信息以及所述目标位置的信息确定为与所述图像数据相关联的平面图像数据。本申请提供的技术方案,能够提高图像修改的效率,并且降低图像修改的成本。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种图像数据的处理、渲染方法、服务器及客户端。
背景技术
随着图像处理技术的不断发展,全景图像由于具备较完善的图像信息以及能够使用户产生沉浸式的观赏体验,越来越受到用户的青睐。
当前,在制作全景图像时,通常可以通过多个分别朝向不同方位的拍摄设备拍摄全景图像中的一部分图像,然后可以将拍摄得到的各部分图像进行拼接,从而可以得到完整的全景图像。
在拍摄过程中,通常需要精细地调节各个拍摄设备的位置、朝向以及聚焦,从而使得后续在拼接时,能够得到完整的全景图像。此外,在进行图像拼接时,还需要采用特定的算法,将拼接后在全景图像中可能出现的“鬼影”去除。
当前制作全景图像的过程相当复杂,从而导致全景图像的制作成本也较高。目前,如果需要对全景图像中的部分图像进行修改,那么通常需要重新拍摄整张全景图像。由此可见,当前需要一种能够提高图像修改效率的方法。
发明内容
本申请实施方式的目的是提供一种图像数据的处理、渲染方法、服务器及客户端,能够在不需要重新拍摄全景图像的情况下,对全景图像中的部分图像进行修改,从而提高全景图像修改的效率,并且降低全景图像修改的成本。
为实现上述目的,本申请一方面提供一种图像数据的处理方法,所述方法包括:将图像数据渲染为全景图像,并确定所述全景图像中待修改的区域图像;所述全景图像与指定观测点相对应;获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖;将所述平面图像以及所述目标位置确定为与所述图像数据相关联的平面图像数据,以使得在加载所述图像数据时渲染所述图像数据和所述平面图像数据。
为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:将图像数据渲染为全景图像,并确定所述全景图像中待修改的区域图像;所述全景图像与指定观测点相对应;获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖;将所述平面图像以及所述目标位置确定为与所述图像数据相关联的平面图像数据,以使得在加载所述图像数据时渲染所述图像数据和所述平面图像数据。
为实现上述目的,本申请另一方面还提供一种图像数据的渲染方法,所述方法包括:向服务器发送图像加载请求,所述图像加载请求指向所述服务器中的图像数据,其中,所述图像数据与所述服务器中的平面图像数据相关联;所述平面图像数据表征的平面图像用于修复所述图像数据表征的全景图像中的部分图像;接收所述服务器反馈的所述图像数据以及所述平面图像数据;将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。
为实现上述目的,本申请另一方面提供一种客户端,所述客户端包括网络通信端口、显示器以及处理器,其中:所述网络通信端口,用于向服务器发送图像加载请求并且接收所述服务器反馈的图像数据;所述显示器,用于根据所述图像数据显示相应的图像;所述处理器,用于控制所述网络通信端口向所述服务器发送图像加载请求,所述图像加载请求指向所述服务器中的图像数据,其中,所述图像数据与所述服务器中的平面图像数据相关联;所述平面图像数据表征的平面图像用于修复所述图像数据表征的全景图像中的部分图像;通过所述网络通信端口接收所述服务器反馈的所述图像数据以及所述平面图像数据;将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像,并在所述显示器中显示渲染得到的图像。
由上可见,本申请实施方式提供的一种图像数据的处理、渲染方法、服务器及客户端,在需要对全景图像中的部分图像进行修改时,可以利用平面图像对所述部分图像进行覆盖。具体地,可以先根据全景图像数据渲染出以指定观测点为中心的全景图像,然后可以在所述指定观测点和所述全景图像之间渲染出所述平面图像。这样,从所述指定观测点观测该全景图像中需要被修改的图像时,该图像会被平面图像遮挡,平面图像中显示的内容就是指定观测点观测到的内容。这样,通过平面图像覆盖的方式,不仅不需要重新拍摄全景图像,还能够从视觉效果上实现对全景图像的修改。由于拍摄平面图像过程相当迅速并且成本相当低廉,从而使得本申请提供的技术方案能够提高全景图像修改的效率,并且降低全景图像修改的成本。
附图说明
为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施方式中图像数据的交互流程图;
图2为本申请实施方式中平面图像与全景图像的示意图;
图3为本申请实施方式中平面图像数据的确定方法流程图;
图4为本申请实施方式中主线程和子线程的处理流程图;
图5为本申请实施方式中服务器的结构示意图;
图6为本申请实施方式中平面图像的渲染流程图;
图7为本申请实施方式中客户端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。
本申请实施方式提供一种图像数据的处理和渲染方法,所述处理和渲染方法可以分别应用于服务器和客户端的系统架构中。所述服务器可以是存储图像数据并可以对所述图像数据进行处理的设备。具体地,所述服务器可以是能够提供图像或者视频服务的网站的后台业务服务器。在本实施方式中,所述服务器还可以是制作图像的人员使用的调试设备。在所述调试设备中,可以安装用于处于处理图像数据和平面图像数据的软件。通过所述调试设备,可以将图像数据进行预渲染,并且可以在图像所在的空间坐标系中渲染出平面图像,并且对平面图形进行位置调整、裁剪、缩放等操作,以得到能够提供给客户端的图像数据和平面图像数据。在本实施方式中,所述服务器可以为一个具有数据运算、存储功能以及网络交互功能的电子设备;也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件。在本实施方式中并不具体限定所述服务器的数量。所述服务器可以为一个服务器,还可以为几个服务器,或者,若干服务器形成的服务器集群。
在本实施方式中,所述客户端可以是用于渲染图像的电子设备。具体地,所述客户端例如可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机等。或者,所述客户端也可以为能够运行于上述电子设备中的软件。具体的,所述客户端可以为电子设备中的浏览器,所述浏览器中可以加载图像/视频网站平台提供的访问入口,所述访问入口可以是上述网站平台的首页。所述客户端还可以为图像/视频网站平台提供的在智能终端中运行的应用。
本申请实施方式提供一种图像数据的提供方法,该方法可以应用于所述服务器中。在本实施方式中,所述服务器中可以提供有图像数据库。所述图像数据库可以是存储图像数据的数据集。所述图像数据库可以采用MySQL、Oracle、DB2、Sybase等数据库格式中的任意一种。所述图像数据库可以部署在服务器中的存储介质上。
在本实施方式中,所述图像数据库中可以存储各种图像数据。所述图像数据库中的每个图像数据可以具备各自的数据标识。所述数据标识与图像数据之间可以通过key-value(键值对)的形式进行存储,这样,通过提供的数据标识,便可以从所述图像数据库中获取到对应的图像数据。
在本实施方式中,所述图像数据可以通过绘图标准绘制为图像。所述绘图标准例如可以是Open GL标准、WebGL标准等。所述图像可以是全景图像,所述全景图像可以与指定观测点相对应。所述指定观测点可以是观测所述图像的中心点,所述指定观测点观测到的图像可以展示于显示器上,以供用户观看。用户通过与显示器或者显示器的输入设备进行交互,可以改变所述指定观测点的视角。例如,用户在显示器上施加向右滑动的手势时,所述指定观测点的视角也可以相应地向右偏转,从而可以在显示器上显示图像中右侧的图像信息。
在本实施方式中,所述图像数据库中的部分图像数据对应的图像需要修改,修改的原因可能是图像中有部分图像存在瑕疵,也可能是需要在原有的图像中增加一些额外的图像信息。在本实施方式中,这部分需要修改的图像数据可以与平面图像数据相关联。在本实施方式中,所述平面图像数据同样可以通过上述的绘图标准绘制得到平面图像。所述平面图像可以位于所述指定观测点与所述图像数据表征的全景图像之间,这样,从所述指定观测点观测全景图像时,视线会被平面图像遮挡,从而使得平面图像中的内容可以覆盖全景图像中的部分内容,从而通过平面图像对全景图像中的部分内容进行修改。
在本实施方式中,所述全景图像可以是宽景图像,也可以是360°全景图像,本申请对此并不做限定。
请参阅图3,本申请实施方式提供的一种图像数据的处理方法可以包括以下步骤。
S21:将图像数据渲染为全景图像,并确定所述全景图像中待修改的区域图像;所述全景图像与指定观测点相对应。
在本实施方式中,当制作的图像数据表征的全景图像中存在需要修复的瑕疵或者需要添加定制内容时,可以对所述全景图像中的部分图像进行修改。该待修改的图像便可以是所述的区域图像。
在本实施方式中,由于所述区域图像是所述全景图像的一部分,因此所述区域图像可以是一个全景图像。为了便于修复,该全景图像可以具备规则的形状。具体地,所述区域图像可以通过四个空间坐标来确定。所述四个空间坐标可以分别作为所述区域图像的四个顶点。相邻两个顶点之间可以沿着所述全景图像的表面以经度或者纬度的方向进行连线,从而可以得到四条边为曲线的全景图像。这样,确定的所述区域图像便可以通过空间坐标来表示。
S23:获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖。
在本实施方式中,在确定了待修改的区域图像之后,可以针对所述区域图像,获取与其相适配的平面图像。其中,所述平面图像与所述区域图像相适配可以包括所述平面图像中展示的内容与所述区域图像中的内容相同;或者所述平面图像中展示的内容包含所述区域图像中的内容。具体地,如果所述区域图像是由于存在瑕疵需要修复,则可以拍摄一张清晰的无瑕疵的平面图像,该平面图像与所述区域图像中展示的内容可以是一致的。此外,如果所述区域图像本身是清晰的,但需要对其中的部分内容进行改动。例如,所述区域图像展示的是一棵树,目前想要在这棵树下添加一个人。那么在这种情况下,可以拍摄一张树下添加了人物的平面图像。
在本实施方式中,在获取了所述平面图像之后,为了保证所述平面图像在视觉效果上能够与所述全景图像相吻合,可以预先在同一个空间坐标系中渲染出所述全景图像以及所述平面图像。然后可以将所述平面图像在所述指定观测点和所述全景图像之间进行调节,以确定所述平面图像的最佳位置。具体地,在对所述平面图像进行调节时,可以通过在所述空间坐标系中设定空间坐标的方式来实现。具体地,可以在所述空间坐标系中设定四个坐标值,这四个坐标值可以分别表示所述平面图像的四个顶点。这样,在设定了所述四个坐标值后,所述平面图像便可以被调节至所述四个坐标值限定的区域处。在本实施方式中,可以按照指定的步进间隔,逐步向靠近或者远离所述指定观测点的方向移动所述平面图像,直至从所述指定观测点观测所述全景图像时,所述区域图像被所述平面图像覆盖为止。在本实施方式中,可以将所述区域图像刚好能够被所述平面图像覆盖时所述平面图像所处的位置作为最佳的位置。该最佳的位置便可以是所述的目标位置。这样,从所述指定观测点观测所述全景图像时,所述区域图像可以被处于所述目标位置处的所述平面图像覆盖。
在本实施方式中,在获取了所述平面图像以及确定了所述平面图像的目标位置之后,可以将所述平面图像的信息以及所述目标位置的信息作为与所述图像数据相关联的平面图像数据。具体地,所述平面图像的信息中可以包括所述平面图像中各个像素点的像素值以及各个像素点在所述平面图像中所处的位置。这样,客户端便可以通过绘图标准将所述平面图像的信息渲染为所述平面图像。所述目标位置可以通过空间坐标来表示,因此所述目标位置的信息可以是能够表征所述目标位置的空间坐标值。通过所述目标位置的信息,可以在空间坐标系中确定所述平面图像所处的空间坐标值。
S25:将所述平面图像以及所述目标位置确定为与所述图像数据相关联的平面图像数据;其中,在所述图像数据被请求加载的情况下,向请求加载方提供所述图像数据以及与所述图像数据相关联的平面图像数据,以使得所述请求加载方渲染所述图像数据和所述平面图像数据。
在本实施方式中,在获取了与所述图像数据相关联的平面图像数据之后,可以将所述平面图像数据写入图像数据库中,并将所述图像数据和所述平面图像数据关联存储。这样,后续在向客户端反馈所述图像数据时,可以一并反馈所述平面图像数据,从而可以使得所述平面图像数据表征的平面图像能够覆盖所述图像数据表征的全景图像中待处理的区域图像。
在本实施方式中,在确定了用于修复所述图像数据的平面图像数据之后,可以将所述平面图像数据和所述平面数据进行关联存储,形成所述平面图像数据和所述图像数据的组合。为了能够展示修复之后的图像,可以将所述平面图像数据和所述图像数据的组合替换原先的图像数据。这样,在需要展示所述图像数据表征的全景图像时,可以将所述图像数据以及所述平面图像数据一并渲染,这样,从指定观测点观测所述全景图像时,需要修复的部分会被平面图像遮挡住,从视觉效果上来看,可以观看到修复后的全景图像。具体地,在所述图像数据被请求加载的情况下,服务器可以向请求加载方提供所述图像数据以及与所述图像数据相关联的平面图像数据。这样,请求加载方在接收到所述服务器反馈的数据之后,便可以基于绘图标准将数据渲染为相应的图像。请求加载方可以在空间坐标系中渲染所述图像数据,从而得到所述图像数据表征的全景图像。该全景图像可以具备指定观测点。
在本实施方式中,请求加载方在渲染得到所述图像数据表征的全景图像之后,可以继续对所述平面图像数据进行渲染。具体地,所述平面图像数据渲染得到的平面图像与所述全景图像可以处于同一个空间坐标系中。在本实施方式中,所述平面图像数据中可以包括渲染数据,所述渲染数据可以用于基于绘图标准,绘制得到对应的平面图像。所述平面图像数据中还可以包括位置数据。所述位置数据用于确定绘制得到的平面图像在所述空间坐标系中所处的位置。具体地,所述位置数据可以通过空间坐标来表示。所述空间坐标可以包括所述平面图像的四个顶点的坐标值。通过所述空间坐标,可以限定所述平面图像在所述空间坐标系中的平面位置。这样,请求加载方便可以将根据渲染数据绘制得到的平面图像固定于所述位置数据限定的目标位置处。
请参阅图1和图3,本申请在确定了与图像数据相关联的平面图像数据后,还可以包括以下步骤。
步骤S1:接收客户端发来的图像加载请求,所述图像加载请求指向目标图像数据。
在本实施方式中,所述客户端中可以展示图像的链接。所述链接可以是文字链接、图片链接或者视频链接。用户通过点击该链接,从而可以向所述服务器发送图像加载请求。此外,用户还可以在所述客户端中输入指向所述图像数据的统一资源定位符(UniformResource Locator,URL),从而根据所述URL向所述服务器发送图像加载请求。当然,用户还可以通过多种方式触发所述图像的链接,这些方式包括但不限于扫码、多模互动、基于穿戴设备的传感器等方式。
在本实施方式中,所述图像加载请求可以是按照预设规则进行编写的字符串。其中,所述预设规则可以是所述客户端与所述服务器之间遵循的网络通信协议。例如,所述图像加载请求可以是按照HTTP协议进行编写的字符串。所述预设规则可以限定图像加载请求中的各个组成部分以及各个组成部分之间的排列顺序。例如,所述图像加载请求中可以包括请求标识字段、源IP地址字段以及目的IP地址字段。所述请求标识字段可以填充所述图像数据的标识。所述源IP地址字段可以填写所述客户端的IP地址,所述目标IP地址字段可以填写所述服务器的IP地址。这样,所述图像加载请求便可以从所述客户端发送至所述服务器处。
在本实施方式中,所述图像加载请求指向所述图像数据可以指所述图像加载请求中携带所述图像数据的标识。这样,服务器接收到所述图像加载请求后,可以从所述图像加载请求中提取所述图像数据的标识。在提取出所述图像数据的标识后,所述服务器可以从所述图像数据库中读取具备所述标识的图像数据。
在本实施方式中,根据所述图像加载请求中携带的标识读取的图像数据,其表征的图像中可以具备需要修改的部分图像。该需要修改的部分图像可以通过平面图像覆盖的方式来实现。因此,所述图像数据可以与平面图像数据相关联。所述图像数据与平面图像数据相关联可以体现在:所述图像数据的标识与所述平面图像数据的标识通过键值对的方式存储。这样,通过其中一个标识,便可以查询得到另一个标识。此外,所述图像数据与平面图像数据相关联还可以体现在:所述平面图像数据的标识为所述图像数据的标识的子标识。所述子标识中可以包括所述图像数据的标识,同时所述子标识中还可以包括用于将所述平面图像数据与其它平面图像数据相区分的标识。例如,所述图像数据的标识为T-1,那么所述平面图像数据的标识可以为T-1-1。其中,T-1为与所述图像数据相关联的平面图像数据的标识中共同包含的部分,后续的-1为用于将所述平面图像数据与其它平面图像数据进行区分的部分。又例如,所述图像数据的标识为T-1,与其相关联的平面图像数据共有3个,这3个平面图像数据的标识可以分别为T-1-1、T-1-2以及T-1-3。
在本实施方式中,所述平面图像数据表征的平面图像可以用于覆盖所述图像数据表征的全景图像中的部分图像。具体地,所述部分图像可以是所述全景图像中待修改的图像。所述平面图像覆盖所述部分图像可以指从所述指定观测点观测所述全景图像时,所述全景图像中待修改的图像会被所述平面图像遮挡,这样,展示给用户观看的图像其实就是平面图像与其余未被遮挡的全景图像的组合,这就相当于被遮挡的那部分图像被平面图像所替代,从而能够实现通过平面图像对全景图像中的一部分进行修改的作用。
步骤S3:从图像数据库中读取所述目标图像数据以及与所述目标图像数据关联的目标平面图像数据。
在本实施方式中,所述服务器在接收到所述客户端发来的图像加载请求后,可以从所述图像加载请求中提取图像数据的标识。这样,根据提取的所述标识,可以从所述图像数据库中读取所述标识相对应的图像数据。由于读取的图像数据存在相关联的平面图像数据,所述图像数据的标识与所述平面图像数据的标识关联存储。因此,进一步地可以从所述图像数据库中读取与所述图像数据的标识相关联的平面图像数据。
步骤S5:向所述客户端反馈所述目标图像数据以及所述目标平面图像数据,以使得所述客户端将所述目标图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并使得所述客户端将所述目标平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。
在本实施方式中,当所述服务器获取到所述图像加载请求指向的图像数据以及与所述图像数据相关联的平面图像数据后,可以将所述图像数据以及所述平面图像数据反馈给所述客户端。
所述客户端在接收到所述服务器反馈的数据之后,便可以基于绘图标准将数据渲染为相应的图像。具体地,可以在空间坐标系中渲染所述图像数据,从而得到所述图像数据表征的全景图像。该全景图像的中心可以具备指定观测点。所述指定观测点通过调整观测角度,从而可以在客户端的显示器上显示所述全景图像的不同部分。
在本实施方式中,所述客户端在渲染得到所述图像数据表征的全景图像之后,可以继续对所述平面图像数据进行渲染。具体地,所述平面图像数据渲染得到的平面图像与所述全景图像可以处于同一个空间坐标系中。在本实施方式中,所述平面图像数据中可以包括渲染数据,所述渲染数据可以用于基于绘图标准,绘制得到对应的平面图像。所述平面图像数据中还可以包括位置数据。所述位置数据用于确定绘制得到的平面图像在所述空间坐标系中所处的位置。具体地,所述位置数据可以通过空间坐标来表示。所述空间坐标可以包括所述平面图像的四个顶点的坐标值。通过所述空间坐标,可以限定所述平面图像在所述空间坐标系中的平面位置。这样,所述客户端便可以将根据渲染数据绘制得到的平面图像固定于所述位置数据限定的目标位置处。
在本实施方式中,为了使得所述平面图像能够覆盖所述全景图像中的部分图像,所述平面图像的位置可以设置于所述指定观测点与所述全景图像之间。这样,从所述指定观测点观测所述全景图像时,视线便可以被所述平面图像遮挡,从而达到利用平面图像遮挡全景图像的目的。
需要说明的是,尽管所述图像数据在经过绘图标准渲染之后在空间中呈现的是全景图像,但是用户在通过显示器观看所述全景图像时,由于该全景图像的曲率半径较大,并且所述显示器实际显示的区域相对于整个全景图像而言较小,因此用户从显示器中观看到的全景图像中的一部分可以近似作为平面图像。这样便可以保证通过平面图像覆盖所述全景图像中的一部分之后,从用户的视觉效果来看,不会出现明显的违和感。
在本申请一个实施方式中,所述区域图像被处于所述目标位置处的所述平面图像覆盖可以包括处于所述目标位置处的所述平面图像在所述全景图像上的投影与所述区域图像重合。在本实施方式中,所述区域图像可以是全景图像,而处于所述目标位置处的平面图像在所述全景图像上的投影也可以是全景图像。为了构成最佳的视觉效果,可以使得将所述指定观测点作为投影点时,处于所述目标位置处的所述平面图像在所述全景图像上的投影与所述区域图像完全重合。这样,从视觉效果而言,所述平面图像与所述全景图像便可以一体成型,所述平面图像与所述全景图像之间不会存在缝隙。
在本申请一个实施方式中,在获取了用于覆盖所述区域图像的平面图像之后,为了进一步提高所述平面图像与所述全景图像之间的契合度,可以对获取的所述平面图像进行裁剪和缩放处理。具体地,所述裁剪处理可以是将所述平面图像中与所述区域图像相关的内容保留,而将其它内容去除。所述缩放处理可以是将所述平面图像展示的内容的比例调节至与所述区域图像展示的内容的比例相一致。对所述平面图像进行裁剪和缩放的目的在于,使得从所述指定观测点观测所述全景图像时,经过裁剪和缩放的平面图像的边缘所展示的内容与所述全景图像的内容相契合。具体地,所述平面图像的边缘所展示的内容与所述全景图像的内容相契合可以指从所述平面图像的边缘过渡到全景图像中时,两者显示的内容是连续的,不会出现较大的跳跃。由于所述平面图像展示的内容的比例与所述区域图像展示的内容的比例一致,那么当所述平面图像的边缘所展示的内容与所述全景图像的内容相契合时,所述平面图像中其它部分所展示的内容也必然与所述全景图像的内容相契合,从而能够保证通过平面图像遮挡之后,从所述指定观测点观测时,不会出现明显的违和感。
需要说明的是,在实际应用过程中,裁剪、缩放以及调节所述平面图像所处的位置这三个动作通常是可以同步进行的,从而可以更加快速地将所述平面图像调整至与所述全景图像相适配的状态。
请参阅图4,在本申请一个实施方式中,服务器为对所述图像数据和所述平面图像数据进行渲染,以及对所述平面图像数据进行裁剪和缩放时,均可以通过所述服务器中的线程来执行相关的操作。具体地,为了保证图像的加载效率,所述服务器中的主线程(Webcore)通常仅进行最终的图像渲染操作。而其它的操作,例如对所述平面图像数据的预渲染、对所述平面图像的剪裁和缩放等操作,均可以通过子线程(Webworker)来完成。基于此,在本实施方式中,对获取的所述平面图像进行裁剪和缩放处理时,所述服务器可以新建子线程,并利用所述子线程对所述平面图像进行裁剪和缩放处理。在本实施方式中,所述子线程可以将经过裁剪和缩放处理后的平面图像发送至主线程,从而通过所述主线程将经过裁剪和缩放处理后的平面图像渲染至所述目标位置处。其中,所述主线程还可以用于对所述图像数据进行预渲染,以得到所述图像数据表征的全景图像。在实际应用过程中,当所述图像数据表征的全景图像有至少两处区域图像需要修改时,可以通过子线程并行执行的方法,通过并行执行的至少两个子线程,分别对用于覆盖所述区域图像的各个平面图像进行裁剪和缩放处理,从而可以提高图像处理的效率。所述主线程则可以接收各个子线程发来的经过裁剪和缩放处理的平面图像数据,并将各个子线程发来的平面图像数据进行渲染,从而得到最终全景图像与平面图像的组合。
在一个实施方式中,所述图像数据可以存储于云服务器中,如果用户从云服务器中获取的图像数据渲染之后有瑕疵,用户可以通过客户端向云服务器发送图像修复指令,该图像修复指令可以指向待修复的图像数据。具体地,客户端中的浏览器可以基于WebGL绘图标准,展示从云服务器处获取的全景图像。当用户发现全景图像中存在瑕疵后,可以在浏览器的展示界面中触发图像修复指令。例如,用户可以在浏览器的当前页面中点击“图片出错”这样的按键,浏览器从而可以向云服务器发出图像修复指令。
在本实施方式中,云服务器在接收到客户端发来的图像修复指令后,可以向用户发送提示信息,该提示信息可以用于提示用户在当前渲染的全景图像中选择需要修复的区域。这样,用户在浏览器中可以选定需要修复的区域,该区域可以通过坐标进行表示。客户端可以将待修复的区域的坐标发送至云服务器。这样,云服务器根据客户端发来的坐标,从而可以确定当前需要修复的区域图像。
在本实施方式中,云服务器可以通过上述的图像数据的处理方法对该图像修复指令指向的图像数据进行修复,从而得到用于修复区域图像的平面图像数据。这样,当客户端再次请求该图像数据时,云服务器便可以将所述平面图像数据和所述图像数据的组合反馈给所述客户端,以使得所述客户端将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并使得所述客户端将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。具体地,可以在浏览器中基于WebGL绘图标准,将所述图像数据渲染为全景图像,并将所述平面图像数据渲染为平面图像。
在一个实际应用场景中,图像网站的图像制作人员在利用专业的设备拍摄了一个海景房的图像之后,发现该图像中的阳台那一块区域的图像比较模糊,需要对其进行修复。那么制作人员可以针对比较模糊的那一块图像,重新拍摄一张清晰的平面图像。然后可以将所述图像以及所述平面图像均输入服务器中进行处理。具体地,服务器中具备支持WebGL绘图标准的软件,通过该软件,可以在空间坐标系中绘制出呈球体分布的图像。该图像的中心可以为WebGL绘图标准指定的观测点,从该观测点处可以观测图像中的一部分,该部分可以呈现在显示器中,以供制作人员观看。制作人员在查看图像时,可以在所述软件中选定比较模糊的区域的范围,该范围可以通过空间坐标来表示。具体地,该范围可以具备四个顶点,那么这四个顶点在空间坐标系中的坐标值便可以限定该模糊区域。
在该场景中,服务器中的软件可以在所述空间坐标系中继续渲染出所述平面图像。具体地,可以将该平面图像渲染在所述模糊区域的四个顶点限定的平面中。这样,从所述观测点观测所述图像时,图像中的模糊区域会被渲染出的平面图像遮挡住。为了使得渲染出的平面图像与图像中的内容相契合,可以对所述平面图像进行裁剪和缩放处理。具体地,所述裁剪处理可以是将所述平面图像中与所述模糊图像相关的内容保留,而将其它内容去除。所述缩放处理可以是将所述平面图像展示的内容的比例调节至与所述模糊图像展示的内容的比例相一致。对所述平面图像进行裁剪和缩放的目的在于,使得从所述指定观测点观测所述全景图像时,经过裁剪和缩放的平面图像的边缘所展示的内容与所述全景图像的内容相契合,从而能够保证通过平面图像遮挡之后,从所述指定观测点观测时,不会出现明显的违和感。
请一并参阅图3和图5,本申请实施方式还提供一种服务器,所述服务器包括处理器100和存储器200,所述存储器200中存储有计算机程序,所述计算机程序被所述处理器100执行时,实现以下步骤。
S21:将图像数据渲染为全景图像,并确定所述全景图像中待修改的区域图像;所述全景图像与指定观测点相对应;
S23:获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖;
S25:将所述平面图像的信息以及所述目标位置的信息确定为与所述图像数据相关联的平面图像数据,以使得在加载所述图像数据时渲染所述图像数据和所述平面图像数据。
在本申请一个实施例中,在所述图像数据被请求加载的情况下,向请求加载方提供所述图像数据以及与所述图像数据相关联的平面图像数据,以使得所述请求加载方渲染所述图像数据和所述平面图像数据。
所述处理器100可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
在本实施方式中,所述存储器200可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器,如内存条、TF卡等。
上述实施方式公开的服务器,其处理器100和存储器200实现的具体功能,可以与本申请中图像数据的处理方法实施方式相对照解释,可以实现本申请的图像数据的处理方法实施方式并达到方法实施方式的技术效果。
请参阅图1,本申请还提供一种图像数据的渲染方法,所述方法可以应用于所述客户端中,所述方法可以包括以下步骤。
S10:向服务器发送图像加载请求,所述图像加载请求指向所述服务器中的图像数据,其中,所述图像数据与所述服务器中的平面图像数据相关联;所述平面图像数据表征的平面图像用于修复所述图像数据表征的全景图像中的部分图像。
在本实施方式中,所述客户端中可以展示图像的链接。所述链接可以是文字链接、图片链接或者视频链接。用户通过点击该链接,从而可以向所述服务器发送图像加载请求。此外,用户还可以在所述客户端中输入指向所述图像数据的统一资源定位符(UniformResource Locator,URL),从而根据所述URL向所述服务器发送图像加载请求。
在本实施方式中,所述图像加载请求可以是按照预设规则进行编写的字符串。其中,所述预设规则可以是所述客户端与所述服务器之间遵循的网络通信协议。例如,所述图像加载请求可以是按照HTTP协议进行编写的字符串。所述预设规则可以限定图像加载请求中的各个组成部分以及各个组成部分之间的排列顺序。例如,所述图像加载请求中可以包括请求标识字段、源IP地址字段以及目的IP地址字段。所述请求标识字段可以填充所述图像数据的标识。所述源IP地址字段可以填写所述客户端的IP地址,所述目标IP地址字段可以填写所述服务器的IP地址。这样,所述图像加载请求便可以从所述客户端发送至所述服务器处。
在本实施方式中,所述图像加载请求指向所述图像数据可以指所述图像加载请求中携带所述图像数据的标识。
在本实施方式中,根据所述图像加载请求中携带的标识读取的图像数据,其表征的图像中可以具备需要修改的部分图像。该需要修改的部分图像可以通过平面图像覆盖的方式来实现。因此,所述图像数据可以与平面图像数据相关联。所述图像数据与平面图像数据相关联可以体现在:所述图像数据的标识与所述平面图像数据的标识通过键值对的方式存储。这样,通过其中一个标识,便可以查询得到另一个标识。此外,所述图像数据与平面图像数据相关联还可以体现在:所述平面图像数据的标识为所述图像数据的标识的子标识。所述子标识中可以包括所述图像数据的标识,同时所述子标识中还可以包括用于将所述平面图像数据与其它平面图像数据相区分的标识。例如,所述图像数据的标识为T-1,那么所述平面图像数据的标识可以为T-1-1。其中,T-1为与所述图像数据相关联的平面图像数据的标识中共同包含的部分,后续的-1为用于将所述平面图像数据与其它平面图像数据进行区分的部分。又例如,所述图像数据的标识为T-1,与其相关联的平面图像数据共有3个,这3个平面图像数据的标识可以分别为T-1-1、T-1-2以及T-1-3。
在本实施方式中,所述平面图像数据表征的平面图像可以用于覆盖所述图像数据表征的全景图像中的部分图像。具体地,所述部分图像可以是所述全景图像中待修改的图像。所述平面图像覆盖所述部分图像可以指从所述指定观测点观测所述全景图像时,所述全景图像中待修改的图像会被所述平面图像遮挡,这样,展示给用户观看的图像其实就是平面图像与其余未被遮挡的全景图像的组合,这就相当于被遮挡的那部分图像被平面图像所替代,从而能够实现通过平面图像对全景图像中的一部分进行修改的作用。
S30:接收所述服务器反馈的所述图像数据以及所述平面图像数据。
S50:将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。
在本实施方式中,所述客户端在接收到所述服务器反馈的数据之后,便可以基于绘图标准将数据渲染为相应的图像。具体地,可以在空间坐标系中渲染所述图像数据,从而得到所述图像数据表征的全景图像。该全景图像的中心可以具备指定观测点。所述指定观测点通过调整观测角度,从而可以在客户端的显示器上显示所述全景图像的不同部分。
在本实施方式中,所述客户端在渲染得到所述图像数据表征的全景图像之后,可以继续对所述平面图像数据进行渲染。具体地,所述平面图像数据渲染得到的平面图像与所述全景图像可以处于同一个空间坐标系中。在本实施方式中,所述平面图像数据中可以包括渲染数据,所述渲染数据可以用于基于绘图标准,绘制得到对应的平面图像。所述平面图像数据中还可以包括位置数据。所述位置数据用于确定绘制得到的平面图像在所述空间坐标系中所处的位置。具体地,所述位置数据可以通过空间坐标来表示。所述空间坐标可以包括所述平面图像的四个顶点的坐标值。通过所述空间坐标,可以限定所述平面图像在所述空间坐标系中的平面位置。这样,所述客户端便可以将根据渲染数据绘制得到的平面图像固定于所述位置数据限定的目标位置处。
在本实施方式中,为了使得所述平面图像能够覆盖所述全景图像中的部分图像,所述平面图像的位置可以设置于所述指定观测点与所述全景图像之间。这样,从所述指定观测点观测所述全景图像时,视线便可以被所述平面图像遮挡,从而达到利用平面图像遮挡全景图像的目的。
在本申请一个实施方式中,所述平面图像数据中可以包括渲染数据和位置数据;其中,所述渲染数据用于渲染得到所述平面图像;所述位置数据用于确定所述平面图像在所述指定观测点和所述全景图像之间所处的位置。
在本实施方式中,为了保证所述平面图像在视觉效果上能够与所述全景图像相吻合,可以预先在同一个空间坐标系中渲染出所述全景图像以及所述平面图像。然后可以将所述平面图像在所述指定观测点和所述全景图像之间进行调节,以确定所述平面图像的最佳位置。具体地,在对所述平面图像进行调节时,可以通过在所述空间坐标系中设定空间坐标的方式来实现。具体地,可以在所述空间坐标系中设定四个坐标值,这四个坐标值可以分别表示所述平面图像的四个顶点。这样,在设定了所述四个坐标值后,所述平面图像便可以被调节至所述四个坐标值限定的区域处。在本实施方式中,可以按照指定的步进间隔,逐步向靠近或者远离所述指定观测点的方向移动所述平面图像,直至从所述指定观测点观测所述全景图像时,所述区域图像被所述平面图像覆盖为止。在本实施方式中,可以将所述区域图像刚好能够被所述平面图像覆盖时所述平面图像所处的位置作为最佳的位置。该最佳的位置便可以是所述的目标位置。这样,从所述指定观测点观测所述全景图像时,所述区域图像可以被处于所述目标位置处的所述平面图像覆盖。
在本实施方式中,在获取了所述平面图像以及确定了所述平面图像的目标位置之后,可以将所述平面图像的信息以及所述目标位置的信息作为与所述图像数据相关联的平面图像数据。其中,所述平面图像的信息便可以是所述渲染数据,所述目标位置的信息便可以是所述位置数据。
请参阅图6,在本申请一个实施方式中,将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像可以包括以下步骤。
S51:从所述平面图像数据中提取所述渲染数据以及所述位置数据;
S53:根据所述位置数据,在所述指定观测点和所述全景图像之间确定目标位置;
S55:将所述渲染数据在所述目标位置处进行渲染,以得到处于所述目标位置处的平面图像。
在本实施方式中,所述目标位置可以通过空间坐标来表示,因此所述位置数据可以是能够表征所述目标位置的空间坐标值。通过所述位置数据,可以在空间坐标系中确定所述平面图像所处的空间坐标值。所述渲染数据中可以包括所述平面图像中各个像素点的像素值以及各个像素点在所述平面图像中所处的位置。这样,客户端便可以通过绘图标准将所述渲染数据渲染为所述平面图像。结合所述渲染数据和所述位置数据,便可以将所述渲染数据在所述目标位置处进行渲染,以得到处于所述目标位置处的平面图像。
在本申请一个实施方式中,所述区域图像被处于所述目标位置处的所述平面图像覆盖可以包括处于所述目标位置处的所述平面图像在所述全景图像上的投影与所述区域图像重合。在本实施方式中,所述区域图像可以是全景图像,而处于所述目标位置处的平面图像在所述全景图像上的投影也可以是全景图像。为了构成最佳的视觉效果,可以使得将所述指定观测点作为投影点时,处于所述目标位置处的所述平面图像在所述全景图像上的投影与所述区域图像完全重合。这样,从视觉效果而言,所述平面图像与所述全景图像便可以一体成型,所述平面图像与所述全景图像之间不会存在缝隙。
在本申请一个实施方式中,所述平面图像的边缘所展示的内容与所述全景图像的内容可以相契合。具体地,平面图形的边缘所展示的内容与所述全景图像的内容相契合,可以是服务器在获取了所述平面图像之后,对所述平面图像进行裁剪和缩放处理来保证的。具体地,所述裁剪处理可以是将所述平面图像中与所述区域图像相关的内容保留,而将其它内容去除。所述缩放处理可以是将所述平面图像展示的内容的比例调节至与所述区域图像展示的内容的比例相一致。对所述平面图像进行裁剪和缩放的目的在于,使得从所述指定观测点观测所述全景图像时,经过裁剪和缩放的平面图像的边缘所展示的内容与所述全景图像的内容相契合。具体地,所述平面图像的边缘所展示的内容与所述全景图像的内容相契合可以指从所述平面图像的边缘过渡到全景图像中时,两者显示的内容是连续的,不会出现较大的跳跃。由于所述平面图像展示的内容的比例与所述区域图像展示的内容的比例一致,那么当所述平面图像的边缘所展示的内容与所述全景图像的内容相契合时,所述平面图像中其它部分所展示的内容也必然与所述全景图像的内容相契合,从而能够保证通过平面图像遮挡之后,从所述指定观测点观测时,不会出现明显的违和感。
请参阅图7,本申请实施方式还提供一种客户端,所述客户端包括网络通信端口110、显示器210以及处理器310。
其中,所述网络通信端口110,用于向服务器发送图像加载请求并且接收所述服务器反馈的图像数据。
所述显示器210,用于根据所述图像数据显示相应的图像。
所述处理器310,用于控制所述网络通信端口110向所述服务器发送图像加载请求,所述图像加载请求指向所述服务器中的图像数据,其中,所述图像数据与所述服务器中的平面图像数据相关联;所述平面图像数据表征的平面图像用于修复所述图像数据表征的全景图像中的部分图像;通过所述网络通信端口110接收所述服务器反馈的所述图像数据以及所述平面图像数据;将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像,并在所述显示器210中显示渲染得到的图像。
在本实施方式中,所述网络通信端口110可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的80号端口,也可以是负责进行FTP数据通信的21号端口,还可以是负责进行邮件数据通信的25号端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
所述显示器210可以为将一定的电子文件通过特定的传输设备显示到屏幕上再反射到人眼的显示工具。所述显示器可以包括液晶LCD显示屏、阴极射线管CRT显示屏、发光二极管LED显示屏等。
所述处理器310可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本申请并不作限定。
上述实施方式公开的客户端,其网络通信端口110、显示器210和处理器310实现的具体功能,可以与本申请中图像数据的渲染方法实施方式相对照解释,可以实现本申请的图像数据的渲染方法实施方式并达到方法实施方式的技术效果。
由上可见,本申请实施方式提供的一种图像数据的处理、渲染方法、服务器及客户端,在需要对全景图像中的部分图像进行修改时,可以利用平面图像对所述部分图像进行覆盖。具体地,可以先根据全景图像数据渲染出以指定观测点为中心的全景图像,然后可以在所述指定观测点和所述全景图像之间渲染出所述平面图像。这样,从所述指定观测点观测该全景图像中需要被修改的图像时,该图像会被平面图像遮挡,平面图像中显示的内容就是指定观测点观测到的内容。这样,通过平面图像覆盖的方式,不仅不需要重新拍摄全景图像,还能够从视觉效果上实现对全景图像的修改。由于拍摄平面图像过程相当迅速并且成本相当低廉,从而使得本申请提供的技术方案能够提高全景图像修改的效率,并且降低全景图像修改的成本。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对服务器和客户端的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (14)
1.一种图像数据的处理方法,其特征在于,所述方法包括:
将图像数据渲染为全景图像,并确定所述全景图像中待修改的区域图像;所述全景图像与指定观测点相对应;
获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖;
将所述平面图像以及所述目标位置确定为与所述图像数据相关联的平面图像数据,以使得在加载所述图像数据时渲染所述图像数据和所述平面图像数据。
2.根据权利要求1所述的方法,其特征在于,所述目标位置通过空间坐标表示;
相应地,所述方法还包括:
基于所述目标位置的空间坐标,对获取的所述平面图像进行裁剪和缩放处理,以使得从所述指定观测点观测所述全景图像时,经过裁剪和缩放的平面图像的边缘所展示的内容与所述全景图像的内容相契合。
3.根据权利要求2所述的方法,其特征在于,对获取的所述平面图像进行裁剪和缩放处理包括:
新建子线程,并利用所述子线程对所述平面图像进行裁剪和缩放处理;
相应地,所述方法还包括:
所述子线程将经过裁剪和缩放处理后的平面图像发送至主线程,并通过所述主线程将经过裁剪和缩放处理后的平面图像渲染至所述目标位置处;其中,所述主线程用于对所述图像数据进行预渲染,以得到所述图像数据表征的全景图像。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述图像数据中存在至少两处待修改的区域图像时,通过并行执行的至少两个子线程,分别对用于修复所述区域图像的各个平面图像进行裁剪和缩放处理。
5.根据权利要求1所述的方法,特征在于,在将所述平面图像以及所述目标位置确定为与所述图像数据相关联的平面图像数据之后,所述方法还包括:
接收客户端发来的图像加载请求,所述图像加载请求指向目标图像数据;
从图像数据库中读取所述目标图像数据以及与所述目标图像数据关联的目标平面图像数据;
向所述客户端反馈所述目标图像数据以及所述目标平面图像数据,以使得所述客户端将所述目标图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并使得所述客户端将所述目标平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。
6.根据权利要求1所述的方法,其特征在于,在将图像数据渲染为全景图像之前,所述方法还包括:
接收客户端发来的图像修复指令,所述图像修复指令指向图像数据;
相应地,所述方法还包括:
将所述平面图像数据和所述图像数据反馈给所述客户端,以使得所述客户端将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并使得所述客户端将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。
7.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:
将图像数据渲染为全景图像,并确定所述全景图像中待修改的区域图像;所述全景图像与指定观测点相对应;
获取用于修复所述区域图像的平面图像,并确定所述平面图像在所述指定观测点和所述全景图像之间所处的目标位置;其中,从所述指定观测点观测所述全景图像时,所述区域图像被处于所述目标位置处的所述平面图像覆盖;
将所述平面图像以及所述目标位置确定为与所述图像数据相关联的平面图像数据,以使得在加载所述图像数据时渲染所述图像数据和所述平面图像数据。
8.一种图像数据的渲染方法,其特征在于,所述方法包括:
向服务器发送图像加载请求,所述图像加载请求指向所述服务器中的图像数据,其中,所述图像数据与所述服务器中的平面图像数据相关联;所述平面图像数据表征的平面图像用于修复所述图像数据表征的全景图像中的部分图像;
接收所述服务器反馈的所述图像数据以及所述平面图像数据;
将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像。
9.根据权利要求8所述的方法,其特征在于,所述平面图像数据中包括渲染数据和位置数据;其中,所述渲染数据用于渲染得到所述平面图像;所述位置数据用于确定所述平面图像在所述指定观测点和所述全景图像之间所处的位置。
10.根据权利要求9所述的方法,其特征在于,将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像包括:
从所述平面图像数据中提取所述渲染数据以及所述位置数据;
根据所述位置数据,在所述指定观测点和所述全景图像之间确定目标位置;
将所述渲染数据在所述目标位置处进行渲染,以得到处于所述目标位置处的平面图像。
11.根据权利要求8所述的方法,其特征在于,从所述指定观测点观测所述全景图像时,所述全景图像中待修改的区域图像被所述平面图像覆盖。
12.根据权利要求11所述的方法,其特征在于,所述全景图像中待修改的区域图像被所述平面图像覆盖包括:
所述平面图像在所述全景图像上的投影与所述区域图像重合。
13.根据权利要求8所述的方法,其特征在于,所述平面图像的边缘所展示的内容与所述全景图像的内容相契合。
14.一种客户端,其特征在于,所述客户端包括网络通信端口、显示器以及处理器,其中:
所述网络通信端口,用于向服务器发送图像加载请求并且接收所述服务器反馈的图像数据;
所述显示器,用于根据所述图像数据显示相应的图像;
所述处理器,用于控制所述网络通信端口向所述服务器发送图像加载请求,所述图像加载请求指向所述服务器中的图像数据,其中,所述图像数据与所述服务器中的平面图像数据相关联;所述平面图像数据表征的平面图像用于修复所述图像数据表征的全景图像中的部分图像;通过所述网络通信端口接收所述服务器反馈的所述图像数据以及所述平面图像数据;将所述图像数据渲染为全景图像,所述全景图像与指定观测点相对应,并将所述平面图像数据渲染为处于所述指定观测点和所述全景图像之间的平面图像,并在所述显示器中显示渲染得到的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710756918.2A CN109427085B (zh) | 2017-08-29 | 2017-08-29 | 一种图像数据的处理、渲染方法、服务器及客户端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710756918.2A CN109427085B (zh) | 2017-08-29 | 2017-08-29 | 一种图像数据的处理、渲染方法、服务器及客户端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109427085A CN109427085A (zh) | 2019-03-05 |
CN109427085B true CN109427085B (zh) | 2022-10-18 |
Family
ID=65503526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710756918.2A Active CN109427085B (zh) | 2017-08-29 | 2017-08-29 | 一种图像数据的处理、渲染方法、服务器及客户端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109427085B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825286B (zh) * | 2019-10-30 | 2021-09-03 | 北京字节跳动网络技术有限公司 | 图像处理方法、装置和电子设备 |
JP2021125846A (ja) * | 2020-02-07 | 2021-08-30 | 株式会社リコー | プログラム、記録媒体および情報処理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482968A (zh) * | 2008-01-07 | 2009-07-15 | 日电(中国)有限公司 | 图像处理方法和设备 |
CN101589613A (zh) * | 2006-12-13 | 2009-11-25 | 奥多比公司 | 用于基于层的全景图调整和编辑的方法和装置 |
CN102915526A (zh) * | 2012-09-18 | 2013-02-06 | 合肥工业大学 | 基于互补场景模型的球面全景图缺失信息修复方法 |
CN102985901A (zh) * | 2010-05-16 | 2013-03-20 | 诺基亚公司 | 用于为移动设备上基于位置的服务渲染对象的立体图及与其相关的内容的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8451265B2 (en) * | 2007-11-16 | 2013-05-28 | Sportvision, Inc. | Virtual viewpoint animation |
US8385681B2 (en) * | 2008-02-11 | 2013-02-26 | Apple Inc. | Blemish removal |
US9712746B2 (en) * | 2013-03-14 | 2017-07-18 | Microsoft Technology Licensing, Llc | Image capture and ordering |
US9600869B2 (en) * | 2013-03-14 | 2017-03-21 | Cyberlink Corp. | Image editing method and system |
-
2017
- 2017-08-29 CN CN201710756918.2A patent/CN109427085B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101589613A (zh) * | 2006-12-13 | 2009-11-25 | 奥多比公司 | 用于基于层的全景图调整和编辑的方法和装置 |
CN101482968A (zh) * | 2008-01-07 | 2009-07-15 | 日电(中国)有限公司 | 图像处理方法和设备 |
CN102985901A (zh) * | 2010-05-16 | 2013-03-20 | 诺基亚公司 | 用于为移动设备上基于位置的服务渲染对象的立体图及与其相关的内容的方法和装置 |
CN102915526A (zh) * | 2012-09-18 | 2013-02-06 | 合肥工业大学 | 基于互补场景模型的球面全景图缺失信息修复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109427085A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10863168B2 (en) | 3D user interface—360-degree visualization of 2D webpage content | |
CN109600674B (zh) | 非线性媒体的基于客户端的自适应流式传输 | |
CN107491174B (zh) | 用于远程协助的方法、装置、系统及电子设备 | |
US9667860B2 (en) | Photo composition and position guidance in a camera or augmented reality system | |
US8644467B2 (en) | Video conferencing system, method, and computer program storage device | |
EP2701152B1 (en) | Media object browsing in a collaborative window, mobile client editing, augmented reality rendering. | |
CN111414225B (zh) | 三维模型远程展示方法、第一终端、电子设备及存储介质 | |
KR102463304B1 (ko) | 비디오 처리 방법 및 장치, 전자기기, 컴퓨터 판독 가능한 저장 매체 및 컴퓨터 프로그램 | |
US11272154B2 (en) | Providing video playback and data associated with a virtual scene | |
US20210374972A1 (en) | Panoramic video data processing method, terminal, and storage medium | |
US11003305B2 (en) | 3D user interface | |
KR102061867B1 (ko) | 이미지 생성 장치 및 그 방법 | |
US20180240213A1 (en) | Information processing system, information processing method, and program | |
US10810801B2 (en) | Method of displaying at least one virtual object in mixed reality, and an associated terminal and system | |
CN109427085B (zh) | 一种图像数据的处理、渲染方法、服务器及客户端 | |
CN104811799A (zh) | 一种视频画质比较方法和装置 | |
US20180063426A1 (en) | Method, apparatus and computer program product for indicating a seam of an image in a corresponding area of a scene | |
US10127715B2 (en) | 3D user interface—non-native stereoscopic image conversion | |
CN109885172B (zh) | 一种基于增强现实ar的对象互动展示方法及系统 | |
CN108920598B (zh) | 全景图浏览方法、装置、终端设备、服务器及存储介质 | |
US10867445B1 (en) | Content segmentation and navigation | |
US20240020910A1 (en) | Video playing method and apparatus, electronic device, medium, and program product | |
KR101242512B1 (ko) | 증강 현실 컨텐츠 재생 시스템 및 방법 | |
KR102293827B1 (ko) | 증강 현실에서 표현되는 html 컨텐츠와의 인터액션을 제공하는 증강 현실 제공 장치 및 방법 | |
KR102217198B1 (ko) | Html 컨텐츠를 표현하는 증강 현실 제공 장치 및 방법 |
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 |