一种显示方法、显示装置、电子设备及存储介质与流程

文档序号:19485638发布日期:2019-12-21 03:48阅读:145来源:国知局
一种显示方法、显示装置、电子设备及存储介质与流程

本发明涉及显示技术领域,特别是涉及一种显示方法、显示装置、电子设备及存储介质。



背景技术:

随着计算机视觉技术的发展,三维显示与三维重建已经可以实现,其中三维显示有图像逼真、全视景、多角度、多人同时观看和实时交互等众多优点。体扫描三维显示就是利用电机带动屏幕旋转,在足够的转速(如24r/s)与屏幕刷新率下,由于人眼的“视觉暂留”会在视网膜上形成三维的场景。

人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称“后像”,视觉的这一现象则被称为“视觉暂留”。简单的“视觉暂留”实验包括,“笼中鸟”、“走马灯”等,一般刷新率大于10hz时可以产生稳定的视觉暂留现象。

在实际应用中,体扫描三维显示存在显示不均匀的问题,例如距离屏幕转轴越远分辨率越低,显示效果越差。



技术实现要素:

本发明提供一种显示方法、显示装置、电子设备及存储介质,以提高三维显示的均匀性。

为了解决上述问题,本发明公开了一种显示方法,所述方法包括:

获取模型数据,所述模型数据包括物体模型的贴图信息;

在所述物体模型中选取多个剖面,并在各所述剖面上选取体素点;

确定所述体素点与屏幕上所包含的像素区域之间的对应关系;

将满足预设条件的体素点确定为目标体素点,并删除不满足所述预设条件的体素点;

根据所述贴图信息,确定目标像素区域的像素值,生成各所述剖面的图像并在所述屏幕上进行显示,其中,所述目标像素区域为所述目标体素点所对应的像素区域。

可选地,所述模型数据还包括所述物体模型的位置信息以及构成所述物体模型的多个网格的信息,在所述物体模型中选取多个剖面,并在各所述剖面上选取体素点的步骤之前,还包括:

根据所述位置信息,将所述物体模型平移至三维显示区域的中心位置,所述三维显示区域是根据所述屏幕的有效显示区域以及旋转轴在所述屏幕上的位置确定;

根据所述物体模型以及所述三维显示区域的大小,对所述多个网格的顶点位置进行调整,将所述物体模型缩放至所述三维显示区域内。

可选地,所述模型数据还包括构成所述物体模型的多个网格的信息,所述在所述物体模型中选取多个剖面,并在各所述剖面上选取体素点的步骤,包括:

根据所述屏幕在一个旋转周期内的刷新频率,确定所述物体模型的多个剖面;

根据所述像素区域之间的间距,以及所述剖面与所述网格的相交结果,确定各所述剖面上的体素点。

可选地,所述根据所述像素区域之间的间距,以及所述剖面与所述网格的相交结果,确定各所述剖面上的体素点的步骤,包括:

当所述剖面与所述网格相交于两个点时,根据所述间距在两个交点之间均匀插入多个节点,将所述交点以及所述节点确定为所述剖面上的体素点;

当所述剖面与所述网格相交于一个点时,将所述交点确定为所述剖面上的体素点。

可选地,所述屏幕包括第一像素区域,所述确定所述体素点与所述屏幕上所包含的像素区域之间的对应关系的步骤,包括:

当所述体素点与第一像素区域之间的距离小于或等于预设阈值时,确定所述体素点属于所述第一像素区域。

可选地,所述将满足预设条件的体素点确定为目标体素点,并删除不满足所述预设条件的体素点的步骤,包括:

将所述物体模型划分为多个空间单元,所述空间单元为立方体,所述立方体的边长为所述像素区域之间的间距以及两个相邻的所述剖面之间的边缘弧长中的最大值;

将所述立方体中靠近中心的体素点确定为目标体素点;

当所述立方体中所包含的体素点数量大于1时,将所述目标体素点之外的体素点进行删除。

可选地,所述贴图信息包括构成所述物体模型的多个网格的顶点纹理坐标和贴图图片,所述根据所述贴图信息,确定目标像素区域的像素值的步骤,包括:

将所述贴图图片进行k-means聚类,获得像素值与聚类中心的对应关系;

根据所述目标体素点所属网格的顶点纹理坐标,确定目标聚类中心;

根据像素值与聚类中心的对应关系,将与所述目标聚类中心对应的目标像素值确定为所述目标像素区域的像素值。

为了解决上述问题,本发明还公开了一种显示装置,所述显示装置包括:

第一模块,被配置为获取模型数据,所述模型数据包括物体模型的贴图信息;

第二模块,被配置为在所述物体模型中选取多个剖面,并在各所述剖面上选取体素点;

