CN110738722B - 一种热力图纹理的生成方法、装置及设备 - Google Patents
一种热力图纹理的生成方法、装置及设备 Download PDFInfo
- Publication number
- CN110738722B CN110738722B CN201910957583.XA CN201910957583A CN110738722B CN 110738722 B CN110738722 B CN 110738722B CN 201910957583 A CN201910957583 A CN 201910957583A CN 110738722 B CN110738722 B CN 110738722B
- Authority
- CN
- China
- Prior art keywords
- thermodynamic diagram
- data
- thermodynamic
- texture
- vertex
- 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
- 238000010586 diagram Methods 0.000 title claims abstract description 327
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims description 53
- 238000002156 mixing Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 25
- 238000010276 construction Methods 0.000 claims description 6
- 238000009877 rendering Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 12
- 230000006872 improvement Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual 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/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本说明书实施例公开了一种热力图纹理的生成方法、装置及设备。该热力图纹理的生成方案包括:获取热力图数据集合;根据热力图数据集合中的每个热力图数据中的地理坐标,构建三维顶点数组,得到顶点数组集合;采用图形处理器,根据顶点数组集合中的各个三维顶点数组确定各个目标矩形区域,并根据热力图数据集合中各个热力图数据中的热力数据,对各个目标矩形区域进行纹理绘制,得到热力图纹理。
Description
本申请涉及计算机数据处理技术领域,尤其涉及一种热力图纹理的生成方法、装置及设备。
背景技术
热力图(Heat Map)是一种以特殊高亮的形式表示所关注区域中的数据所占比重情况的图示。由于热力图具有直观、易于理解等特点,热力图在网页分析、业务数据分析等领域的应用愈加广泛。目前,在创建热力图时,会先采用设备的中央处理器(CentralProcessing Unit),根据热力图数据生成热力图纹理,再基于热力图纹理生成所需的热力图。由于中央处理器在生成热力图纹理时通常采用串行处理方式,效率较低。
发明内容
有鉴于此,本申请实施例提供了一种热力图纹理的生成方法、装置及设备,用于解决需要提供效率更高的热力图纹理的生成方法的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种热力图纹理的生成方法,应用于终端设备,所述终端设备具有图形处理器,包括:
获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据。
本说明书实施例提供的一种热力图纹理的生成装置,应用于终端设备,所述终端设备具有图形处理器,包括:
热力图数据获取模块,用于获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
顶点数组构建模块,用于对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
热力图纹理生成模块,用于采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据。
本说明书实施例提供的一种热力图纹理的生成设备,包括:
至少一个处理器;所述处理器包括图形处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
根据热力图数据集合中每个热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合;其中,每个顶点数组中包含的四个三维顶点数据可以用于确定以一个热力图数据中的地理坐标为中心的目标矩形区域的各个顶点坐标;采用图形处理器,根据顶点数组集合中的各个顶点数组确定各个目标矩形区域,并根据热力图数据集合中各个热力图数据中的热力数据,对各个目标矩形区域进行纹理绘制,得到热力图纹理。本说明书实施例中的方案,通过构建包含三维顶点数据的顶点数组,从而可以采用图形处理器以并行处理方式进行热力图纹理的绘制,有利于提升热力图纹理的绘制效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种热力图纹理的生成方法的流程示意图;
图2为本说明书实施例提供的根据顶点数组集合绘制的目标矩形区域的示意图;
图3为本说明书实施例提供的一种高斯纹理的示意图;
图4为本说明书实施例提供的对应于图1中方法的一种热力图纹理的生成装置的结构示意图;
图5为本说明书实施例提供的对应于图1中方法的一种热力图纹理的生成设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
由于热力图可以显性、直观地将用户关注区域内的指定数据分布情况通过不同颜色区块呈现出来,用户体验较好,因此,热力图的应用日渐普及。在部分应用场景中,对呈现给用户的热力图的实时性要求较高,例如,当需要实时监控一些旅游景点处的旅客的密集程度时,或者,需要实时分析城市内的各道路处的交通状况时。目前,在采用中央处理器生成热力图纹理,进而生成热力图的方案中,由于中央处理器基于串行处理方式生成热力图纹理,运行效率较低,耗时较长,进而导致生成的热力图的实时性较差,无法满足用户要求。
因此,急需一种运行效率更高的热力图纹理的生成方法。
图1为本说明书实施例提供的一种热力图纹理的生成方法。从程序角度而言,该方法的执行主体可以为终端设备,该终端设备具有图形处理器(Graphics ProcessingUnit)。
如图1所示,该方法可以包括以下步骤:
步骤101:获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标。
在本说明书实施例中,热力图数据是指生成热力图所需的数据。热力图数据中的热力数据可以用于确定热力图纹理中各个像素点的灰度值,进而热力数据可以用于确定热力图中各位置处的颜色值。在实际应用中,热力数据可以为用户需通过热力图中的不同颜色区块呈现的数据,例如,热力数据可以为人流量、交易量等数据。
在本说明书实施例中,热力图数据集合中的热力图数据可以为三维数据,其中,一个维度数据可以用于表示该热力图数据中的热力数据,另外两个维度数据可以用于表示该热力数据对应的目标地点的地理坐标。例如,热力图数据(116°E,39°N,0.8),意为:目标地点的地理坐标为东经116度、北纬39度,该目标地点的热力数据为0.8。在本说明书实施例中,热力图数据中的地理坐标除采用地理坐标系(Geographic Coordinate System)中的地理坐标外,还可以采用其他自定义的坐标系中的地理坐标,对此,不作具体限定。
步骤102:对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标。
在本说明书实施例中,顶点数组集合中的一个顶点数组对应于一个热力图数据中的地理坐标,根据一个顶点数组可以构建一个以该顶点数组对应的地理坐标为对称中心的目标矩形区域。其中,根据顶点数组构建的目标矩形区域用于填充纹理,以得到热力图纹理。
具体的,任意一个顶点数组中均包含四个三维顶点数据,根据上述四个三维顶点数据可以确定目标矩形区域的四个顶点坐标,以便于根据确定出的四个顶点坐标绘制目标矩形区域。在实际应用中,根据各个顶点数组构建的各个目标矩形区域的长度均相同,根据各个顶点数组构建的各个目标矩形区域的宽度也均相同。
步骤103:采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据。
在本说明书实施例中,由于构造的顶点数组中的顶点数据为三维数据,因此,可以采用图形处理器根据顶点数组集合中的顶点数据与热力图数据集合中的热力数据进行纹理绘制,生成热力图纹理。该热力图纹理中的像素点的灰度值可以用于描述与该像素点对应的实际地理位置处的热力数据的大小,从而使得根据该热力图纹理生成的热力图可以将用户关注的地理区域内的热度数据通过不同颜色区块呈现出来。
在本说明书实施例中,图形处理器GPU是一种用于处理与图像和图形相关运算任务的处理器。由于图形处理器具有数据级并行、操作级并行和/或任务级并行的统一计算模式,因此,采用图形处理器GPU生成热力图纹理的方案相较采用中央处理器CPU生成热力图纹理的方案的运行效率更高,从而令生成的热力图纹理的实时性更好,进而可以提升基于热力图纹理生成的热力图的实时性,满足用户对热力图实时性的需求。
基于图1中的方法,本说明书实施例还提供了该方法的一些具体实施方式,下面进行说明。
在本说明书实施例中,热力图数据集合中的各个热力图数据的地理坐标所对应的坐标系相同,热力图数据中的地理坐标可以包括地理横坐标及地理纵坐标。步骤102:对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,具体可以包括:
获取目标矩形区域的预设尺寸。
根据所述预设尺寸、所述地理横坐标及所述地理纵坐标,生成顶点数组,所述顶点数组包括四个三维顶点数据,所述四个三维顶点数据的横轴坐标与所述地理横坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的纵轴坐标与所述地理纵坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的竖轴坐标均相等。
在本说明书实施例中,假定,预设尺寸为R,一个热力图数据中的地理坐标为(xi,yi),其中,xi为地理横坐标,yi为地理纵坐标。则根据该热力图数据中的地理坐标(xi,yi),构建的顶点数组可以包括:第一顶点数据[xi-nR,yi-mR,z],第二顶点数据[xi+nR,yi-mR,z],第三顶点数据[xi+nR,yi+mR,z],以及第四顶点数据[xi-nR,yi+mR,z]。
其中,各顶点数据中的第一个维度数据为目标矩形区域的各个顶点坐标中的顶点横坐标,n为非零的数值。其中,各顶点数据中的第二个维度数据为目标矩形区域的各个顶点坐标中的顶点纵坐标,m为非零的数值。在实际应用中,n与m的取值通常是相同的,因此,根据顶点数组构建的目标矩形区域可以为正方形区域。
其中,各顶点数据中的第三个维度数据z是为了便于图形处理器对顶点数组进行处理而增加的数据,z值通常不会影响绘制出的目标矩形区域之间的相对位置及各个目标矩形区域的大小,进而不会对最终生成的热力图纹理中各个像素点的灰度值产生影响,为便于理解,z值可以取0。
在本说明实施例中,根据第一顶点数据、第二顶点数据、第三顶点数据及第四顶点数据分别确定出的目标矩形区域的顶点坐标所对应的UV坐标为[0,0]、[1,0]、[1,1]及[0,1]。其中,UV坐标是uv纹理贴图坐标的简称,UV坐标可用于确定表面纹理贴图的位置。在实际应用中,可以将每个目标矩形区域作为一个纹理贴图区域,并在每个目标矩形区域内均绘制同一纹理,以生成热力图纹理。
在实际应用中,由于基于顶点数组确定出的目标矩形区域的长度为2nR、宽度为2mR,可知,该目标矩形区域的预设尺寸越大,则根据顶点数组确定出的目标矩形区域的长度和宽度也就越大。当目标矩形区域的预设尺寸过小或过大时,均会影响热力图纹理的展示效果,因此,用户可以根据实际需求确定、调整目标矩形区域的预设尺寸,以提升生成的热力图纹理的表达效果。
在本说明书实施例中,通过令构造的顶点数组中的顶点数据为三维数据,使得可以采用图形处理器,根据顶点数组集合中的顶点数据与热力图数据集合中的热力数据进行纹理绘制,从而为采用图形处理器的热力图纹理生成方案,提供了实施条件。
在本说明书实施例中,步骤103:采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,具体可以包括:
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组绘制各个所述目标矩形区域,在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理。
在本说明书实施例中,可以采用图形处理器生成热力图纹理。具体的,对于顶点数组集合中的任意一个顶点数组,图形处理器可以根据该顶点数组确定对应的目标矩形区域的顶点坐标,进而根据确定出的顶点坐标绘制该顶点数组对应的目标矩形区域。图形处理器绘制的目标矩形区域的个数与顶点数组集合中的顶点数组的个数相等,图形处理器绘制的目标矩形区域的个数与热力图数据集合中的热力图数据的个数也相等。
例如,假定预设尺寸为5,n=m=1,z=0,热力图数据集合中包含三个热力图数据,其中,第一热力图数据的地理坐标A为(10°E,10°N),第二热力图数据的地理坐标B为(14°E,14°N),第三热力图数据的地理坐标C为(25°E,25°N)。则根据第一热力图数据的地理坐标A构建的第一顶点数组为{[5°E,5°N,0],[15°E,5°N,0],[15°E,15°N,0],[5°E,15°N,0]}。根据第二热力图数据的地理坐标B构建的第二顶点数组为{[9°E,9°N,0],[19°E,9°N,0],[19°E,19°N,0],[9°E,19°N,0]}。根据第三热力图数据的地理坐标C构建的第三顶点数组为{[20°E,20°N,0],[30°E,20°N,0],[30°E,30°N,0],[20°E,30°N,0]}。此时,顶点数组集合为{第一顶点数组,第二顶点数组,第三顶点数组}。
图2为本说明书实施例提供的根据上例中的顶点数组集合绘制的目标矩形区域的示意图。如图2所示,在xy坐标系内绘制有多个目标矩形区域。其中,xy坐标系与热力图数据中的地理坐标A、B、C所在的地理坐标系相同。第一目标矩形区域201是根据与地理坐标A对应的第一顶点数组绘制出的区域。第二目标矩形区域202是根据与地理坐标B对应的第二顶点数组绘制出的区域。第三目标矩形区域203是根据与地理坐标C对应的第三顶点数组绘制出的区域。其中,第一目标矩形区域201与第二目标矩形区域202之间具有重叠区域204。
在本说明书实施例中,图形处理器可以绑定高斯纹理为绘制目标,并在各个目标矩形区域内均绘制一张高斯纹理。由于不同的目标矩形区域之间存在重叠区域,因此,图形处理器可以根据所述热力图数据集合中的热力数据,对各个目标矩形区域之间的重叠区域进行灰度颜色混合处理,以生成热力图纹理,所述热力图纹理中的像素点的灰度值与覆盖所述像素点的各个所述目标矩形区域对应的热力数据成正比。
其中,高斯纹理可以指根据高斯函数(Gaussian Function)生成的纹理图像,图3为本说明书实施例提供的一种高斯纹理图像的示意图。如图3所示,该高斯纹理图像的对称中心处的像素点的灰度值最大,与该高斯纹理图像的对称中心之间的距离越大的像素点的灰度值越小。在实际应用中,高斯纹理图像中像素点的灰度值的范围一般为[0,255],其中,白色为255,黑色为0。在本说明书实施例中,为便于计算,可以将高斯纹理中的各像素点的灰度值进归一化至[0,1]。
接图2所示的实施例,图形处理器可以分别在第一目标矩形区域201、第二目标矩形区域202及第三目标矩形区域203中各绘制一张高斯纹理,并对第一目标矩形区域201与第二目标矩形区域202之间的重叠区域204进行灰度颜色混合处理,得到重叠区域204中各个像素点的灰度值。而对于第一目标矩形区域201、第二目标矩形区域202及第三目标矩形区域203中未与其他目标矩形区域重叠的部分,图形处理器可以直接将在该部分绘制的高斯纹理中的像素点的灰度值与该区域对应的热力数据的乘积确定为该部分对应像素点的灰度值。而对于并未被目标矩形区域所覆盖的区域中的像素点的灰度值可以直接设置为灰度值的最小值,其中,灰度值最小值可以为0,从而得到热力图纹理。
在本说明书实施例中,图形处理器在绘制目标矩形区域、在目标矩形区域内绘制高斯纹理以及进行灰度颜色混合处理时,均可以采用并行处理方式,从而提升热力图纹理的生成效率及速度。
在实际应用中,图形处理器可以利用OpenGL(Open Graphics Library)生成热力图纹理。其中,OpenGL是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。具体的,步骤103可以包括:
采用图形处理器,利用OpenGL的绘制函数,根据所述顶点数组集合中的各个顶点数组创建各个所述目标矩形区域,并在所述各个所述目标矩形区域内绘制对应的高斯纹理,基于OpenGL的颜色混合函数及所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,得到热力图纹理。
在本说明书实施例中,由于根据顶点数组创建的区域为矩形区域,因此,可以利用OpenGL中的矩形绘制函数,根据顶点数组去绘制目标矩形区域。由于绘制出的各个目标矩形区域中通常会存在重叠区域,因此,可以通过设置OpenGL中的glBlendFunc函数,并绑定高斯纹理为绘制目标,从而对各个目标矩形区域进行纹理绘制,得到热力图纹理。
在本说明书实施例中,基于OpenGL的颜色混合函数及所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,具体可以包括:
采用OpenGL中的颜色混合函数glBlendFunc(GL_ONE,GL_ONE),根据覆盖重叠区域的目标矩形区域对应的热力数据,对该重叠区域进行灰度颜色混合处理。
例如,接图2所示的实施例,假定,第一目标矩形区域201对应的地理坐标A处的热力数据a为0.2,第二目标矩形区域202对应的地理坐标B处的热力数据b为0.4。对于重叠区域204中的某个像素点,第一目标矩形区域201中绘制的高斯纹理中对应该像素点的灰度值Ga为0.8,第二目标矩形区域202中绘制的高斯纹理中对应该像素点的灰度值Gb为0.1,则采用OpenGL中的颜色混合函数glBlendFunc(GL_ONE,GL_ONE),对该像素点进行灰度颜色混合处理得到的灰度值=热力数据a×灰度值Ga+热力数据b×灰度值Gb=0.2×0.8+0.4×0.1=0.2。在实际应用中,当进行灰度颜色混合处理得到的灰度值大于1.0时,该灰度值可以被自动截取为1.0,以保证生成热力图纹理。
在本说明书实施例中,通过利用OpenGL在以热力图数据中的地理坐标为中心的目标矩形区域内绘制高斯纹理,并对各个目标矩形区域之间的重叠区域进行灰度颜色混合处理,使得生成的热力图纹理中的像素点的灰度值与覆盖所述像素点的各个目标矩形区域对应的热力数据成正比,从而可以提高生成的热力图纹理的有效性及准确性。
由于步骤103中生成的热力图纹理通常用于生成热力图,因此,本说明书实施例中还给出了基于热力图纹理生成热力图的实现方式。
在本说明书实施例中,图1中的方法还可以包括:
获取热力图网格。
对于所述热力图网格中的每个位置,利用顶点着色器从所述热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合。
利用所述顶点着色器对所述网格位置灰度值集合中的各个网格位置灰度值进行颜色插值处理,得到网格位置颜色值集合,所述网格位置颜色值集合中的网格位置颜色值为所述热力图网格中的各个位置对应的颜色值。
利用像素着色器根据所述网格位置颜色值集合,生成热力图。
在本说明书实施例中,热力图网格可以基于现有的三角形网格生成算法根据用户输入的多边形边界数据生成。其中,三角形网格生成算法可以包括:前沿推进法(AdvancingFront)或Delaunay三角网格生成算法等。
在本说明书实施例中,对于所述热力图网格中的任意一个位置,顶点着色器可以根据世界坐标及热力数据分布的最小矩形区域坐标,从步骤103所生成的热力图纹理中确定出与所述任意一个位置对应的像素点的灰度值,得到所述任意一个位置的灰度值(即网格位置灰度值)。
其中,热力数据分布的最小矩形区域坐标意为热力图数据集合中的热力数据所分布的最小矩形区域的左下角坐标及右上角坐标,可以表示为Min:(X_min,Y_min,0),Max:(X_max,Y_max,0)。接图2所示的实施例,热力图数据集合中包含三个热力图数据,其中,第一热力图数据的地理坐标A为(10°E,10°N),第二热力图数据的地理坐标B为(14°E,14°N),第三热力图数据的地理坐标C为(25°E,25°N);则该热力图数据集合对应的热力数据分布的最小矩形区域坐标为Min:(10°E,10°N,0),Max:(25°E,25°N,0)。
在本说明书实施例中,顶点着色器还可以根据预设颜色插值算法,对与热力图网格中的某位置相对应的网格位置灰度值进行颜色插值处理,得到该位置的颜色值(即网格位置颜色值),以便于像素着色器根据该网格位置颜色值对热力图网格中的该位置进行着色,生成彩色的热力图。例如,假定,热力图网格中某个位置对应的热力图纹理中的像素点的灰度值为0.8,而预设颜色值分别为:红色(1,0,0)、黄色(1,1,0)、绿色(0,1,0)及蓝色(0,0,1),则可以根据预设颜色值,对该位置的灰度值0.8进行四线性插值,得到该位置的网格位置颜色值。在本说明书实施例中,用户可以根据实际需求设置预设颜色值,预设颜色值的个数大于等于2即可,对此不做具有限定。
在本说明书实施例中,在得到网格位置颜色值集合之后,还可以包括:
获取预设偏移参数。根据所述预设偏移参数,对所述网格位置颜色值集合中的每个网格位置颜色值进行偏移,得到偏移后的网格位置颜色值集合,所述偏移后的网格位置颜色值集合中的偏移网格位置颜色值的横轴坐标及纵轴坐标均为零,所述偏移网格位置颜色值的竖轴坐标为对应的网格位置颜色值与所述预设偏移参数之积。
对应的,所述利用像素着色器根据所述网格位置颜色值集合,生成热力图,具体可以包括:利用像素着色器根据所述偏移后的网格位置颜色值集合,生成三维热力图。
在本说明书实施例中,通过对网格位置颜色值集合中的每个网格位置颜色值进行偏移,从而使得像素着色器可以根据偏移后的网格位置颜色值,生成三维热力图。由于三维热力图相较于二维热力图更直观、立体,因此,有利于提升用户体验。
在本说明书实施例中,步骤103之后,还可以包括:
对所述热力图纹理进行高斯模糊处理,得到处理后的热力图纹理。
所述对于所述热力图网格中的每个位置,利用顶点着色器从所述热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合,具体包括:
对于所述热力图网格中的每个位置,利用顶点着色器从所述处理后的热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合,以便于根据所述网格位置灰度值集合生成热力图。
在本说明书实施例中,通过对热力图纹理进行高斯模糊处理,可以得到更加光滑的热力图纹理。基于高斯模糊处理后的热力图纹理生成的热力图具体更好的表达效果,从而有利于提升用户体验。
基于同样的思路,本说明书实施例还提供了与图1中方法对应的装置。该装置应用于终端设备,所述终端设备具有图形处理器。图4为本说明书实施例提供的对应于图1中方法的一种热力图纹理的生成装置的结构示意图。如图4所示,该装置可以包括:
热力图数据获取模块401,用于获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标。
顶点数组构建模块402,用于对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标。
热力图纹理生成模块403,用于采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据。
在本说明书实施例中,通过令顶点数组构建模块402构造的顶点数组中的顶点数据为三维数据,从而使得热力图纹理生成模块403可以采用图形处理器根据顶点数组集合中的顶点数据与热力图数据集合中的热力数据进行纹理绘制,得到热力图纹理。由于图形处理器具有数据级并行、操作级并行和/或任务级并行的统一计算模式,因此,采用图形处理器GPU生成热力图纹理的装置,相较采用中央处理器CPU生成热力图纹理的装置的运行效率更高,从而令生成的热力图纹理的实时性更好,进而可以提升基于热力图纹理生成的热力图的实时性,满足用户对热力图实时性的需求。
在本说明书实施例中,所述热力图数据中的地理坐标包括地理横坐标及地理纵坐标,所述顶点数组构建模块402,具体可以用于:
获取目标矩形区域的预设尺寸。
根据所述预设尺寸、所述地理横坐标及所述地理纵坐标,生成顶点数组,所述顶点数组包括四个三维顶点数据,所述四个三维顶点数据的横轴坐标与所述地理横坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的纵轴坐标与所述地理纵坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的竖轴坐标均相等。
在本说明书实施例中,所述热力图纹理生成模块403可以包括:
热力图纹理生成单元,用于采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组绘制各个所述目标矩形区域,在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理,其中,所述高斯纹理是根据高斯函数生成的。
其中,所述根据所述热力图数据中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理,具体可以包括:
根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,得到热力图纹理,所述热力图纹理中的像素点的灰度值与覆盖所述像素点的各个所述目标矩形区域对应的热力数据成正比。
其中,所述热力图纹理生成单元,具体可以用于:
采用所述图形处理器,利用OpenGL的绘制函数,根据所述顶点数组集合中的各个顶点数组创建各个所述目标矩形区域,并在所述各个所述目标矩形区域内绘制对应的高斯纹理,基于OpenGL的颜色混合函数及所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,得到热力图纹理。
在本说明书实施例中,热力图纹理的生成装置还可以包括:
热力图网格获取模块,用于获取热力图网格。
网格位置灰度值集合确定模块,用于对于所述热力图网格中的每个位置,利用顶点着色器从所述热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合。
网格位置颜色值集合生成模块,用于利用所述顶点着色器对所述网格位置灰度值集合中的各个网格位置灰度值进行颜色插值处理,得到网格位置颜色值集合,所述网格位置颜色值集合中的网格位置颜色值为所述热力图网格中的各个位置对应的颜色值。
热力图生成模块,用于利用像素着色器根据所述网格位置颜色值集合,生成热力图。
在本说明书实施例中,热力图纹理的生成装置还可以包括:
预设偏移参数获取模块,用于获取预设偏移参数。
偏移模块,用于根据所述预设偏移参数,对所述网格位置颜色值集合中的每个网格位置颜色值进行偏移,得到偏移后的网格位置颜色值集合,所述偏移后的网格位置颜色值集合中的偏移网格位置颜色值的横轴坐标及纵轴坐标均为零,所述偏移网格位置颜色值的竖轴坐标为对应的网格位置颜色值与所述预设偏移参数之积。
所述热力图生成模块,具体用于:利用像素着色器根据所述偏移后的网格位置颜色值集合,生成三维热力图。
基于同样的思路,本说明书实施例还提供了图1方法对应的设备。图5为本说明书实施例提供的一种热力图纹理的生成设备的结构示意图。如图5所示,该设备500可以包括:
至少一个处理器510;所述处理器包括图形处理器;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据。
在本说明书实施例中,热力图纹理的生成设备通过令构造的顶点数组中的顶点数据为三维数据,从而可以采用图形处理器根据顶点数组集合中的顶点数据与热力图数据集合中的热力数据进行纹理绘制,得到热力图纹理。由于图形处理器具有数据级并行、操作级并行和/或任务级并行的统一计算模式,因此,采用图形处理器GPU生成热力图纹理的设备,相较采用中央处理器CPU生成热力图纹理的设备的运行效率更高,从而令生成的热力图纹理的实时性更好,进而可以提升基于热力图纹理生成的热力图的实时性,满足用户对热力图实时性的需求。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在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)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,应包含在本申请的权利要求范围之内。
Claims (15)
1.一种热力图纹理的生成方法,应用于终端设备,所述终端设备具有图形处理器,包括:
获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据;
所述根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,具体包括:
在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理。
2.如权利要求1所述的方法,所述热力图数据中的地理坐标包括地理横坐标及地理纵坐标,所述根据所述热力图数据中的地理坐标,构建顶点数组,具体包括:
获取目标矩形区域的预设尺寸;
根据所述预设尺寸、所述地理横坐标及所述地理纵坐标,生成顶点数组,所述顶点数组包括四个三维顶点数据,所述四个三维顶点数据的横轴坐标与所述地理横坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的纵轴坐标与所述地理纵坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的竖轴坐标均相等。
3.如权利要求1所述的方法,所述采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,具体包括:
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组绘制各个所述目标矩形区域,在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理,其中,所述高斯纹理是根据高斯函数生成的。
4.如权利要求3所述的方法,所述根据所述热力图数据中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理,具体包括:
根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,得到热力图纹理,所述热力图纹理中的像素点的灰度值与覆盖所述像素点的各个所述目标矩形区域对应的热力数据成正比。
5.如权利要求3所述的方法,所述采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组绘制各个所述目标矩形区域,在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理,具体包括:
采用所述图形处理器,利用OpenGL的绘制函数,根据所述顶点数组集合中的各个顶点数组创建各个所述目标矩形区域,并在所述各个所述目标矩形区域内绘制对应的高斯纹理,基于OpenGL的颜色混合函数及所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,得到热力图纹理。
6.如权利要求1所述的方法,还包括:
获取热力图网格;
对于所述热力图网格中的每个位置,利用顶点着色器从所述热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合;
利用所述顶点着色器对所述网格位置灰度值集合中的各个网格位置灰度值进行颜色插值处理,得到网格位置颜色值集合,所述网格位置颜色值集合中的网格位置颜色值为所述热力图网格中的各个位置对应的颜色值;
利用像素着色器根据所述网格位置颜色值集合,生成热力图。
7.如权利要求6所述的方法,所述得到网格位置颜色值集合之后,还包括:
获取预设偏移参数;
根据所述预设偏移参数,对所述网格位置颜色值集合中的每个网格位置颜色值进行偏移,得到偏移后的网格位置颜色值集合,所述偏移后的网格位置颜色值集合中的偏移网格位置颜色值的横轴坐标及纵轴坐标均为零,所述偏移网格位置颜色值的竖轴坐标为对应的网格位置颜色值与所述预设偏移参数之积;
所述利用像素着色器根据所述网格位置颜色值集合,生成热力图,具体包括:
利用像素着色器根据所述偏移后的网格位置颜色值集合,生成三维热力图。
8.如权利要求6所述的方法,所述得到热力图纹理之后,还包括:
对所述热力图纹理进行高斯模糊处理,得到处理后的热力图纹理;
所述对于所述热力图网格中的每个位置,利用顶点着色器从所述热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合,具体包括:
对于所述热力图网格中的每个位置,利用顶点着色器从所述处理后的热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合。
9.一种热力图纹理的生成装置,应用于终端设备,所述终端设备具有图形处理器,包括:
热力图数据获取模块,用于获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
顶点数组构建模块,用于对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
热力图纹理生成模块,用于采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据;
所述根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,具体包括:
在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理。
10.如权利要求9所述的装置,所述热力图数据中的地理坐标包括地理横坐标及地理纵坐标,所述顶点数组构建模块,具体用于:
获取目标矩形区域的预设尺寸;
根据所述预设尺寸、所述地理横坐标及所述地理纵坐标,生成顶点数组,所述顶点数组包括四个三维顶点数据,所述四个三维顶点数据的横轴坐标与所述地理横坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的纵轴坐标与所述地理纵坐标之差的绝对值均等于所述预设尺寸,所述四个三维顶点数据的竖轴坐标均相等。
11.如权利要求9所述的装置,所述热力图纹理生成模块包括:
热力图纹理生成单元,用于采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组绘制各个所述目标矩形区域,在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理,其中,所述高斯纹理是根据高斯函数生成的。
12.如权利要求11所述的装置,所述热力图纹理生成单元,具体用于:
采用所述图形处理器,利用OpenGL的绘制函数,根据所述顶点数组集合中的各个顶点数组创建各个所述目标矩形区域,并在所述各个所述目标矩形区域内绘制对应的高斯纹理,基于OpenGL的颜色混合函数及所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域之间的重叠区域进行灰度颜色混合处理,得到热力图纹理。
13.如权利要求9所述的装置,还包括:
热力图网格获取模块,用于获取热力图网格;
网格位置灰度值集合确定模块,用于对于所述热力图网格中的每个位置,利用顶点着色器从所述热力图纹理中确定出与所述位置对应的像素点的灰度值,得到网格位置灰度值集合;
网格位置颜色值集合生成模块,用于利用所述顶点着色器对所述网格位置灰度值集合中的各个网格位置灰度值进行颜色插值处理,得到网格位置颜色值集合,所述网格位置颜色值集合中的网格位置颜色值为所述热力图网格中的各个位置对应的颜色值;
热力图生成模块,用于利用像素着色器根据所述网格位置颜色值集合,生成热力图。
14.如权利要求13所述的装置,还包括:
预设偏移参数获取模块,用于获取预设偏移参数;
偏移模块,用于根据所述预设偏移参数,对所述网格位置颜色值集合中的每个网格位置颜色值进行偏移,得到偏移后的网格位置颜色值集合,所述偏移后的网格位置颜色值集合中的偏移网格位置颜色值的横轴坐标及纵轴坐标均为零,所述偏移网格位置颜色值的竖轴坐标为对应的网格位置颜色值与所述预设偏移参数之积;
所述热力图生成模块,具体用于:利用像素着色器根据所述偏移后的网格位置颜色值集合,生成三维热力图。
15.一种热力图纹理的生成设备,包括:
至少一个处理器;所述处理器包括图形处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取热力图数据集合,所述热力图数据集合中的每个热力图数据包括:热力数据及所述热力数据对应的目标地点的地理坐标;
对于所述热力图数据集合中的每个热力图数据,根据所述热力图数据中的地理坐标,构建顶点数组,得到顶点数组集合,所述顶点数组包括四个三维顶点数据,所述三维顶点数据包括以所述地理坐标为中心的目标矩形区域的顶点坐标;
采用所述图形处理器,根据所述顶点数组集合中的各个顶点数组确定各个所述目标矩形区域,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,所述热力图纹理中的像素点的灰度值用于描述与所述像素点对应的实际地理位置处的热力数据;
所述根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理绘制,得到热力图纹理,具体包括:
在所述各个所述目标矩形区域内绘制高斯纹理,并根据所述热力图数据集合中的热力数据,对所述各个所述目标矩形区域进行纹理颜色混合处理,得到热力图纹理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910957583.XA CN110738722B (zh) | 2019-10-10 | 2019-10-10 | 一种热力图纹理的生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910957583.XA CN110738722B (zh) | 2019-10-10 | 2019-10-10 | 一种热力图纹理的生成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110738722A CN110738722A (zh) | 2020-01-31 |
CN110738722B true CN110738722B (zh) | 2022-08-30 |
Family
ID=69268598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910957583.XA Active CN110738722B (zh) | 2019-10-10 | 2019-10-10 | 一种热力图纹理的生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110738722B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6788759B1 (ja) * | 2020-02-12 | 2020-11-25 | Dmg森精機株式会社 | 情報処理装置及び情報処理システム |
CN111325822B (zh) * | 2020-02-18 | 2022-09-06 | 腾讯科技(深圳)有限公司 | 热点图的显示方法、装置、设备及可读存储介质 |
CN111369657B (zh) * | 2020-03-09 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 三维热力图的生成方法、装置、计算机设备和存储介质 |
CN111861577B (zh) * | 2020-07-28 | 2024-01-23 | 北京思特奇信息技术股份有限公司 | 产品办理热力图生成方法、装置、电子设备及存储介质 |
CN112365572B (zh) * | 2020-09-30 | 2023-10-03 | 深圳市为汉科技有限公司 | 一种基于曲面细分的渲染方法及其相关产品 |
CN112598802B (zh) * | 2020-12-29 | 2022-09-30 | 武汉中海庭数据技术有限公司 | 一种基于众包数据的热力图生成方法及*** |
CN112750190B (zh) * | 2021-01-28 | 2023-02-10 | 腾讯科技(深圳)有限公司 | 三维热力图生成方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967702A (zh) * | 2017-10-20 | 2018-04-27 | 北京建筑大学 | 逆向渲染绘制的热力图可视化方法 |
CN109726261A (zh) * | 2019-01-07 | 2019-05-07 | 北京超图软件股份有限公司 | 一种热力图生成方法及装置 |
CN110033505A (zh) * | 2019-04-16 | 2019-07-19 | 西安电子科技大学 | 一种基于深度学习的人体动作捕捉与虚拟动画生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105741334B (zh) * | 2014-12-11 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 热力图提供方法及装置 |
-
2019
- 2019-10-10 CN CN201910957583.XA patent/CN110738722B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967702A (zh) * | 2017-10-20 | 2018-04-27 | 北京建筑大学 | 逆向渲染绘制的热力图可视化方法 |
CN109726261A (zh) * | 2019-01-07 | 2019-05-07 | 北京超图软件股份有限公司 | 一种热力图生成方法及装置 |
CN110033505A (zh) * | 2019-04-16 | 2019-07-19 | 西安电子科技大学 | 一种基于深度学习的人体动作捕捉与虚拟动画生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110738722A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110738722B (zh) | 一种热力图纹理的生成方法、装置及设备 | |
CN110717005B (zh) | 一种热力图纹理的生成方法、装置及设备 | |
CN107016924B (zh) | 虚拟地图中的瓦片地图生成方法、更新方法和装置 | |
CN106296565B (zh) | 图形管线方法和设备 | |
US9495767B2 (en) | Indexed uniform styles for stroke rendering | |
US9275493B2 (en) | Rendering vector maps in a geographic information system | |
US9589386B2 (en) | System and method for display of a repeating texture stored in a texture atlas | |
US20160260247A1 (en) | Graphics processing using directional representations of lighting at probe positions within a scene | |
US10019802B2 (en) | Graphics processing unit | |
CN109544674B (zh) | 一种体积光实现方法及装置 | |
CN111091620B (zh) | 基于图形学的地图动态路网处理方法及***、计算机设备 | |
US9542724B1 (en) | Systems and methods for stroke rendering on digital maps | |
KR20170031479A (ko) | 경로 스트로크를 수행하는 방법 및 장치 | |
US20160063669A1 (en) | Dynamic Motion Path Blur User Interface | |
US9779484B2 (en) | Dynamic motion path blur techniques | |
CN114742931A (zh) | 渲染图像的方法、装置、电子设备及存储介质 | |
CN111563963B (zh) | 一种***气象模拟方法、智能终端及存储介质 | |
CN104574473A (zh) | 一种基于静态图片生成动态效果的方法和装置 | |
She et al. | An efficient method for rendering linear symbols on 3D terrain using a shader language | |
CN116342724A (zh) | 热力图对象生成方法、装置以及计算机可读存储介质 | |
CN115187709A (zh) | 地理模型处理方法、装置、电子设备及可读存储介质 | |
JP5738442B2 (ja) | 地図描画装置、ナビゲーション装置および地図描画方法 | |
CN113487708B (zh) | 基于图形学的流动动画实现方法、存储介质及终端设备 | |
JP5777736B2 (ja) | 地図データ作成装置、地図データ作成方法および記憶媒体 | |
CN117078797B (zh) | 道路标识的渲染方法、装置、电子设备、存储介质及产品 |
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 |