针对移动应用页面中动态区域的快速检测方法

文档序号:34011672发布日期:2023-04-29 22:42阅读:32来源:国知局
针对移动应用页面中动态区域的快速检测方法

:本发明涉及一种基于计算机视觉的动态区域检测算法,属于计算机技术软件领域。

背景技术

0、
背景技术:

1、移动应用的数量随着移动互联网的发展呈现爆炸式增长,软件设计也变得越来越复杂。由此,移动应用的自动化测试、页面结构分解,人机交互分析等需求也随之日益增多,而在对页面内容的分析中,例如,轮播图、弹窗、视频等存在动态区域的部分需要被识别出来进行单独处理。

2、在实际的检测、遍历页面的过程中,必然会出现页面滑动的情况,在这种情况下,单纯对比两张相邻截图对应位置像素的方法就会将整个页面都判为动态内容区域,故而失效。而现有的基于单映性变换的图像动态区域检测算法又使用了一些复杂度较高的算法,但移动应用页面的情况较为简单,不应耗非算力和时间去做多余的运算。


技术实现思路

0、
技术实现要素:

1、针对以上问题,本发明提出了一种针对移动应用页面中动态区域的快速检测方法。与基于同位置像素比较的方法相比,该方法可适配两张截图存在页面滑动的情况,普适性更高,并且可以计算出两张图片之间经过了怎样的变换,如页面向上/下滑动的像素距离。该值也可提供给下游任务。而与现有动态区域检测算法比较,大大降低了动态区域定位部分的复杂度,提升了检测速度。

2、一种针对移动应用页面中动态区域的快速检测方法的具体步骤如下:

3、s1:打开相应app,遍历app页面并获取截图;

4、s2:对s1中获得的相邻两张截图,各自提取图像特征点,筛选出匹配度较高的点对计算两张图片之间的单映射矩阵;

5、s3:根据s2得到的单映射矩阵判断当前的两张图片是否有页面滑动,若有,则检测滑动方向对应的导航栏位置,以此来确定两张图对应的动态区域检测范围。若没有滑动,则直接使用存在匹配上的特征点的最大范围作为检测区域;

6、s4:在s3确定的检测范围中,按照固定间隔对两张图像进行采样,并且对采样点提取sift特征,使用s2中得到的单映性矩阵对当前帧的图片进行变换,之后对两张图中对应位置的采样点的特征求欧式距离,若距离小于设定的阈值,则判断为两点相似,也即该点处是非动态区域,若大于设定的阈值,则判断该点处存在动态区域,最后得到一个由采样点构成的点阵;

7、s5:由于s4得到的点阵在原图上是稀疏的,不利于区域轮廓的定位,所以需要按照点阵的分布构造一个按照采样比例缩小的二值图,使得采样点在这个二值图中的位置是紧密的;

8、s6:在s5得到的二值图中,使用opencv的函数对轮廓进行定位并求出轮廓对应的最小外包矩形,筛选出面积大小大于设定阈值的轮廓,之后再根据之前缩小的比例将轮廓的最小外包矩形位置还原到原图中,即可得到当前页面中的检测结果;

9、具体地,所述步骤s2中,其中图像特征点提取及匹配的具体算法为:尺度不变特征变换(scale-invariant feature transform,sift)匹配算法。该算法是一种用来侦测与描述影像中的局部性特征计算机视觉的算法,它在尺度空间(由高斯图像做差得到的dog近似的log金字塔)中寻找极值点,并提取出其位置、尺度、旋转不变量。

10、具体地,所述步骤s2中,其中图像特征点距离计算的具体方案为:计算特征点向量的欧式距离。

11、具体地,所述步骤s2中,其中筛选特征点的具体方法是:找出各特征点在另一幅图中最匹配的两个点,若最近邻距离除以次近邻距离小于某一阈值,则通过筛选,反之,则删掉这对特征点。

12、具体地,所述步骤s2中,其中所述单映性矩阵为三阶矩阵:

13、

14、x1=h*x2,使用四个点对,8个方程求出单映性矩阵h。

15、具体地,所述步骤s3中,其中页面是否存在滑动情况的判断方法为:根据s2得到的单映性矩阵h,h矩阵代表了第一张图要变换成第二张图需要经过的旋转、平移变换。而h[1][2]的则对应了y轴上的平移距离,故直接用该值判断是否存在滑动情况,若该值的绝对值大于1,则认为存在滑动,若大于0小于1,则认为两张图片没有出现上下滑动。

16、具体地,所述步骤s3中,无滑动情况下,确定检测范围的方式如下:直接使用s2中图中存在过筛特征点的最大范围作为检测范围。

17、具体地,所述步骤s3中,有滑动情况下,判断滑动方向的方式如下:根据由s2得到的h矩阵,若h[1][2]>0,则是当前帧相比前一帧向下滑动,h[1][2]<0,则是则是当前帧相比前一帧向上滑动。