第三模块,被配置为确定所述体素点与所述屏幕上所包含的像素区域之间的对应关系;

第四模块,被配置为将满足预设条件的体素点确定为目标体素点,并删除不满足所述预设条件的体素点;

第五模块,被配置为根据所述贴图信息,确定目标像素区域的像素值,生成各所述剖面的图像并在所述屏幕上进行显示,其中,所述目标像素区域为所述目标体素点所对应的像素区域。

为了解决上述问题,本发明还公开了一种电子设备,其所述电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现任一实施例所述的显示方法。

为了解决上述问题,本发明还公开了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行任一实施例所述的显示方法。

与现有技术相比,本发明包括以下优点:

本申请技术方案提供了一种显示方法、显示装置、电子设备及存储介质,首先获取模型数据,模型数据包括物体模型的贴图信息;然后在物体模型中选取多个剖面以及各剖面上的体素点;确定体素点与屏幕所包含像素区域之间的对应关系;将满足预设条件的体素点确定为目标体素点,并删除不满足预设条件的体素点;再根据贴图信息,确定目标像素区域的像素值,生成各剖面的图像并在屏幕上进行显示,其中,目标像素区域为目标体素点所对应的像素区域。本申请技术方案通过将不满足预设条件的体素点进行删除,可以对靠近屏幕旋转轴的体素数据进行压缩,从而解决由于屏幕旋转而造成体素点分布“内密外疏”的问题,提高三维显示的均匀性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了示出了体扫描三维显示的结构示意图;

图2示出了体扫描三维显示中体素分布的示意图;

图3示出了本申请一实施例提供的一种显示方法的步骤流程图;

图4示出了本申请一实施例提供的一种三维模型文件结构;

图5示出了本申请一实施例提供的旋转轴在屏幕上不同位置时的三维显示区域;

图6示出了本申请一实施例提供的体素点映射到像素区域的示意图;

图7示出了本申请一实施例提供的一种确定剖面以及体素点的步骤流程图;

图8示出了本申请一实施例提供的一种模型网格示意图;

图9示出了本申请一实施例提供的剖面与三角网格相交的示意图;

图10示出了本申请一实施例提供的对体素数据进行压缩的步骤流程图;

图11示出了本申请一实施例提供的对体素数据进行压缩的结构示意图;

图12示出了本申请一实施例提供的确定目标像素区域的像素值的步骤流程图;

图13示出了本申请一实施例提供的一种贴图数据压缩示意图;

图14示出了本申请一实施例提供的一种显示装置的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

体扫描三维显示就是利用电机带动屏幕旋转,参照图1示出了体扫描三维显示的结构示意图。假设电机转速为l=24r/s,电机转一圈的过程中屏幕的刷新率为f=360hz/r(即屏幕的刷新率为8640hz/s),当屏幕旋转一周时,在360个线上留下视觉影像,由于旋转一周用时很短,这360个视觉影像并没有消失,而是留存在视网膜上,形成平面影像。假设屏幕分辨率为320*240,那么体素的总量为360*320*240。

发明人发现,由于旋转速度相同,所以屏幕上距离转轴越远的像素旋转一周扫过的周长更长,使得体素的大小与像素距离旋转轴的距离相关,距离越远体素越大,单位体积内的分辨率越低,显示效果越差,如图2所示。在体扫描三维显示中,体素的大小不是等大的,越靠近旋转轴的体素越小,造成显示的“内密外疏”。

为了解决上述问题,本申请一实施例提供了一种显示方法,参照图3,该显示方法可以包括:

步骤301:获取模型数据,模型数据包括物体模型的贴图信息。

通过三维设计软件绘制的三维模型,可以输出各种格式的模型文件(模型数据),本实施例以obj文件为例进行解析。

模型文件中每一个物体模型都是由三角面组成,三角面的纹理由三个纹理坐标和贴图图片共同决定。因此每个物体都有:位置信息(如物体模型在世界坐标系中的坐标)、网格信息(如三角网格的顶点在模型坐标系中的坐标)、贴图信息。其中,贴图信息包括贴图图片和三角网格顶点对应的纹理坐标。

模型文件结构如图4所示,通过解析三维模型文件可以获取物体模型中的每一网格的三角形顶点坐标及顶点纹理坐标。

在实际应用中,模型数据还可以包括物体模型的位置信息以及构成物体模型的多个网格(如三角网格)的信息(网格信息),在步骤302之前,本实施例还可以包括以下步骤:

根据位置信息,将物体模型平移至三维显示区域的中心位置,根据物体模型以及三维显示区域的大小,对多个网格的顶点位置进行调整,将物体模型缩放至三维显示区域内,其中,三维显示区域是根据屏幕的有效显示区域以及旋转轴在屏幕上的位置确定。

