一种白屏检测方法、装置、计算机设备及计算机可读存储介质制造方法及图纸

技术编号:37280207 阅读:12 留言:0更新日期:2023-04-20 23:47
本发明专利技术提供了一种白屏检测方法,包括:截取屏幕生成图片数据,设置白点计数初始值为零,遍历计数初始值为零;读取图片数据的起始连续N个像素点数据,遍历计数加1;调用SIMD指令集的向量运算指令对N个像素点数据进行点乘运算判断N个像素点是否全部为白点,当N个像素点全部为白点时白点计数加1;读取下一组连续N个像素点数据并判断是否全部为白点直到图片数据全部读取完毕,当全部读取完毕后判断白点计数与遍历计数的比值是否大于阈值,大于阈值时判断为白屏,否则不是白屏。本发明专利技术通过一次读取N个像素点并调用SIMD的向量运算指令判断N个像素点是否全部为白点,之后遍历图片数据来检测白屏,大幅提升了计算速度,实现简单而且可以效率高。且可以效率高。且可以效率高。

【技术实现步骤摘要】
一种白屏检测方法、装置、计算机设备及计算机可读存储介质


[0001]本专利技术涉及计算机应用
,尤其涉及一种白屏检测方法、装置、计算机设备及计算机可读存储介质。

技术介绍

[0002]webview指的是客户端的web页面容器。当出现一些异常,比如内核崩溃、执行异常、或404错误时整个web页面就会显示一片空白。白屏检测指的是在合适的加载时机对当前webview可视区域截图,根据是否为空白来判断web页面加载是否正常。现有的白屏检测方法中,基于像素点遍历的检测方法实现简单,技术成熟但计算效率低;基于矩阵运算的检测方法时间复杂度高,在智能手机等移动设备上计算速度慢;基于检测模型识别的检测方法需要进行模型训练和匹配模型,成本高且计算复杂难以在计算能力有限的移动设备上落地。因此需要一种同时满足计算简单、快速、且效率高的白屏检测方法。

技术实现思路

