一种数据处理方法和设备、显示方法和设备与流程

文档序号:16208366发布日期:2018-12-08 07:24阅读:137来源:国知局
一种数据处理方法和设备、显示方法和设备与流程

本申请属于数据处理技术领域,尤其涉及一种数据处理方法和设备、显示方法和设备。

背景技术

目前,随着数据分析和数据走向趋势的需求越来越多,拟合得到用于表征某个特征或者元素的连接线的应用也越来越多。例如,在医疗,财务、天气等场景中,希望获得收支的趋势图、天气温度的走势图,人体血压等的走势图等等,一般都需要拟合出一条连接线。

然而,因为在生成拟合得到的连接线的时候,实际测得的只能是有限数量数据点作为曲线形成的参考数据点,然后基于获取的有限数量的数据点作为已知数据,对这些已知数据进行拟合,可以得到一条连接线。

然而,通过现有的生成连接线的方式有时会生成如图1所示的连接线,由图1可以看出,对于已知点中的极大值有时不位于连接线的波峰,极小值有时不位于连接线的波谷,这样就会导致,用户在看连接线的时候会认为实际的情况存在比真实测得的极大值更大的值,或者是比真实测得的极小值更小的值,从而导致生成的连接线无法精确显示数据的实际值。如果基于这种连接线进行数据分析,也容易导致分析结果出错。

如图1所示,假设为七天血糖示意图,如果血糖低于5.0,则认为患者是有低血糖症状的,但是其实患者实际测得的数值中并没有低于5的情况,因此,可以认为患者是不存在低血糖症状的。但是如果基于拟合得到的连接线进行判断,有一段数据是位于5.0之下的,这样就会错误诊断为患者患有低血糖,从而导致诊断结果有误。

由此可见,采用现有的方式拟合生成连接线,会存在连接线无法精准对数据进行展现的问题,尤其在波峰或波谷的位置,容易出现数据失真。针对该问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请目的在于提供一种数据处理方法和设备,以便使得生成的连接线可以精确表示已知数据,避免生成的连接线在波峰或波谷处出现失真。

本申请提供一种数据处理方法和设备是这样实现的:

一种数据处理方法,所述方法包括:

获取多个数据点,其中,所述多个数据点顺序排列;

根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;

根据所述多个数据点和所述多个控制点,输出穿过所述多个数据点的连接线。

一种显示方法,所述方法包括:

获取多个数据点,其中,所述多个数据点顺序排列;

根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;

根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;

显示所述连接线。

一种数据处理设备,所述设备包括:

通信模块,用于建立通信连接并进行数据传输;

处理器,用于获取多个数据点,其中,所述多个数据点顺序排列;根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

一种显示设备,包括:

通信模块,用于建立通信连接并进行数据传输;

处理器,用于获取目标对象的多个数据点,其中,所述多个数据点顺序排列;根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;

显示部件,用于显示所述连接线。

一种可穿戴设备,包括:

传感器,用于获取多个数据点,其中,所述多个数据点顺序排列;

处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;

显示部件,用于显示所述连接线。

一种测量设备,包括:

测量仪,用于测量得到多个数据点,其中,所述多个数据点顺序排列;

处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;

显示部件,用于显示所述连接线。

一种头戴式显示器,包括:

传感器,用于获取多个数据点,其中,所述多个数据点顺序排列;

处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;

显示部件,用于显示所述连接线。

一种移动设备,包括:

传感器,用于获取多个数据点,其中,所述多个数据点顺序排列;

处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,输出穿过所述多个数据点的连接线。

本申请提供的数据处理方法及设备,通过对控制点进行调整,保证多个已知数据点中的极大值相邻的控制点小于等于极大值,与多个数据点中的极小值相邻的控制点大于等于极小值,从而使得生成的穿过多个数据点的连接线中的极大值可以位于波峰位置,极小值可以位于波谷位置了,避免了波峰波谷处数据的失真,解决了现有方式生成的连接线波峰和波谷不能够准确的表示为极大值和极小值,而导致的连接线失真,曲线表示结果不准确的技术问题,达到了尽可能保证极大值位于连接线的波峰位置极小值位于连接线的波谷位置,降低连接线失真可能性的技术效果。

