压力数据3D成像方法、装置、终端设备和可读存储介质与流程

文档序号:24337671发布日期:2021-03-19 12:18阅读:82来源:国知局
压力数据3D成像方法、装置、终端设备和可读存储介质与流程

本发明涉及电数字数据处理领域,尤其涉及一种压力数据3d成像方法、装置、终端设备和可读存储介质。



背景技术:

随着5g时代以及智能硬件算力的提升,移动端或者网页端算力逐渐提升。由于网络带宽的提升,传感器数据从服务器传输到移动设备端的延迟逐渐减小,智能硬件上传感器数据可以以非常快速的速度传送到移动端或者网页端,但是,目前传感器和画面交互多处于少量数据交互,或是2d场景内的简单交互,缺少对大量压力矩阵数据进行处理的方法,对于大量压力矩阵数据难以获得良好的交互体验,导致用户体验差。



技术实现要素:

鉴于上述问题,本申请提出一种压力数据3d成像方法、装置、终端设备和可读存储介质。

本申请提出一种压力数据3d成像方法,所述方法包括:

利用矩阵压力传感器获取用于确定当前图像帧的初始压力数据矩阵;

对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵;

将所述标准压力数据矩阵在3d环境下进行渲染,并输出所述当前图像帧对应的3d图像。

本申请所述的压力数据3d成像方法,所述对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵,包括:

在所述初始压力数据矩阵的每两个相邻行之间和每两个相邻列之间插入非零压力值,以确定扩展压力数据矩阵;

对所述扩展压力数据矩阵进行模糊滤波处理,以获取模糊压力数据矩阵;

对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵;

对所述缩放压力数据矩阵中的各个压力值进行时域柔滑处理,以获取标准压力数据矩阵。

本申请所述的压力数据3d成像方法,所述在所述初始压力数据矩阵的每两个相邻行之间和每两个相邻列之间插入非零压力值,以确定扩展压力数据矩阵,包括:

将所述初始压力数据矩阵转换为初始一维数组;

根据所述初始压力数据矩阵确定扩展一维数组的大小;

利用所述初始一维数组的第(length*(y-1)+x)-1个位置的压力值填充所述扩展一维数组的第(length*2*(2*y-2)+(2*x-1))-1个位置,length为所述初始压力数据矩阵行或列的长度,x表示所述初始压力数据矩阵第x行,y表示所述初始压力数据矩阵第y列;

所述扩展一维数组的其他未填充位置插入非零压力值;

根据填充完成的所述扩展一维数组确定所述扩展压力数据矩阵。

本申请所述的压力数据3d成像方法,所述对所述扩展压力数据矩阵进行模糊滤波处理,以获取模糊压力数据矩阵,包括:

根据所述扩展压力数据矩阵确定高斯核;

利用所述高斯核对所述扩展压力数据矩阵进行高斯卷积滤波,以获取模糊压力数据矩阵。

本申请所述的压力数据3d成像方法,所述对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵,包括:

确定模糊压力数据矩阵中的最大压力值减最小压力值的差值;

根据预设缩放值和所述差值的比值确定缩放系数;

利用所述缩放系数对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵。

本申请所述的压力数据3d成像方法,所述对所述缩放压力数据矩阵中的各个压力值进行时域柔滑处理,以获取标准压力数据矩阵,包括:

确定所述当前图像帧对应的所述缩放压力数据矩阵中第i个压力值和上一图像帧对应的所述缩放压力数据矩阵中第i个压力值之差的绝对值;

根据第i个压力值对应的绝对值和预设柔滑强度值的比值确定第i个压力值对应的柔滑值;

利用第i个压力值对应的柔滑值更新所述当前图像帧对应所述缩放压力数据矩阵中第i个压力值,以获取标准压力数据矩阵。

本申请所述的压力数据3d成像方法,将所述标准压力数据矩阵在3d环境下进行渲染,包括:

根据所述标准压力数据矩阵构建三维坐标系;