为了使获取的物体模型适用于各种尺寸的显示屏,需要对物体模型中的网格顶点坐标进行缩放和移动。首先将物体模型的中心移至三维显示区域的中心,然后获取整个物体模型的范围(长、宽、高),再根据三维显示区域的尺寸,计算缩放比例(长度方向和宽度方向可以等比例缩放),根据缩放比例对网格顶点坐标进行调整,将物体模型平移和缩放至屏幕的三维显示区域内。

其中,屏幕绕旋转轴旋转形成的圆柱体构成三维显示区域,三维显示区域可以根据屏幕的有效显示区域以及旋转轴在屏幕上的位置确定。参照图5,左图的三维显示区域直径为屏幕宽度,右图的三维显示区域直径为屏幕宽度的2倍。

步骤302:在物体模型中选取多个剖面,并在各剖面上选取体素点。

在具体实现中,可以根据屏幕的分辨率以及屏幕所包含的像素区域之间的间距(pitch),确定物体模型的多个剖面以及各剖面上的体素点。

步骤303:确定体素点与屏幕上所包含的像素区域之间的对应关系。

在具体实现中,可以根据剖面上的体素点与位于剖面内的屏幕所包含的多个像素区域之间的距离,确定体素点所属的像素区域。

具体地,屏幕包括第一像素区域,当体素点与第一像素区域之间的距离小于或等于预设阈值时,确定体素点属于第一像素区域。

物体模型经过缩放与平移后,会使得体素的分布范围在屏幕旋转形成的圆柱体内,某个角度的剖面会与模型的网格产生交点,交点应该显示在屏幕的哪一个像素区域上就是体素点的映射问题。如图6所示,若体素点落在像素区域内,则映射到该像素区域;若体素点落在了像素区域之间的区域,就可以将其映射到距离最近的像素区域上。

其中,预设阈值例如可以为像素区域之间间距的一半。

步骤304:将满足预设条件的体素点确定为目标体素点,并删除不满足预设条件的体素点。

在具体实现中,可以将物体模型划分为多个空间单元,并将各空间单元中满足预设条件的体素点确定为目标体素点,并将各空间单元中目标体素点之外的体素点进行删除。

其中,满足预设条件的体素点例如可以是靠近空间单元中心点的体素点。

步骤305:根据贴图信息,确定目标像素区域的像素值,生成各剖面的图像并在屏幕上进行显示,其中,目标像素区域为目标体素点所对应的像素区域。

在具体实现中,某一个剖面上都有与三角网格相交保留的目标体素点,根据目标体素点所在三角面的顶点对应的纹理贴图坐标,可以将找到该目标体素点(目标像素区域)的像素值,最终可以将剖面上的目标体素点生成一张图像或者直接将目标体素点的像素值直接传递到显示装置(屏幕),以进行显示。

本实施例提供的显示方法,通过将不满足预设条件的体素点进行删除,可以对靠近屏幕旋转轴的体素数据进行压缩,从而解决由于屏幕旋转而造成体素点分布“内密外疏”的问题,提高三维显示的均匀性;并且,由于对体素数据进行了压缩,从而可以解决三维显示传输数据量庞大的问题,提高显示效果,本实施例适用于各种分辨率的显示屏。

在本实施例的一种实现方式中,模型数据还包括构成物体模型的多个网格的信息,参照图7,步骤302可以进一步包括:

步骤701:根据屏幕在一个旋转周期内的刷新频率,确定物体模型的多个剖面。

在具体实现中,当屏幕在一个旋转周期内的刷新频率为360hz/r时,可以在物体模型中选取360个剖面,例如每1°一个剖面。

步骤702:根据像素区域之间的间距,以及剖面与网格的相交结果,确定各剖面上的体素点。

具体地,当剖面与网格相交于两个点时,根据像素区域之间的间距在两个交点之间均匀插入多个节点,将交点以及节点确定为剖面上的体素点;当剖面与网格相交于一个点时,将交点确定为剖面上的体素点。

物体模型的网格图如图8所示,当某个平面剖分物体模型时,剖面都会与模型的三角网格相交于一个点或者两个点,如图9所示,当相交于两个点时(左图),可以在两个交点之间均匀的插入一些节点,交点与插入的节点构成该剖面上的体素点,从而将物体模型“体素化”。在两个交点之间插入节点的个数可以由两个交点之间的距离除以像素区域之间间距pitch,然后取整数得到。

在本实施例的一种实现方式中,参照图10,步骤304可以进一步包括:

步骤1001:将物体模型划分为多个空间单元,空间单元为立方体,立方体的边长为像素区域之间的间距以及两个相邻的剖面之间的边缘弧长中的最大值。