[0003]本专利技术的目的在于提供一种白屏检测方法、装置、计算机设备及计算机可读存储介质,旨在解决现有技术中白屏检测方法无法同时满足计算简单、快速、且效率高的问题。
[0004]第一方面,本专利技术提供了一种白屏检测方法,包括:
[0005]S101、截取待检测设备的屏幕生成图片数据,设置白点计数初始值为零,遍历计数初始值为零;
[0006]S102、读取所述图片数据的起始连续N个像素点数据,所述遍历计数加1;
[0007]S103、调用SIMD指令集的向量运算指令对所述N个像素点数据进行点乘运算,判断所述N个像素点是否全部为白点,当所述N个像素点全部为白点时,白点计数加1;
[0008]S104、判断所述图片数据是否全部读取完毕,当没有全部读取完毕时,读取所述图片数据的下一组连续N个像素点数据,并执行步骤S103,当所述图片数据全部读取完毕后,判断白点计数与遍历计数的比值是否大于阈值,当所述白点计数与遍历计数的比值大于阈值时判断为白屏,否则不是白屏。
[0009]第二方面,本专利技术提供了一种白屏检测装置,包括:
[0010]数据生成模块,用于截取待检测设备的屏幕生成图片数据,设置白点计数初始值为零,遍历计数初始值为零;
[0011]数据读取模块,用于读取所述图片数据的起始连续N个像素点数据,所述遍历计数加1;
[0012]运算模块,用于调用SIMD指令集的向量运算指令对所述N个像素点数据进行点乘运算,判断所述N个像素点是否全部为白点,当所述N个像素点全部为白点时,白点计数加1;
[0013]判断模块,用于判断所述图片数据是否全部读取完毕,当没有全部读取完毕时,读取所述图片数据的下一组连续N个像素点数据,并执行步骤S103,当所述图片数据全部读取完毕后,判断白点计数与遍历计数的比值是否大于阈值,当所述白点计数与遍历计数的比
值大于阈值时判断为白屏,否则不是白屏。
[0014]第三方面,本专利技术提供了一种计算机设备,包括:
[0015]一个或多个处理器;
[0016]存储器;以及
[0017]一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上所述的白屏检测方法的步骤。
[0018]第四方面,本专利技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的白屏检测方法的步骤。
[0019]本专利技术通过截取屏幕生成图片数据,之后一次读取图片数据的N个连续像素点并调用SIMD的向量运算指令判断N个像素点是否全部为白点,然后遍历整个图片数据,通过判断白点计数与遍历计数的比值是否大于阈值来判断是否为白屏。由于一次读取N个像素点和采用SIMD向量运算,本专利技术的白屏检测方法可以充分利用设备处理器的硬件特性,比传统的逐个像素点遍历方法大幅提升了计算速度,实现简单而且可以高效率检测白屏。
附图说明
[0020]图1是本专利技术实施例一提供的白屏检测方法的流程图;
[0021]图2是本专利技术实施例二提供的白屏检测装置的功能模块框图;
[0022]图3是本专利技术实施例三提供的计算机设备的结构示意图。
具体实施方式
[0023]为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0024]为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。
[0025]实施例一:
[0026]如图1所示,本专利技术实施例一提供了一种白屏检测方法100,用于检测web页面白屏情况,包括以下步骤:
[0027]S101、截取待检测设备的屏幕生成图片数据,设置白点计数初始值为零,遍历计数初始值为零。
[0028]在本专利技术步骤S101中,截取待检测设备的屏幕生成图片数据,可以是截取待检测设备的屏幕直接生成图片数据;还可以是截取待检测设备的屏幕生成初始图片数据,设置抽样比为1:n,n为大于1的整数,按照抽样比从初始图片数据中抽取部分数据从而生成图片数据,采用连续抽样取点的方式来减少遍历次数,从而进一步提升计算速度。
[0029]S102、读取图片数据的起始连续N个像素点数据,遍历计数加1。其中,N是4的整数倍数值,例如N=4,N=8,N=12,N的取值与待检测设备的处理的处理能力相关,可根据处理器的处理能力设置N的值。
[0030]S103、调用SIMD指令集的向量运算指令对N个像素点数据进行点乘运算,判断N个像素点是否全部为白点,当N个像素点全部为白点时,白点计数加1。
[0031]SIMD是指Single Instruction Multiple Data即单指令多数据集,调用SIMD指令集的向量运算指令对N个像素点数据进行点乘运算,判断N个像素点是否全部为白点,以N=4时为例具体步骤如下:
[0032]S1031、设置向量a=(a1,a2,a3,a4),其中a1、a2、a3、a4为4个连续像素点的颜色值,是包含alpha通道的彩色的ARGB值,应当理解的是,此处以N=4为例,当N为其他值时,向量a=(a1,a2,

,aN);
[0033]S1032、设置向量b=(b1,b2,b3,b4),其中,b1=b2=b3=b4=0.25,表示缩小比例,防止计算结果太大溢出,此时N=4,所以将每个像素点都乘以1/4即0.25;应当理解的是,此处以N=4为例,当N为其他值时,向量b=(b1,b2,

,bN),b1,b2,

,bN的值均为1/N;
[0034]S1033、调用SIMD指令集的向量乘法指令,对向量a和向量b进行点乘运算生成计算结果;
[0035]S1034、当计算结果值为255*65536+255*256+255本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种白屏检测方法,其特征在于,所述方法包括:S101、截取待检测设备的屏幕生成图片数据,设置白点计数初始值为零,遍历计数初始值为零;S102、读取所述图片数据的起始连续N个像素点数据,所述遍历计数加1;S103、调用SIMD指令集的向量运算指令对所述N个像素点数据进行点乘运算,判断所述N个像素点是否全部为白点,当所述N个像素点全部为白点时,白点计数加1;S104、判断所述图片数据是否全部读取完毕,当没有全部读取完毕时,读取所述图片数据的下一组连续N个像素点数据,并执行步骤S103,当所述图片数据全部读取完毕后,判断白点计数与遍历计数的比值是否大于阈值,当所述白点计数与遍历计数的比值大于阈值时判断为白屏,否则不是白屏。2.如权利要求1所述的方法,其特征在于,所述N为4的整数倍数值。3.如权利要求1所述的方法,其特征在于,所述调用SIMD指令集的向量运算指令对所述N个像素点数据进行点乘运算,判断所述N个像素点是否全部为白点,具体包括:设置向量a=(a1,a2,

,aN),a1,a2,

,aN是所述N个像素点的颜色值;设置向量b=(b1,b2,

,bN),b1,b2,

,和bN的值均为1/N;调用SIMD指令集的向量乘法指令,对所述向量a和所述向量b进行点乘运算生成计算结果;当所述计算结果值为255*65536+255*256+255,所述N个像素点全部为白点,否则,所述N个像素点不是全部为白点。4.如权利要求1所述的方法,其特征在于,所述阈值是...

【专利技术属性】
技术研发人员:韩兵
申请(专利权)人:深圳依时货拉拉科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1