将所述标准压力数据矩阵对应的各个矩阵点按照预设的初始颜色和形状布局在所述三维坐标系的xoy面;

将所述标准压力数据矩阵的各个压力值作为对应的矩阵点上z值,并以区别于所述初始颜色的颜色在所述三维坐标系中显示。

本申请提出一种压力数据3d成像装置,所述装置包括:

获取模块,用于利用矩阵压力传感器获取用于确定当前图像帧的初始压力数据矩阵;

优化模块,用于对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵;

渲染模块,用于将所述标准压力数据矩阵在3d环境下进行渲染,并输出所述当前图像帧对应的3d图像。

本申请提出一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行本申请所述的压力数据3d成像方法。

本申请提出一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行本申请所述的压力数据3d成像方法。

本申请公开的压力数据3d成像方法,利用矩阵压力传感器获取用于确定当前图像帧对应的初始压力数据矩阵;对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵;将所述标准压力数据矩阵在3d环境下进行渲染,并输出对应的3d图像。本申请的技术方案将矩阵压力数据以3d图像的形式显示,有利于用户更直观的获取矩阵压力数据的变化过程,从而于提高用户体验。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

图1示出了本申请实施例提出的一种压力数据3d成像方法的流程示意图;

图2示出了本申请实施例提出的一种对压力数据矩阵进行视觉优化处理的流程示意图;

图3示出了本申请实施例提出的一种确定扩展压力数据矩阵的流程示意图;

图4示出了本申请实施例提出的一种获取模糊压力数据矩阵的流程示意图;

图5示出了本申请实施例提出的一种获取缩放压力数据矩阵的流程示意图;

图6示出了本申请实施例提出的一种获取标准压力数据矩阵的流程示意图;

图7示出了本申请实施例提出的一种标准压力数据矩阵在3d环境下进行渲染的流程示意图;

图8示出了本申请实施例提出的一种矩阵压力数据3d图像示意图;

图9示出了本申请实施例提出的另一种矩阵压力数据3d图像示意图;

图10示出了本申请实施例提出的一种压力数据3d成像装置的结构示意图。

主要元件符号说明:

10-压力数据3d成像装置;11-获取模块;12-优化模块;13-渲染模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。

本申请公开的压力数据3d成像方法用于将矩阵压力传感器获取的每一帧中的各个压力点的压力数据以3d图像的形式显示在显示平面中。矩阵压力传感器可以是一组包括多个压力传感器的传感器阵列,例如,一个压力传感器的阵列可以包括25个压力传感器,每一个传感器作为一个压力检测点,25个压力传感器可以按照一定的间隔分布成大小为5*5的矩阵压力传感器。根据矩阵压力传感器中的各个压力检测点在当前时刻检测到的压力值可以确定当前帧的初始压力数据矩阵。可以理解,矩阵压力传感器的维度大小可以按需设置,相邻的压力检测点之间的间隔可以按需设置,本申请不做限定。

进一步的,考虑到初始压力数据矩阵的各个压力点之间存在一定间隔,为了保证3d图像的连续性,使得用户获得更好的视觉体验,本申请的技术方案对初始压力数据矩阵依次进行插值处理、滤波处理、缩放处理和时域柔滑处理后,在3d环境下进行渲染,并输出对应的3d图像。

实施例1

本申请的一个实施例,参见图1,示出一种压力数据3d成像方法包括以下步骤:

s100:利用矩阵压力传感器获取用于确定当前图像帧对应的初始压力数据矩阵。

可以理解,多个压力传感器可以组成n*m维的压力传感器阵列,n*m维的压力传感器阵列可以称为矩阵压力传感器,n*m维的压力传感器阵列包括n*m个压力采样点,在某一时刻利用矩阵压力传感器可以获取n*m个压力值,根据n*m个压力值可以确定对应的初始压力数据矩阵。