附图说明

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

图1是本申请提供的基于原始的控制点作为最终的控制点生成的7天血糖趋势图;

图2是本申请提供的数据处理方法的一种实施例的方法流程图;

图3是本申请提供的连接线的一种示意图

图4是本申请提供的已知数据点的连线示意图;

图5是本申请提供的中点连线和移动点示意图;

图6是本申请提供的初始控制点示意图;

图7是本申请提供的对极值点的初始控制点进行旋转的示意图;

图8是本申请提供的对非极值点的初始控制点进行旋转的一种示意图;

图9是本申请提供的对非极值点的初始控制点进行旋转的另一种示意图;

图10是本申请提供的对非极值点的初始控制点进行旋转的又一种示意图;

图11是本申请提供的对非极值点的初始控制点进行旋转的又一种示意图;

图12是本申请提供的中点连线和移动点示意图;

图13是本申请提供的初始控制点示意图;

图14是本申请提供的基于调整旋转后的控制点作为最终的控制点的生成的7天血糖趋势图;

图15是本申请提供的一种数据处理方法的计算机终端的硬件结构框图;

图16是本申请提供的一种显示设备示意图;

图17是本申请提供的一种可穿戴设备示意图;

图18是本申请提供的一种头戴式显示器示意图;

图19是本申请提供的一种移动终端示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

基于已知数据点生成得到趋势图的时候,可以基于已知点确定出控制点,其中,控制点用于控制拟合得到的曲线的走向,但是一般最终拟合得到的曲线不经过控制点。为了减少在已知数据点处拟合得到的曲线所存在的失真问题,可以控制极大值附近的控制点小于极大值,极小值附近的控制点大于极小值,这样,按照控制点所在方向拟合得到的趋势图,就可以尽量保证极大值位于曲线的波峰位置,极小值位于曲线的波谷位置,从而减少曲线的失真。

为此,在本例中提供了一种数据处理方法,如图2所示,可以包括如下步骤:

步骤101:获取多个数据点,其中,所述多个数据点顺序排列;

其中,目标对象可以是天气、电压、电流、血压、血氧等,也可以是图形学中的图形目标。对于这些目标对象而言,在生成连接线的时候,一般需要获取多个数据点,即,获取多个离散的点,然后基于这些离散的点,可以拟合得到连接线,通过该连接线表征目标对象的趋势或者是目标对象的规律性变化。即,该连接线可以是趋势线,也可以是自然连线。

因为最终得到的是连接线,因此,这些获取的已知的离散点可以是按照时间排列的,也可能是按照位置排列的,或者是其它的排列顺序。以按照时间排列为例,例如,获取病人一点钟的血压、二点钟的血压、三点钟的血压、四点钟的血压、五点钟的血压。基于这五个小时的血压值可以拟合得到病人在五个小时内的连续的血压变化曲线,为了得到这种曲线,就可以按照时序对这几个已知点进行顺序排列。例如,可以按照一点钟、两点钟、三点钟、四点钟、五点钟的顺序排列,也可以按照五点钟、四点钟、三点钟、两点钟、一点钟的顺序排列。即,可以按照时间顺序进行时序排序,也可以按照时间逆序进行时序排列,具体采用哪种方式,可以根据实际的目标需要选择,本申请对此不作限定。

然而值得注意的是,上述仅是以按照时间顺序进行排列为例进行说明而已,在实际实现的时候,还可以采用的其它的排序方式,只要是顺序排列即可,具体排列方式,本申请不作具体限定。

步骤102:根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;

其中,控制点用于控制连接线的走向。例如,已知a和b两个已知点,可以为这两个点确定两个控制点c和d。c和d用于控制a到b的走向,从而得到表征a到b的曲线。例如,以三次贝塞尔曲线为例,已知点p0(起点)和p3(终点),确定出控制点p1和p2,曲线起始于p0走向p1,并从p2的方向来到p3,最终生成的连接线不经过p1和p2,p1和p2仅是为了提供连接线的方向信息。如图3所示,将p0、p1、p2和p3带入预设的三次贝塞尔曲线公式:

b(t)=p0(1-t)3+3p1t(1-t)2+3p2t2(1-t)+p3t3

可以得到如图3所示的连接线。

在有多个已知点的情况下,为了使得极大值可以位于波峰位置,极小值位于波谷位置,需要控制极大值相邻的控制点不大于极大值,极小值相邻的控制点不小于极小值,从而保证极大值可以位于波峰位置,极小值位于波谷位置。为此,可以按照如下方式生成控制点:

s1:对相邻数据点进行连线,得到多条连接线;

s2:对于每两条存在交点的连接线执行如下操作:

s2-1:获取两条连接线的中点,对中点进行连接得到中点连线;

s2-2:从所述中点连线中选取一点作为移动点;

s2-3:将所述中点连线移动至所述移动点与所述交点重合,得到移动后的中点连线;

s2-4:将所述移动后的中点连线的两个端点作为两个原始控制点;

s2-5:在所述交点为极大值或极小值的情况下,以所述交点为支点,旋转所述移动后的中点连线至旋转后的中点连线与所述极值点处于同一水平线;

s2-6:从所述旋转后的中线连线中,选取与所述两个原始控制点位于同一竖直方向的两个点,作为用于生成所述连接线的控制点。

举例而言,如图4所示,有五个已知点数据:a、b、c、d和e,确定出每相邻两个点连线的中点,得到如图5所示的四个中点:m1、m2、m3和m4。然后,对相邻的中点进行连线,可以得到如图5所示的线段:m1m2、m2m3和m3m4。

可以将极值点竖直方向与线段的交点作为移动点,也可以按照预设的线段比例关系确定移动点:t1、t2、t3。以t2为例,可以按照:t2m2/t2m3=l1/l2确定出t2的位置,其中,l1表示b到c之间的距离,l2表示c到d之间的距离。

然后,将中点组成的线段进行平移,将中点组成的线段平移至对应的已知点,例如,如图6所示,将移动点移动到对应的顶点的路径,t1点移动到b,t2点移动到c。t3移动到d,将移动后的中点作为初始控制点:c1、c2、c3、c4、c5和c6。

为了使得最终得到连接线可以保证极大值点位于波峰,极小值点位于波谷,可以对初始控制点进行调整,使得每个极大值相邻的两个控制点都可以不大于该极大值,每个极小值相邻的两个控制点都可以不小于该极小值。为此,可以对初始控制点的位置进行调整,将初始控制点竖直方向与对应的极值点的水平方向的交点作为最终确定的控制点。例如,如图6所示,得到最终确定的控制点:c1’、c2’、c3’、c4’、c5’和c6’,即,b点两端的控制点连线变为水平线段c1’c2’,c点两端的控制点连线变为水平线段c3’c4’,d点两端的控制点连线变为水平线段c5’c6’。

如图7所示,b到c之间的连接线的走向由c2’和c3’控制,c和d之间的连接线的走向由c4’和c5’控制。因与极大值相邻的控制点不大于该极大值,与极小值相邻的控制点不小于该极小值,因此,基于这些用于控制连接线走向的控制点所生成的连接线可以保证已知的极大值点位于波峰位置,极小值点位于波谷位置。

考虑不是每个已知数据点都是极值点,也有时会出现连续三个数据点上升,或者连续三个数据点下降的情况,那么位于中间的点就不是极值点。在这种情况下,为了保证极大值可以位于波峰,极小值可以位于波谷,可以控制在三个数据点(较小点、中间点、较大点)顺序上升的情况下,可以控制该中间点对应的两个原始控制点中与极大值较近的原始控制点大于该极大值的情况下,将该中间点对应的两个原始控制点的连线沿该非极值点进行旋转,至与该极大值较近的控制点与该极大值处于同一水平线,将旋转后的两个原始控制点作为该中间点对应的用于生成连接线的控制点。可以控制该中间点对应的两个原始控制点中与极小值较近的原始控制点小于该极小值的情况下,将该中间点对应的两个原始控制点的连线沿该中间点进行旋转,至与该极小值较近的控制点与该极小值处于同一水平线,将旋转后的两个原始控制点作为该非极值点对应的用于生成连接线的控制点。