18、具体所述步骤s3中,有滑动情况下,确定检测范围的方式如下:根据s3中得出的滑动方向,若为当前帧相对于前一帧是向下滑动,则对两张图的上半部分按照固定间隔采样,并且提取采样点的sift特征。提取完成后,两张图中对应位置的特征点两两计算欧式距离,若大于设定阈值,则判断为未匹配,小于设定阈值则判断为匹配成功。之后自下往上遍历没一行采样点,若某一行采样点中成功匹配的数量占总数的60%以上,则认为这一行就是上方导航栏的结束位置。之后使用导航栏结束位置作为检测范围的上限,s2中图中存在过筛特征点的最大范围的下方作为下限。最后确认检测范围。当前帧相对于前一帧是向下滑动的情况处理方法类似,区别是寻找下方的导航栏位置作为下限,s2中存在过筛特征点的最大范围的上方作为上限。

19、具体所述步骤s4中,利用单映性矩阵对图片进行变换的具体内容是:

20、

21、上式中,函数src(x,y)就是指图像的像素(x,y)处的灰度,变换后的图像表示为dst(x,y),x,y分别是像素在图像中的横坐标和纵坐标。

22、具体所述步骤s4中,检测算法的具体内容是:在检测范围内,对前图按照固定间隔进行采样,而后图的采样点坐标则通过前图的采样点坐标乘以单映性矩阵得到,之后在两张图中对采样点提取sift特征,对对应位置的采样点的特征求欧式距离,若距离小于设定的阈值,则判断为两点相似,也即该点处是非动态区域,若大于设定的阈值,则判断该点处存在动态区域,最后得到一个由采样点构成的点阵。

23、具体所述步骤s5中,其中构造二值图的具体方法是:二值图的宽为图像的宽除以采样间隔;二值图的高为检测范围的高除以采样间隔。

24、具体所述步骤s6中,其中调用的函数是:寻找轮廓,findcontours();求最小外包矩形,boundingrect()。

25、具体所述步骤s6中,将轮廓的最小外包矩形还原到原图大小的方法是:将最小外包矩形的左上角坐标和长宽均乘以采样间隔。

26、综上,本发明创建了针对移动应用页面中动态区域的快速检测方法,具有如下有益效果:(1)可应用于复杂场景,例如存在弹窗、页面滑动等情况。(2)具有普适性。适用于不同机型的情况。



技术特征:

1.一种针对移动应用页面中动态区域的快速检测方法,包括以下步骤:

2.根据权利要求1所述的一种针对移动应用页面中动态区域的快速检测方法,其特征在于:所述步骤s2中,其中图像特征点提取及匹配的具体算法为:

3.根据权利要求1所述的一种针对移动应用页面中动态区域的快速检测方法,其特征在于:所述步骤s3中,其中页面是否存在滑动情况的判断方法为:根据s2得到的单映性矩阵h,h矩阵代表了第一张图要变换成第二张图需要经过的旋转、平移变换。而h[1][2]的则对应了y轴上的平移距离,故直接用该值判断是否存在滑动情况,若该值的绝对值大于1,则认为存在滑动,若大于0小于1,则认为两张图片没有出现上下滑动。

4.根据权利要求1所述的一种针对移动应用页面中动态区域的快速检测方法,其特征在于:所述步骤s3中,无滑动情况下,确定检测范围的方式如下:直接使用s2中,图中存在过筛特征点的最大范围作为检测范围;

5.根据权利要求1所述的一种针对移动应用页面中动态区域的快速检测方法,其特征在于:所述步骤s4中,利用单映性矩阵对图片进行变换的具体内容是:

6.根据权利要求1所述的一种针对移动应用页面中动态区域的快速检测方法,其特征在于:所述步骤s5中,其中构造二值图的具体方法是:

7.根据权利要求1所述的一种针对移动应用页面中动态区域的快速检测方法,其特征在于:所述步骤s6中,其中调用的函数是:


技术总结
一种基于计算机视觉的动态区域检测方法,包括:首先,打开相应软件,遍历App页面并且获取截图;其次,对相邻两张截图进行预处理后对其进行特征点提取、筛选、匹配,得到两张图片的单映射矩阵。根据单映射矩阵判断两张截图是否有因为页面滑动而造成的偏移,若没有偏移,则直接根据特征点成功匹配的最大范围来检测动态区域,若有偏移,则先检测App页面导航栏的位置,再确定动态区域的检测范围。确定检测范围后,按照固定采样间隔利用两张图片对应特征点的特征向量计算欧式距离,若超过某个阈值则判定为该检测点。通过以上步骤,可根据相邻两张截图检测出该App当前页面是否有动态内容的区域。

技术研发人员:周晟,郭梓楠,卜佳俊
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/1/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1