n*m维的初始压力数据矩阵可以并行传入处理器,并行传入处理器的传输速度更快,需要并行传入电路和并行软件分析算法进行配合;n*m维的初始压力数据矩阵也可以转换为长度为n*m的数组,数组中的每一个压力值可以串行传入处理器,即n*m个压力值依次传入处理器,需要串行传入电路和串行软件分析算法进行配合。可以理解,数组占用的存储空间较少,以数组的形式保存数据,可以节省存储空间;数组定义简单,而且访问方便,按照数组的索引查询数组中的各个压力值的速度更快,且按照索引遍历数组更为方便,可以随机访问数组中的各个压力值。

可以理解,矩阵压力传感器根据预定的采样频率,可以采样获得各个压力检测点的压力数据,在获取到矩阵压力传感上全部压力检测点的压力数据后,全部压力检测点的压力数据可以组成一个初始压力数据矩阵,该初始压力数据矩阵可以用于生成一个图像帧,当前时刻对应的3d图像即为当前图像帧。

s200:对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵。

示范性的,如图2所示,对初始压力数据矩阵进行视觉优化处理包括以下步骤:

s210:在所述初始压力数据矩阵的每两个相邻行之间和每两个相邻列之间插入非零压力值,以确定扩展压力数据矩阵。

在利用初始压力数据矩阵确定对应的3d图像时,由于物理压力面是一个连续的面,但n*m维的压力传感器阵列的各个压力传感器之间有一定的间距,所以初始压力数据矩阵中相邻的数据会存在差距,为了更好的视觉体验,需要将初始压力数据矩阵的行和列的数据量进行扩充,扩充倍数可以按需设定,例如将4*4的初始压力数据矩阵,可以在相邻的行之间增加一行,在相邻的列之间增加一列,以扩充成8*8的扩展压力数据矩阵。可以理解,扩充倍数和压力传感器阵列的各个压力传感器之间的间距有关,如果各个压力传感器之间的间距较大,可以适当增加扩充倍数。其中,增加的行和列可以插入固定的非零值。

s220:对所述扩展压力数据矩阵进行模糊滤波处理,以获取模糊压力数据矩阵。

由于扩展压力数据矩阵中各个扩充的行和列的插入值为一个固定的非零值,需要对扩展压力数据矩阵进行模糊滤波处理,以使扩展压力数据矩阵密度更高,越接近真实物理压力面的压力情况。

s230:对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵。

由于在对模糊压力数据矩阵进行处理时,提取的为数据之间的相关关系,对于压力的绝对值大小关系不大,所以为了保证数据相关性变化明显,需要将矩阵数据的变化拉到最大从而更清楚地显示相关性。

s240:对所述缩放压力数据矩阵中的各个压力值进行时域柔滑处理,以获取标准压力数据矩阵。

由于标准压力数据矩阵的维度较大,考虑到在硬件收集-上传服务器-移动终端-实时渲染过程中不可控因素较多,可能导致数据产生卡顿现象,对实时感受有很大影响,所以需要在渲染每一个矩阵点时,利用该矩阵点前几帧对应的压力值对该矩阵点当前对应的压力值进行时域柔滑处理,使得标准压力数据矩阵的渲染更佳顺畅柔滑。

s300:将所述标准压力数据矩阵在3d环境下进行渲染,并输出所述当前图像帧对应的3d图像。

标准压力数据矩阵的各个压力值对应的行和列可以看做一个三维坐标(x,y,z),例如,标准压力数据矩阵的第一行、第一列上的压力值为5,则对应的三维坐标为(1,1,5),将标准压力数据矩阵对应的各个三维坐标渲染到3d坐标系下,在显示界面,可以将压力值为零的矩阵点和压力值不为零的矩阵点以不同的形式显示。为了更好的视觉效果,可以将压力值不为零的矩阵点根据压力值的大小显示不同的颜色,例如,当压力值从小到大变化时,对应的颜色可以是从蓝、绿、黄、橙、红渐变,有利于用户更好的感受到压力的大小和分布。