下面结合四种具体情况进行说明:

1)如图8所示,有三个已知点(b、c和d)连续上升,且第二个点(c点)在第一个点(b点)和第三个点(d点)连线的下方。

c点左方的原始控制点c3(即靠近极小值b点的原始控制点)比b点低,这样就可能会导致极小值b点不位于b到c之间的曲线的最低点(整个曲线的波谷)。为了避免这种情况,可以对c点两边的原始控制点c3和c4连线以c为支点进行旋转,旋转至c左边的原始控制点c3和b点(极小值点)处于水平直线上,旋转后的原始控制点c3和c4变为最终的控制点c3’和c4’。

2)如图9所示,有三个已知点(a、b和c)连续上升,且第二个点(b点)在第一个点(a点)和第三个点(c点)连线的上方。

b点右方的原始控制点c2(即靠近极大值c点的原始控制点)比c点高,这样就可能会导致极大值c点不位于a到c之间的曲线的最高点(整个曲线的波峰)。为了避免这种情况,可以对b点两边的原始控制点c1和c2连线以b为支点进行旋转,旋转至b点右边的原始控制点c2和c点(极大值点)处于水平直线上,旋转后的原始控制点c1和c2变为最终的控制点c1’和c2’。

3)如图10所示,有三个已知点(c、d和e)连续下降,且第二个点(d点)在第一个点(c点)和第三个点(e点)连线的上方。

d点左边的原始控制点c5(即靠近极大值c点的原始控制点)比c点高。这样就可能会导致极大值c点不位于c到e之间的曲线的最高点(整个曲线的波峰)。为了避免这种情况,可以对d点两边的原始控制点c5和c6连线以d点为支点进行旋转,旋转至d点左边的原始控制点c5和c点(极大值点)处于水平直线上,旋转后的原始控制点c5和c6变为最终的控制点c5’和c6’。

4)如图11所示,有三个已知点(b、c和d)连续下降,且第二个点(c点)在第一个点(b点)和第三个点(d点)连线的下方。

c点右方的原始控制点c4(即靠近极小值d点的原始控制点)比d点低,这样就可能会导致极小值d点不位于b到d之间的曲线的最低点(整个曲线的波谷)。为了避免这种情况,可以对c点两遍的原始控制点c3和c4连线以c点为支点进行旋转,旋转至c点右边的原始控制点c4和d点(极小值点)处于水平直线上,旋转后的原始控制点c3和c4变为最终的控制点c3’和c4’。

然而,上例仅是一种示意性描述,说明了对几种凹凸曲线的处理方式,在实际实现的时候,可以仅对极值点进行处理,而不对中间的非极值点的控制点进行处理,也可以对极值点和非极值点的控制点都进行处理,以实现最大限度的减少极值点不位于波峰或者波谷的可能性。

步骤103:根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线。

通过方式实现了对控制点的调整,以保证尽量使得已知点中的极大值位于波峰位置,极小值位于波谷位置。如果某个已知点的控制点不需要进行旋转,则将原始控制点作为最终的控制点,如果某些已知点的控制点需要进行旋转,则将旋转后的控制点作为最终的控制点。

在确定出所有点的最终控制点之后,就可以代入的预设作图公式进行画图,以得到平滑的、穿过已知点的,且极大值位于波峰位置极小值位于波谷位置的平滑的曲线。

例如,需要生成的贝塞尔曲线,那么就可以将最终控制点和已知点作为数据代入到三次贝塞尔曲线方程:

b(t)=p0(1-t)3+3p1t(1-t)2+3p2t2(1-t)+p3t3