由于屏幕的旋转会造成体素点分布为“内密外疏”,因此可以对靠近转轴的区域进行体素数据的压缩。首先可以将物体模型划分为多个空间单元,如图11左图所示,该空间单元可以为立方体如“魔方”,立方体的边长可以取像素区域之间间距pitch与边缘弧长中的最大值。其中,边缘弧长可以为两个相邻的剖面之间、距离旋转轴最远的弧长,如图2所示。

步骤1002:将立方体中靠近中心的体素点确定为目标体素点。

步骤1003:当立方体中所包含的体素点数量大于1时,将目标体素点之外的体素点进行删除。

具体地,可以计算落在各立方体内体素点数,如果落在某个立方体中的体素点数超过1个,就将最靠近中心的一个体素点保留为目标体素点,其余的体素点均删除,如图11右图所示。进一步地,还可以根据实际情况将目标体素点移至立方体的中心位置。

本实现方式中,通过将各空间单元中的部分体素点进行删除,使得各空间单元中仅保留一个体素点,从而对靠近屏幕旋转轴的体素数据进行压缩,解决了由于屏幕旋转而造成体素点分布“内密外疏”的问题。

在实际应用中,物体模型的贴图图片一般为uv展开图,例如一张.bmp图像。假设剖面图像是分辨率为200*200的三通道图像,那么贴图数据大约为24位*200*200,数据传输时需要传输每一个点的坐标(x,y,index,r,g,b),其中r/g/b分别用8位二进制表示,index为剖面的标号。由于屏幕的刷新率极高,大约为9000hz,因此三维显示数据的传输量就会受到限制。

为了进一步解决三维显示数据的传输量庞大的问题,在本实施例的一种实现方式中,贴图信息包括构成物体模型的多个网格的顶点纹理坐标和贴图图片,参照图12,步骤305可以进一步包括:

步骤1201:将贴图图片进行k-means聚类,获得像素值与聚类中心的对应关系。

步骤1202:根据目标体素点所属网格的顶点纹理坐标,确定目标聚类中心。

步骤1203:根据像素值与聚类中心的对应关系,将与目标聚类中心对应的目标像素值确定为目标像素区域的像素值。

在具体实现中,可以将贴图图片(uv展开图)的像素值进行k-means聚类,聚类中心的个数代表了显示颜色的种类(像素值,假设64种),保留聚类中心的颜色种类,计算uv展开图上每一个点的像素值属于哪一个聚类中心,只需要记录聚类中心的索引就可以找到该颜色,从而每一种颜色的数据由原来的24位减少到了6位(6位二进制的数可以代表64中颜色)。如图13所示,将整张图像中可能存在的224种颜色,压缩到了8种颜色。

其中,k-means聚类算法(k-meansclusteringalgorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取k个对象作为初始聚类中心,然后计算每个对象与各个初始聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。

本实施例提供的显示方法,通过获取三维模型的网格信息与贴图信息、网格数据的体素化、体素数据的压缩、贴图数据的压缩等,将最终的数据以图片的方式映射到屏幕上,实现均匀的三维显示,与传统的二维显示相比,显示更为逼真、有景深、可以多人多角度观察。

本申请另一实施例还提供了一种显示装置,参照图14,该显示装置可以包括:

第一模块1401,被配置为获取模型数据,模型数据包括物体模型的贴图信息;

第二模块1402,被配置为在物体模型中选取多个剖面,并在各剖面上选取体素点;

第三模块1403,被配置为确定体素点与屏幕上所包含的像素区域之间的对应关系;

第四模块1404,被配置为将满足预设条件的体素点确定为目标体素点,并删除不满足预设条件的体素点;

第五模块1405,被配置为根据贴图信息,确定目标像素区域的像素值,生成各剖面的图像并在屏幕上进行显示,其中,目标像素区域为目标体素点所对应的像素区域。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请另一实施例还提供了一种电子设备,该电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现任一实施例所述的显示方法。

本申请另一实施例还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行任一实施例所述的显示方法。

本申请实施例提供了一种显示方法、显示装置、电子设备及存储介质,首先获取模型数据,模型数据包括物体模型的贴图信息;然后在物体模型中选取多个剖面以及各剖面上的体素点;确定体素点与屏幕所包含像素区域之间的对应关系;将满足预设条件的体素点确定为目标体素点,并删除不满足预设条件的体素点;再根据贴图信息,确定目标像素区域的像素值,生成各剖面的图像并在屏幕上进行显示,其中,目标像素区域为目标体素点所对应的像素区域。本申请技术方案通过将不满足预设条件的体素点进行删除,可以对靠近屏幕旋转轴的体素数据进行压缩,从而解决由于屏幕旋转而造成体素点分布“内密外疏”的问题,提高三维显示的均匀性。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种显示方法、显示装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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