本实施例公开的压力数据3d成像方法,利用矩阵压力传感器获取用于确定当前图像帧对应的初始压力数据矩阵;对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵;将所述标准压力数据矩阵在3d环境下进行渲染,并输出对应的3d图像。本实施例的技术方案将矩阵压力数据以3d图像的形式显示,有利于用户更直观的获取矩阵压力数据的变化过程,从而有利于提高用户体验。

实施例2

本申请的一个实施例,参见图3,示出了确定扩展压力数据矩阵包括以下步骤:

s211:将所述初始压力数据矩阵转换为初始一维数组。

示范性的,n*m的初始压力数据矩阵可以转换为初始一维数组smallmat[],smallmat[]的长度为n*m,以4*4的初始压力数据矩阵为例,smallmat[1]可以表示初始压力数据矩阵的第一行、第一列的压力值,smallmat[2]可以表示初始压力数据矩阵的第一行、第二列的压力值,以此类推,smallmat[1]~smallmat[4]依次表示初始压力数据矩阵的第一行从左至右的压力值,smallmat[5]~smallmat[8]依次表示初始压力数据矩阵的第二行从左至右的压力值,smallmat[9]~smallmat[12]依次表示初始压力数据矩阵的第三行从左至右的压力值,smallmat[13]~smallmat[16]依次表示初始压力数据矩阵的第四行从左至右的压力值。

s212:根据所述初始压力数据矩阵确定扩展一维数组的大小。

示范性的,若扩充倍数是2倍,初始压力数据矩阵的大小是n*m,则对应的扩展一维数组的大小为2n*2m。

s213:利用所述初始一维数组的第(length*(y-1)+x)-1个位置的压力值填充所述扩展一维数组的第(length*2*(2*y-2)+(2*x-1))-1个位置,length为所述初始压力数据矩阵行或列的长度,x表示所述初始压力数据矩阵第x行,y表示所述初始压力数据矩阵第y列。

利用初始一维数组确定扩展一维数组,可以利用以下for循环,将初始一维数组的各个压力值填充至扩展一维数组中的对应位置:

for(letx=1;x<=length;x++){

for(lety=1;y<=length;y++){

bigmat[(length*2*(2*y-2)+(2*x-1))-1]=(smallmat[(length*(y-1)+x)-1])*10;

bigmat[(length*2*(2*y-2)+(2*x-1))-1]=smallmat[(length*(y-1)+x)-1];

}

}

可以理解,上述for循环遍历初始一维数组的各个索引对应的压力值,利用所述初始一维数组的第(length*(y-1)+x)-1个位置的压力值填充所述扩展一维数组的第(length*2*(2*y-2)+(2*x-1))-1个位置,length为所述初始压力数据矩阵行或列的长度,x表示所述初始压力数据矩阵第x行,y表示所述初始压力数据矩阵第y列,bigmat[]表示大小为2n*2m的扩展一维数组。

示范性的,在x=1,y=1时,bigmat[0]=smallmat[0],代表将初始一维数组的第0个索引对应的压力值赋值给扩展一维数组的第0个索引的元素;在x=1,y=2时,bigmat[16]=smallmat[4],代表将初始一维数组的第4个索引对应的压力值赋值给扩展一维数组的第16个索引的元素;在x=1,y=3时,bigmat[32]=smallmat[8],代表将初始一维数组的第8个索引对应的压力值赋值给扩展一维数组的第32个索引的元素,以此类推。

s214:所述扩展一维数组的其他未填充位置插入非零压力值。

将初始一维数组的各个压力值填充到扩展一维数组的对应位置后,未被填充的其他未填充位置需要插入非零压力值。非零压力值可以是1~255中的任意值。

s215:根据填充完成的所述扩展一维数组确定所述扩展压力数据矩阵。

将扩展一维数组转换成扩展压力数据矩阵,例如,长度为8*8的扩展一维数组的前8个压力值可以作为扩展压力数据矩阵的第一行的数据,以此类推。