得到目标对象的连接线,其中,p0表示一段曲线的起点(为已知点),p3表示一段曲线的终点(也是已知点),p1和p2是确定出的最终控制点,曲线起始于p0走向p1,并从p2的方向来到p3,最终生成的连接线不经过p1和p2,p1和p2仅是为了提供连接线的方向信息。按照该公式可以生成两个已知点之间的曲线,对多个曲线段进行拼接,可以得到最终的目标对象的连接线。在一个实施方式,可以将相邻两个数据点和相邻两个数据点对应的两个控制点代入预设的三次贝塞尔曲线公式中,得到相邻两个数据点对应的三次贝塞尔曲线;将每相邻两个数据点对应的三次贝塞尔曲线相拼接,得到穿过多个已知数据点的连接线。

在上例中,控制极大值附近的控制点小于极大值,极小值附近的控制点小于极小值,以保证生成的连接线不会存在比已知数据点中的极大值大的数据,或者是比已知数据点中的极小值小的数据。在实际实现的时候,还可以仅控制生成的控制点,比最大值,比最小值大,从而使得拟合得到的连接线不会存在比最大值大的区域,或者比最小值小的区域。这样也可以避免数据的误判,提高基于生成的连接线进行数据判断的准确性。,例如,可以按照如下步骤进行数据处理:

s1:获取多个数据点;

s2:根据所述多个数据点的最大值和最小值,确定出控制点,所述控制点的数值在所述最大值和所述最小值之间;

s3:根据所述多个数据点和所述多个控制点,输出穿过所述多个数据点的连接线。

下面结合一个具体场景对上述数据处理方法进行说明,然而,值得注意的是,该具体实施仅是为了更好地说明本申请,并不构成对本申请的不当限定。

本例中提供了一种连接线生成方法,用于生成用于表征用户血糖变化的连接线,即,用户的血糖趋势线,以包括如下步骤:

s1:已知用户a的五个时间点的血压值a、b、c、d和e,将这五个血压值按照时序顺序相连,形成4条相连的折线;

s2:假设相邻的两条折线的长度分别为:li,l(i+1),其中,i的取值为0到3;

s3:根据这4条相连的折线,可以为每个已知血糖点生成控制点,具体地,可以按照如下方式生成控制点:如图12所示。有五个已知点数据:a、b、c、d和e,确定出每相邻两个点连线的中点,得到如图12所示的四个中点:m1、m2、m3和m4。然后,对相邻的中点进行连线,可以得到如图12所示的线段:m1m2、m2m3和m3m4。可以将极值点竖直方向与线段的交点作为移动点,也可以按照预设的线段比例关系确定移动点:t1、t2、t3。以t2为例,可以按照:t2m2/t2m3=l1/l2确定出t2的位置,其中,l1表示b到c之间的距离,l2表示c到d之间的距离。

然后,将中点组成的线段进行平移,将中点组成的线段平移至对应的已知点,例如,如图13所示,将移动点移动到对应的顶点的路径,t1点移动到b,t2点移动到c。t3移动到d,将移动后的中点作为初始控制点:c1、c2、c3、c4、c5和c6。

在得到初始控制点之后,就可以按照上述所介绍的方式,对极值点和非极值点位置的初始控制点进行调整,以保证与所述多个数据点中的极大值相邻的控制点小于极大值,与所述多个数据点中的极小值相邻的控制点大于极小值。

具体地,对于极值点对应的两个原始控制点,可以将原始控制点沿竖直方向调整至与多个数据点中的极大值相邻的控制点与该极大值处于同一水平线,与所述多个数据点中的极小值相邻的控制点与极小值处于同一水平线,得到用于生成连接线的控制点。

