用于触摸屏响应性能测试的图像分析算法的制作方法

文档序号:12906859阅读:149来源:国知局
本发明涉及一种图像分析算法,更具体地,涉及用于触摸屏响应性能测试的图像分析算法。
背景技术
::由于触摸屏显示的原理与物理世界普通物体发光是完全不同的,使得触摸屏截图的图像分析算法与普通物体照片的图像分析算法也有很大不同。这种不同,归根到底是因为触摸屏是以固定频率(目前基本上统一为60帧每秒)按照从上到下,从左到右的顺序不停地依次更新触摸屏上的每一个像素点,利用人类的视觉暂留造成显示动态影像的错觉。这种不同,在显示内容变化很快的时候,会更加明显。举一个极端的例子,用一根细线绑上一个重物形成一个单摆,用最好的相机拍摄并在触摸屏上显示。对人眼而言,从触摸屏看到的摆与物理世界的摆基本上是一样的。但是如果使用高速相机把摆动过程从触摸屏上翻拍下来,再逐张照片去观察,就会发现它们和直接从物理世界拍摄的那组照片是有很大的不同。在拍自物理世界的摆的图像中,将会看到所有的图像都是清晰的、摆线都是直的连续的,而从触摸屏上拍到的所有图像都有模糊的部分、摆线都是断开的分截的。基于触摸屏的发光特点,需要一种行之有效的图像分析算法。技术实现要素:本发明的目的在于提供一种改进的用于触摸屏响应性能测试的图像分析算法。根据本发明的一方面,提供一种用于触摸屏响应性能测试的图像分析算法,其特征在于包括:读取高速相机拍摄的图像,在图像中对标志物进 行模板匹配计算,得出标志物在图像中的坐标,根据标志物的连续坐标,识别出标志物的运动轨迹,并且根据运动轨迹,识别手指开始接触触摸屏的时间和手指离开触摸屏的时间;读取两张相邻的图像,将图像转换成灰度图,对灰度图进行拉普拉斯变换,将两张图像进行位图相减,得出对比图像,将对比图像进行二值化变换处理,查找轮廓,找出图像中所有轮廓,根据轮廓大小判断图像内容变化,根据图像内容变化判断是否发生丢帧,并且识别触摸屏开始变化的时间和触摸屏停止变化的时间;计算点击触摸屏的响应时间:点击触摸屏的响应时间=(触摸屏开始变化的时间-手指离开触摸屏的时间)×1000/240,单位为ms,其中,240为高速相机的帧率。根据本发明的另一方面,计算点击触摸屏的稳定时间:稳定时间=(触摸屏停止变化的时间-触摸屏开始变化的时间)×1000/240,单位为ms,其中,240为高速相机的帧率。根据本发明的另一方面,计算滑动触摸屏的响应时间:滑动触摸屏的响应时间=(触摸屏开始变化的时间-手指开始接触触摸屏的时间)×1000/240,单位为ms,其中,240为高速相机的帧率。根据本发明的另一方面,计算滑动触摸屏的滑动时间:滑动时间=(触摸屏停止变化的时间-触摸屏开始变化的时间)×1000/240,单位为ms,其中,240为高速相机的帧率。根据本发明的另一方面,确定滑动时间内的丢帧数。根据本发明的另一方面,确定滑动时间内的最多连续丢帧数。根据本发明的另一方面,根据滑动时间内的丢帧情况制成反映具体丢帧位置和数目的曲线。本发明的算法能够排除外界灯光环境的干扰,具有非常高的适应性;经过大量测试,算法分析结果跟人工分析结果误差小,具有非常高的正确率。附图说明通过参照附图描述特定示例性实施例,上述和其它方面将会变得更加明显,其中:图1是示出根据本发明的示例性实施例的手指标志物跟踪算法的流程图;图2是示出根据本发明的示例性实施例的触摸屏内容分析算法的流程图;以及图3是示出根据本发明的示例性实施例的帧率计算的帧间对比技术的说明示图。具体实施方式opencv的全称是:opensourcecomputervisionlibrary(开源计算机视觉库)。opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows和macos操作系统上。它轻量级而且高效——由一系列c函数和少量c++类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。边缘是指图像局部强度变化最显著的部分,主要存在于目标与目标、目标与背景、区域与区域之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。laplace算子是基于二阶微分法,二阶微分在亮的一边是负的,在暗的一边是正的,常数部分为零,可以用来确定边的准确位置,以及像素在亮的一侧还是暗的一侧。拉普拉斯对噪声敏感,会产生双边效果,但是不能检测出边的方向,因此通常不直接用于边的检测,只起辅助的角色,用于检测一个像素是在边的亮的一边还是暗的一边利用零跨越,确定边的位置。目标跟踪是计算机视觉领域的一个重要分支。模板匹配就是在一幅大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像,通过一定的算法可以在图中找到目标,确定其坐标位置。以上内容是本发明算法的基础算法知识,本发明的算法就是利用这些成熟的图像处理算法,加以调优和改良实现的用于触摸屏响应性能测试的 图像分析算法。当测试触摸屏响应性能时,需要有点击、滑动、长按、缩放和旋转等动作,可以使用机械手完成点击、滑动、长按、缩放、旋转等动作。当使用机械手测试移动终端的触摸屏性能响应时,例如,使用机械手在触摸屏设备上模拟人手进行点击、滑动、长按、缩放、旋转等操作,需要利用高速相机对屏幕进行拍摄,以获得屏幕的内容变化。高速相机是工业相机的一种,一般高速相机是指数字工业相机,一般安装在机器流水线上代替人眼来做测量和判断,通过数字图像摄取目标转换成图像信号,传送给专用的图像分析系统。高速相机,相比起普通相机,高速相机具有高图像稳定性、高传输能力和高抗干扰能力等。本发明的图像分析算法识别高速相机拍摄的内容变化,通过内容变化来判断视野内物体的变化特征。下面参照附图来详细描述本发明的特定示例性实施例。下面将参照图1描述手指标志物跟踪算法,根据手指标志物跟踪算法从图像识别手指开始接触触摸屏的时间和手指离开触摸屏的时间。图1是示出根据本发明的示例性实施例的手指标志物跟踪算法的流程图在步骤s101,读取高速相机拍摄的图像。通过调用image中的matchtemplate函数得出模板图像在目标图像中的信号值。在步骤s102,在图像中对标志物进行模板匹配计算。通过cvinvoke中的cvnormalize函数对结果进行归一化处理。在步骤s103,得出标志物在图像中的坐标。根据tm_type类型使用image的minmax函数得出模板图像在目标图像中最匹配的坐标点。在步骤s104,根据标志物的连续坐标,识别出标志物的运动轨迹。通过上述步骤,能够得到模板图像在一组图像中的坐标点,根据分析坐标点中的y值,就能得出手指标志物的轨迹变化,即能得出手指的运动轨迹。在步骤s105,根据运动轨迹,识别手指开始接触触摸屏的时间(touchframe)和手指离开触摸屏的时间(leaveframe)。下面将参照图2描述触摸屏内容分析算法,根据触摸屏内容分析算法从图像识别触摸屏开始变化的时间和触摸屏停止变化的时间。该算法主要 根据屏幕中内容的特征变化来进行分析计算,从而得出测试结果。图2是示出根据本发明的示例性实施例的触摸屏内容分析算法的流程图。在步骤s201,读取高速相机拍摄的图像。其中,读取两张相邻的图像。在步骤s202,将图像转换成灰度图。在步骤s203,对灰度图进行拉普拉斯(laplace)变换。通过cvinvoke的cvlaplace函数对两张图像进行laplace变换,cvlaplace函数中的增益设置为1。在步骤s204,将两张图像进行位图相减,得出对比图像。把变换后的两张图像进行相减操作,把相互相减的结果进行相加,得到两张图像变换后的差异结果。在步骤s205,将对比图像进行二值化变换处理。利用cvinvoke的cvadaptivethreshold自适应阈值函数对差异结果进行自适应阈值的二值化变换。函数参数具体如下所示:cvinvoke.cvadaptivethreshold(laplacediff,laplacediffbin,255,emgu.cv.cvenum.adaptive_threshold_type.cv_adaptive_thresh_mean_c,emgu.cv.cvenum.thresh.cv_thresh_binary_inv,5,10)其中,参数中最重要的两个参数是最后两个,倒数第二个参数是块大小,就是分析某像素点加权平均灰度值时的附近像素个数,最后一个参数是加权平均后减去的常数值,该值影响边缘粗细。在步骤s206,查找轮廓,找出图像中所有轮廓。根据变换结果,使用findcontours函数提取出差异结果的轮廓特征。在步骤s207,根据轮廓大小判断图像内容变化。通过seq<point>中的boundingrectangle函数统计这些轮廓的数量和面积,为了排除灯光等环境的干扰,我们设定了面积为20的阈值,当轮廓的面积大于等于20时表明数据有效。当轮廓的面积小于20时表明数据无效。在步骤s208,计算一组图像的差异轮廓特征数值,识别触摸屏开始变化的时间(startframe)和触摸屏停止变化的时间(endframe)。现将参照图3说明帧率计算的帧间对比技术。图3是示出根据本发明 的示例性实施例的帧率计算的帧间对比技术的说明示图。如图3所示,(1)是电子设备屏幕(在本发明中也可以被称为触摸屏)刷新图,因为电子设备的屏幕帧率为60fps,所以屏幕每1/60秒刷新一次。我们使用高速相机对屏幕进行拍摄时,如果高速相机的帧率同样为60fps,当屏幕刷新时间点和高速相机的拍照时间点正好吻合,即时间同步,就会拍出图(2)的效果。但是因为电子设备和高速相机是两个分离的设备,所以时间同步状态是很难实现的,绝大部分都会出现图(3)或者图(4)的拍摄效果,这样会引入电子设备屏幕的刷新干扰,从而导致无法正确计算帧率。如果将高速相机的帧率提高到120fps,电子设备屏幕刷新1次,高速相机就能拍摄2张照片,拍摄效果如(5)和(6),这样就能拍到无刷新干扰的照片,但不确定是哪一张。当高速相机的帧率为180fps时,电子设备屏幕刷新1次,高速相机就能拍摄3张照片,图中(7)和(8)就是拍摄的效果图,这种情况下我们就避免了前后的屏幕刷新干扰,能保证中间图像是没有被干扰的。因为与触摸屏内容分析算法结合时我们需要去对比相邻两张图像,所以需要将高速相机的帧率提高到240fps,才能获得2张无干扰图像。这样,电子设备屏幕刷新1次,高速相机就能拍摄4张照片,效果如(9)(10),这样就能保证第2张和第3张是无刷新干扰的,所以只要对比第2张和第3张图像是否有差异,我们就能得出结论:当有差异时,屏幕正常刷新;当没有差异时,屏幕发生丢帧现象。这也是我们最终需要高速相机帧率为240fps的原因。本发明的图像分析算法的目的是通过上述算法和技术获得测试数据,所述测试数据包括计算点击操作的响应时间(responsetime_t)和稳定时间(stabletime)或者滑动操作的响应时间(responsetime_s)、滑动时间(scrolltime)、帧率(framerate)、丢帧数(framedropped)、最大连续丢帧数(maxcontinuousdropped)和帧率变化曲线(frameratecurve)。对于点击操作,responsetime_t的计算公式为(startframe-leaveframe)×1000/240,单位为ms,其中,240为高速相机的帧率。stabletime的计算公式为(endframe-startframe)×1000/240,单位为ms,其中,240为高速相机的帧率。对于滑动操作,responsetime_s的计算公式为(startframe-touchframe)×1000/240,单位为ms,其中,240为高速相机的帧率。scrolltime的计算公式为(endframe-startframe)×1000/240,单位为ms,其中,240为高速相机的帧率。framerate的计算公式为(framescrolledcount-framedropped)/framescrolledcount×60,单位为fps,其中,60为电子设备屏幕帧率,framescrolledcount为scrolltime内电子设备屏幕的刷新次数(即总帧数),其计算公式为(endframe-startframe)/(240/60)。framedropped是根据触摸屏内容分析算法结合帧间对比技术计算出来的scrolltime内被测设备屏幕的丢帧数。maxcontinuousdropped是framedropped的子集,是最大连续丢帧数。framecurve是具体表现曲线,能反映出具体丢帧位置和数目。具体地,在所述曲线中,横坐标表示时间,纵坐标表示丢帧情况,如果丢帧,则纵坐标值是0,如果没有丢帧,则纵坐标值是1。在触摸屏显示动画画面时,由于设备性能问题可能会出些一些卡顿,卡顿的次数和密集程度会直接影响到用户体验。本发明的图像分析算法可以计算出卡顿的总次数、最大连续卡顿次数,还可以给出卡顿发生的频率和密度信息。卡顿的总次数就是丢帧数。最大连续卡顿次数就是最大连续丢帧数。卡顿的发生频率和密度信息可以通过framecurve来体现。通过上述各种参数,可以反映出触摸屏设备好不好用的客观指标,从而可以衡量不同触摸屏设备在用户体验上的优劣。本发明是通过现有图像识别算法的结合和改造,实现了高速相机视野内的标志识别和内容变化分析。通过设置合适的阈值设计出的图像识别算法,能对被测试的电子设备屏幕变化进行内容分析判断,从而得出需要的测试数据。本发明的算法能够排除外界灯光环境的干扰,具有非常高的适应性;经过大量测试,算法分析结果跟人工分析结果误差小,具有非常高的正确率。尽管已经参照各种实施例示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1