本实施例通过在初始压力数据矩阵的每一个相邻的行之间添加行,在初始压力数据矩阵的每一个相邻的列之间添加列,并在添加的行和列中填入非零值,缩小初始压力数据矩阵中相邻的数据之间的差距,使得相邻行之间平滑过度,相邻的列之间平滑过度,可以使得用户获得更好的视觉体验。

实施例3

本申请的一个实施例,参见图4,示出了确定模糊压力数据矩阵包括以下步骤:

s221:根据所述扩展压力数据矩阵确定高斯核。

示范性的,可以利用以下for循环确定高斯核:

for(variy=i-rs;iy<i+rs+1;iy++)

for(varix=j-rs;ix<j+rs+1;ix++){

varx=math.min(w-1,math.max(0,ix));

vary=math.min(h-1,math.max(0,iy));

vardsq=(ix-j)*(ix-j)+(iy-i)*(iy-i);

varwght=math.exp(-dsq/(2*r*r))/(math.pi*2*r*r);

}

}

其中,rs=r*2.57,r为扩展压力数据矩阵对应高斯分布的标准差,w为扩展压力数据矩阵的行数,h为扩展压力数据矩阵的列数,可以理解,上述for循环是根据以下高斯核计算公式确定:

,c表示高斯核,r为扩展压力数据矩阵对应高斯分布的标准差,(x,y)为扩展压力数据矩阵对应矩阵点的坐标。

s222:利用所述高斯核对所述扩展压力数据矩阵进行高斯卷积滤波,以获取模糊压力数据矩阵。

示范性的,高斯卷积滤波过程如下:

functiongaussblur_1(scl,tcl,w,h,r){

varrs=math.ceil(r*2.57);

for(vari=0;i<h;i++){

for(varj=0;j<w;j++){

varval=0,wsum=0;

for(variy=i-rs;iy<i+rs+1;iy++)

for(varix=j-rs;ix<j+rs+1;ix++){

varx=math.min(w-1,math.max(0,ix));

vary=math.min(h-1,math.max(0,iy));

vardsq=(ix-j)*(ix-j)+(iy-i)*(iy-i);

varwght=math.exp(-dsq/(2*r*r))/(math.pi*2*r*r);

}

}

val+=scl[y*w+x]*wght;

wsum+=wght;

}

tcl[i*w+j]=math.round(val/wsum);

}

}

其中,中间的两个for循环用于确定高斯核,外部的两个for循环用于对扩展压力数据矩阵进行高斯卷积滤波,scl[]表示扩展压力数据矩阵对应的数组,tcl[]表示模糊压力数据矩阵对应的数组。

本实施例利用高斯模糊滤波对扩展压力数据矩阵进行模糊滤波处理,以使扩展压力数据矩阵密度更高,越接近真实物理压力面的压力情况。

实施例4

本申请的一个实施例,参见图5,示出了确定缩放压力数据矩阵包括以下步骤:

s231:确定模糊压力数据矩阵中的最大压力值减最小压力值的差值。

遍历模糊压力数据矩阵中各个压力值,从各个压力值中确定最大压力值和最小压力值,并计算最大压力值减最小压力值的差值。

s232:根据预设缩放值和所述差值的比值确定缩放系数。

糊压力数据矩阵中各个压力值是0~255之间的数值,优选的,预设缩放值可以是255,可以理解,将255作为缩放值,根据预设缩放值和所述差值的比值确定缩放系数,可以将每一帧中的各个压力值的差异放大到最大,有利于在3d图像中明显的显示受压部分的变化情况。

s233:利用所述缩放系数对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵。

可以将模糊压力数据矩阵中的各个压力值乘以缩放系数,以获取缩放压力数据矩阵。

示范性的,可以利用以下代码获取缩放压力数据矩阵:

functionfixdivide(input,output,length){

for(leti=0;i<=length*length;i++){

if(input[i]>maxv){

maxv=input[i];

}

if(input[i]<minv){

minv=input[i];

}

dv=maxv-minv;

}

for(leti=0;i<=length*length;i++){

output[i]=input[i]*(255/dv);

}

}