对于非极值点对应的两个原始控制点,在数据点中与极大值相邻的非极值点对应的两个原始控制点中与该极大值较近的原始控制点大于该极大值的情况下,将该非极值点对应的两个原始控制点的连线沿该非极值点进行旋转,至与该极大值较近的控制点与极大值处于同一水平线,将旋转后的两个原始控制点作为该非极值点对应的用于生成连接线的控制点。在数据点中与极小值相邻的非极值点对应的两个原始控制点中与该极小值较近的原始控制点小于该极小值的情况下,将该非极值点对应的两个原始控制点的连线沿该非极值点进行旋转,至与该极小值较近的控制点与与极小值处于同一水平线,将旋转后的两个原始控制点作为该非极值点对应的用于生成连接线的控制点。

s4:根据得到的最终的控制点和已知数据点,代入贝塞尔曲线的参数方程可以得到最终的血糖趋势图。

如图1所示,为基于原始的控制点作为最终的控制点,不对控制点进行旋转调整的情况下,生成的7天血糖趋势图,由图1可以看出,血糖在5.0到5.5之间出现一个波谷,但是用户实际测得的数据值没有低于5.0,如果生成的连接线存在低于5.0的区间,则可能导致对该用户进行血糖分析的时候,出现错误的分析结果。同样的,血糖在15.0到15.5之间出现了一个波峰,但是用户实际测得的数据值没有高于15.5的,如果生成的连接线存在高于15.5的区间,也可能会导致对该用户进行血糖分析的时候,出现错误的分析结果。

如图14所示,为基于调整旋转后的控制点作为最终的控制点的生成的7天血糖趋势图,由图14可以看出,极值15.0、5.0和15.5分别都在在波峰和波谷上,能够更加准确地表示用户的血糖趋势。

通过本例中的数据处理方法生成的连接线,可以保证曲线平滑切穿过已知的数据点,且可以尽可能保证极大值位于连接线的波峰,极小值位于连接线的波谷,从而使得数据的变化趋势不失真。

本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图15是本发明实施例的一种数据处理方法的计算机终端的硬件结构框图。如图15所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图15所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据处理的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

上述处理器102用于获取多个数据点,其中,所述多个数据点顺序排列;根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线。

其中,对于目标对象的多个数据点可以是存储在存储器104中的,直接从存储器104中调用就可以,也可以是从设备获取的。例如:通过传输模块106从设备获取。例如,目标对象为血糖,那么该计算机终端10可以通过传输模块106从血糖仪获取已知的血糖值作为目标对象的多个数据点。具体地已知数据点的获取方式可以根据实际需要选择,本申请对此不作限定。

在有多个已知点的情况下,为了使得极大值可以位于波峰位置,极小值位于波谷位置,需要控制极大值相邻的控制点不大于极大值,极小值相邻的控制点不小于极小值,从而保证极大值可以位于波峰位置,极小值位于波谷位置。为此,处理器102可以按照如下方式生成控制点:

s1:对相邻数据点进行连线,得到多条连接线段;

s2:对于每两条存在交点的连接线段执行如下操作:

s2-1:获取两条连接线段的中点,对中点进行连接得到中点连线段;

s2-2:从所述中点连线段中选取一点作为移动点;

s2-3:将所述中点连线段移动至所述移动点与所述交点重合,得到移动后的中点连线段;

s2-4:将所述移动后的中点连线段的两个端点作为两个原始控制点;

s2-5:在所述交点为极大值或极小值的情况下,以所述交点为支点,旋转所述移动后的中点连线段至旋转后的中点连线段与所述极值点处于同一水平线;

s2-6:从所述旋转后的中线连线段中,选取与所述两个原始控制点位于同一竖直方向的两个点,作为用于生成所述连接线的控制点。

进一步的,对于非极值点位置的数据点对应的控制点,处理器102可以按照如下方式进行调整:

1)在交点不是极值点的情况下,将所述交点对应的两个原始控制点中位于所述交点与相邻极大值之间的原始控制点作为第一原始控制点,将位于所述交点与相邻极小值之间的原始控制点作为第二原始控制点;

在所述第一原始控制点大于所述相邻极大值的情况下,以所述相邻极大值所限定的水平线与以所述第一原始控制点所限定的竖直线之间的交点作为第一控制点,以所述第二原始控制点所限定的竖直线与所述交点和所述第一控制点所限定的直线的交点作为第二控制点;