其中,input[i]表示模糊压力数据矩阵对应的数组的第i个压力值,output[i]表示缩放压力数据矩阵对应的数组的第i个压力值,dv表示模糊压力数据矩阵中的最大压力值减最小压力值的差值,预设缩放值为255,255/dv可以表示缩放系数。

考虑到在对模糊压力数据矩阵进行处理时,提取的为数据之间的相关关系,对于压力的绝对值大小关系不大,所以为了保证数据相关性变化明显,本实施例将矩阵数据的变化拉到最大从而更清楚地显示各个压力值之间的相关性。

实施例5

本申请的一个实施例,参见图6,示出了确定标准压力数据矩阵包括以下步骤:

s241:确定当前图像帧对应的所述缩放压力数据矩阵中第i个压力值和上一图像帧对应的所述缩放压力数据矩阵中第i个压力值之差的绝对值。

s242:根据第i个压力值对应的绝对值和预设柔滑强度值的比值确定第i个压力值对应的柔滑值。

s243:利用第i个压力值对应的柔滑值更新当前图像帧对应所述缩放压力数据矩阵中第i个压力值,以获取标准压力数据矩阵。

可以理解,当前图像帧对应的所述缩放压力数据矩阵可以用于确定当前图像帧。

可以理解,i小于等于n,n和i为正整数,n为用于确定当前图像帧的所述缩放压力数据矩阵中压力值的总数。其中,预设柔滑强度值可以根据实际测试情况进行设定。可选的,柔滑强度值可以等于10。将经过时域柔滑处理的标准压力数据矩阵在显示屏幕中显示时,界面显示或切换使得过程更为顺滑流畅。

实施例6

本申请的一个实施例,参见图7,示出了3d环境下渲染包括以下步骤:

s310:根据所述标准压力数据矩阵构建三维坐标系。

示范性的,可以根据标准压力数据矩阵构建三维坐标系,可以以标准压力数据矩阵中的任意一点作为三维坐标系的原点,例如,可以以标准压力数据矩阵中心的矩阵点作为三维坐标系的原点,可以以标准压力数据矩阵左下角或右下角的矩阵点作为三维坐标系的原点。

s320:将所述标准压力数据矩阵对应的各个矩阵点按照预设的初始颜色和形状布局在所述三维坐标系的xoy面。

在标准压力数据矩阵的各个矩阵点的压力值为零时,标准压力数据矩阵的各个矩阵点可以看做z值为零的坐标点,即若标准压力数据矩阵的各个压力值为零,则标准压力数据矩阵作为三维坐标系的xoy面。

s330:将所述标准压力数据矩阵的各个压力值作为对应的矩阵点上z值,并以区别于所述初始颜色的颜色在所述三维坐标系中显示。

将所述标准压力数据矩阵对应的各个矩阵点按照预设的初始颜色和形状布局在所述三维坐标系的xoy面;将所述标准压力数据矩阵的各个压力值作为对应的矩阵点上z值,并以区别于所述初始颜色的颜色在所述三维坐标系中显示。

优选的,对于各个压力值不为零的矩阵点,可以根据压力值的大小为对应的矩阵点标注不同的颜色,例如,可以将压力值分为5个等级范围,第一个等级范围内的压力值小于第二个等级范围内的压力值,第二个等级范围内的压力值小于第三个等级范围内的压力值,第三个等级范围内的压力值小于第四个等级范围内的压力值,第四个等级范围内的压力值小于第五个等级范围内的压力值,第一个等级范围内的压力值对应的矩阵点可以标注为蓝色、第二个等级范围内的压力值对应的矩阵点可以标注绿色、第三个等级范围内的压力值对应的矩阵点可以标注黄色、第四个等级范围内的压力值对应的矩阵点可以标注橙色、第五个等级范围内的压力值对应的矩阵点可以标注红色。以使用户可以清晰的看到显示界面中压力的变化和分布。

可选的,三维坐标系中各个矩阵点可以预设的形状表示,可以为圆形、正方形或三角形等。

示范性的,矩阵压力数据对应的3d图像如图8和图9所示。

实施例7

本申请的一个实施例,参见图10,示出了一种压力数据3d成像装置10包括获取模块11、优化模块12和渲染模块13。

获取模块11,用于利用矩阵压力传感器获取用于确定当前图像帧对应的初始压力数据矩阵;优化模块12,用于对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵;渲染模块13,用于将所述标准压力数据矩阵在3d环境下进行渲染,并输出所述当前图像帧对应的3d图像。

进一步的,所述对所述初始压力数据矩阵进行视觉优化处理,以获取标准压力数据矩阵,包括:在所述初始压力数据矩阵的每两个相邻行之间和每两个相邻列之间插入非零压力值,以确定扩展压力数据矩阵;对所述扩展压力数据矩阵进行模糊滤波处理,以获取模糊压力数据矩阵;对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵;对所述缩放压力数据矩阵中的各个压力值进行时域柔滑处理,以获取标准压力数据矩阵。

进一步的,所述的压力数据3d成像方法,所述在所述初始压力数据矩阵的每两个相邻行之间和每两个相邻列之间插入非零压力值,以确定扩展压力数据矩阵,包括:

将所述初始压力数据矩阵转换为初始一维数组;根据所述初始压力数据矩阵确定扩展一维数组的大小;利用所述初始一维数组的第(length*(y-1)+x)-1个位置的压力值填充所述扩展一维数组的第(length*2*(2*y-2)+(2*x-1))-1个位置,length为所述初始压力数据矩阵行或列的长度,x表示所述初始压力数据矩阵第x行,y表示所述初始压力数据矩阵第y列;所述扩展一维数组的其他未填充位置插入非零压力值;根据填充完成的所述扩展一维数组确定所述扩展压力数据矩阵。

进一步的,所述的压力数据3d成像方法,所述对所述扩展压力数据矩阵进行模糊滤波处理,以获取模糊压力数据矩阵,包括:

根据所述扩展压力数据矩阵确定高斯核;利用所述高斯核对所述扩展压力数据矩阵进行高斯卷积滤波,以获取模糊压力数据矩阵。

进一步的,所述的压力数据3d成像方法,所述对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵,包括:

确定模糊压力数据矩阵中的最大压力值减最小压力值的差值;根据预设缩放值和所述差值的比值确定缩放系数;利用所述缩放系数对所述模糊压力数据矩阵中的各个压力值进行缩放,以获取缩放压力数据矩阵。

进一步的,所述的压力数据3d成像方法,所述对所述缩放压力数据矩阵中的各个压力值进行时域柔滑处理,以获取标准压力数据矩阵,包括:

确定当前图像帧对应的所述缩放压力数据矩阵中第i个压力值和上一图像帧对应的所述缩放压力数据矩阵中第i个压力值之差的绝对值;根据第i个压力值对应的绝对值和预设柔滑强度值的比值确定第i个压力值对应的柔滑值;利用第i个压力值对应的柔滑值更新当前图像帧对应的所述缩放压力数据矩阵中第i个压力值,以获取标准压力数据矩阵。

进一步的,所述的压力数据3d成像方法,将所述标准压力数据矩阵在3d环境下进行渲染,包括:

根据所述标准压力数据矩阵构建三维坐标系;将所述标准压力数据矩阵对应的各个矩阵点按照预设的初始颜色和形状布局在所述三维坐标系的xoy面;将所述标准压力数据矩阵的各个压力值作为对应的矩阵点上z值,并以区别于所述初始颜色的颜色在所述三维坐标系中显示。

本实施例公开的压力数据3d成像装置10通过获取模块11、优化模块12和渲染模块13的配合使用,用于执行上述实施例所述的压力数据3d成像方法,上述实施例所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。

本申请公开的一种终端设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行本申请所述的压力数据3d成像方法。

可以理解,终端设备可以是手机、pad和笔本电脑等。

本申请公开的一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行本申请所述的压力数据3d成像方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

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