将所述第一控制点和所述第二控制点作为用于生成所述连接线的控制点。

2)在交点不是极值点的情况下,将所述交点对应的两个原始控制点中位于所述交点与相邻极大值之间的原始控制点作为第一原始控制点,将位于所述交点与相邻极小值之间的原始控制点作为第二原始控制点;

在所述第二原始控制点小于所述相邻极小值的情况下,以所述相邻极小值所限定的水平线与以所述第二原始控制点所限定的竖直线之间的交点作为第一控制点,以所述第一原始控制点所限定的竖直线与所述交点和所述第一控制点所限定的直线的交点作为第二控制点;

将所述第一控制点和所述第二控制点作为用于生成所述连接线的控制点。

上述目标对象可以包括但不限于以下至少之一:血压、血糖、天气。

上文结合具体的执行流程对如何生成极大值位于波峰位置、极小值位于波谷位置的连接线进行了说明,然而,上述方法不仅可以应用在上文的计算机终端,可以位于其它的设备中,例如,可以应用于显示设备中、即,生成连接线后进行显示,还可以应用于可穿戴设备,例如运动手表中,还可以应用于财务报表的生成、医院各种检测和测量设备中,或者是手机等终端中的天气预报、计步等软件中,即,只要是需要生成或者是显示连接线的设备或者软件中,都可以应用上述介绍的数据处理方法生成连接线。

下面结合几个设备进行说明如下:

例如,可以应用在显示设备中,该显示设备可以包括:通信模块,用于建立通信连接并进行数据传输;处理器,用于获取目标对象的多个数据点,其中,所述多个数据点顺序排列;根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;如图16所示,还可以包括:显示部件,用于显示所述连接线。

再例如,上述方法可以是应用在可穿戴设备上,例如运动手环、随身血压仪等等。该可穿戴设备可以包括:传感器,用于获取多个数据点,其中,所述多个数据点顺序排列;处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;如图17所示,可以包括显示部件,用于显示所述连接线。

再例如,上述方法可以是应用在测量设备中的,例如,医院中的血压检测仪、血氧检测仪、体重计、心跳测试仪等等,测量设备可以包括:测量仪,用于测量得到多个数据点,其中,所述多个数据点顺序排列;处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;显示部件,用于显示所述连接线。

再例如,上述方法还可以应用在头戴式显示器中,如图18所示,该头戴式显示器可以包括:传感器,用于获取多个数据点,其中,所述多个数据点顺序排列;处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,生成穿过所述多个数据点的连接线;显示部件,用于显示所述连接线。

再例如,上述方法可以应用在移动设备中,该移动设备可以是包括显示器显示连接线的,也可以是仅生成连接线但是不显示,可以将该连接线进行存储,或者是发送出去,可以实现处理的处理即可。该移动设备,可以包括:传感器,用于获取多个数据点,其中,所述多个数据点顺序排列;处理器,用于根据所述多个数据点确定出多个控制点,且与所述多个数据点中的极大值相邻的控制点小于等于极大值,与所述多个数据点中的极小值相邻的控制点大于等于极小值;根据所述多个数据点和所述多个控制点,输出穿过所述多个数据点的连接线。该移动设备可以如图19所示,为一手机或者平板电脑、pda等等。

在本申请中还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法步骤。

本申请提供的数据处理方法及设备,通过对控制点进行调整,保证多个已知数据点中的极大值相邻的控制点小于等于极大值,与多个数据点中的极小值相邻的控制点大于等于极小值,从而使得生成的穿过多个数据点的连接线中的极大值可以位于波峰位置,极小值可以位于波谷位置了,避免了波峰波谷处数据的失真,解决了现有方式生成的连接线波峰和波谷不能够准确的表示为极大值和极小值,而导致的连接线失真,曲线表示结果不准确的技术问题,达到了尽可能保证极大值位于连接线的波峰位置极小值位于连接线的波谷位置,降低连接线失真可能性的技术效果。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。

本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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