CN111247517B - 一种图像处理方法、装置及系统 - Google Patents

一种图像处理方法、装置及系统 Download PDF

Info

Publication number
CN111247517B
CN111247517B CN201880068010.5A CN201880068010A CN111247517B CN 111247517 B CN111247517 B CN 111247517B CN 201880068010 A CN201880068010 A CN 201880068010A CN 111247517 B CN111247517 B CN 111247517B
Authority
CN
China
Prior art keywords
interface image
matching
templates
template
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880068010.5A
Other languages
English (en)
Other versions
CN111247517A (zh
Inventor
郭亚峰
印杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Petal Cloud Technology Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111247517A publication Critical patent/CN111247517A/zh
Application granted granted Critical
Publication of CN111247517B publication Critical patent/CN111247517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供一种图像处理方法、装置及系统,涉及测试技术领域,能够提高浏览器兼容性测试的准确性。具体方案为:测试装置获取第一界面图像和第二界面图像,第一界面图像为通过待测浏览器加载目标网页后显示的界面图像,第二界面图像为通过基准浏览器加载目标网页后显示的界面图像;将第一界面图像分割为n个子图;根据预设的模板匹配算法确定n个模板中的m个匹配模板,模板为子图,匹配模板为与第二界面图像匹配的模板;根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果。本申请实施例用于图像处理。

Description

一种图像处理方法、装置及系统
技术领域
本申请实施例涉及测试技术领域,尤其涉及一种图像处理方法、装置及系统。
背景技术
随着移动网络的发展,移动设备上的浏览器成为大多数人进入移动世界的门户,应用于移动设备的新浏览器也越来越多。如果新浏览器无法与预设的基准浏览器兼容,则可能无法被用户接受,因而新浏览器的兼容性测试非常重要。
在现有的一种浏览器兼容性测试方案中,测试装置获取移动设备通过新浏览器加载的某一网页的第一界面图像,以及获取移动设备通过基准浏览器加载的同一网页的第二界面图像,然后将第一界面图像和第二界面图像上相同坐标位置的像素点的红(R)值、绿(G)值、蓝(B)值分别相减后再计算累计方差值,从而根据累计方差值确定第一界面图像与第二界面图像的一致性程度。例如,该累计方差值的计算公式可以是:
Figure GPA0000287684840000031
其中,r1,i、g1,i、b1,i分别表示第一界面图像第i个像素点的R值、G值、B值;r2,i、g2,i、b2,i分别表示第二界面图像第i个像素点的R值、G值、B值;N表示第一界面图像上像素点的总量第二界面图像上像素点的总量。若第一界面图像和第二界面图像的一致性程度较高,则可以表明新浏览器与基准浏览器对网页内容的显示结果的一致性较高,新浏览器与基准浏览器兼容。
实际上,由于一些浏览器自身可能会在显示界面上额外显示一些工具条、广告等附加信息,或者不同浏览器网址显示框的大小不一样等原因,不同浏览器的界面图像上显示的网页内容的位置也可能不同。例如,图1中的(a)示出了网页1通过待测浏览器加载后显示的界面图像101,图1中的(b)示出了网页1通过基准浏览器加载后显示的界面图像102。与界面图像102相比,界面图像101中增加了广告103,界面图像101中显示的网页内容104与界面图像102显示的网页内容105的内容一致但位置发生了错位。而该错位将导致界面图像101和界面图像102中相同坐标位置像素点的红、绿、蓝值的差值和累计方差值较大,从而判定新浏览器与基准浏览器对网页内容的显示结果一致性较低,新浏览器和基准浏览器不兼容,因而该兼容性测试方法的准确性较低。
发明内容
本申请实施例提供一种图像处理方法、装置及系统,能够提高浏览器兼容性测试的准确性。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供了一种图像处理方法,包括:测试装置获取第一界面图像和第二界面图像。其中,该第一界面图像为通过待测浏览器加载目标网页后显示的界面图像;该第二界面图像为通过基准浏览器加载目标网页后显示的界面图像。而后,测试装置将第一界面图像分割为n个子图,n为正整数。之后,测试装置根据预设的模板匹配算法确定n个模板中的m个匹配模板,m为大于或者等于0且小于或者等于n的整数。其中,该模板为子图,该匹配模板为与第二界面图像匹配的模板。然后,测试装置根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果。该匹配结果包括第一界面图像与第二界面图像匹配,或者第一界面图像与第二界面图像不匹配。
也就是说,测试装置是根据第二界面图像上是否存在与第一界面图像上的子图一致的图像区域来确定两个界面图像是否匹配的,而与子图在第一界面图像上的具体的位置无关。在待测浏览器或基准浏览器由于自身添加了工具条等原因,导致目标网页的网页内容在第一界面图像和第二界面图像上的位置不同(例如错位)时,如果第一界面图像上的网页内容与第二界面图像上的网页内容一致,则第一界面图像上的网页内容包括的模板为匹配模板,测试装置可以根据匹配模板确定第一界面图像与第二界面图像匹配,从而确定待测浏览器与基准浏览器兼容,因而可以提高兼容性测试方法的准确度。
在一种可能的设计中,测试装置根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果,具体包括:测试装置根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果,匹配面积为m个匹配模板的面积之和。
其中,匹配模板的数量m的值越大,可以表明第一界面图像的n个子图中与第二界面图像一致的子图越多,第一界面图像与第二界面图像的匹配的可能性也就越大。m个匹配模板的面积之和越大,即匹配面积越大,则第一界面图像与第二界面图像一致的区域越大,第一界面图像与第二界面图像的匹配的可能性也越大。因而,测试装置可以根据匹配模板的数量m是否较多和/或匹配面积是否较大,确定第一界面图像与第二界面图像是否匹配,从而确定待测浏览器与基准浏览器是否兼容。
在另一种可能的设计中,在测试装置根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果之前,该方法还包括:测试装置获取非匹配模板包括的元素的属性信息以及第二界面图像包括的元素的属性信息,非匹配模板为n个模板中与第二界面图像不匹配的模板。若第二界面图像包括的元素的属性信息中未包括非匹配模板包括的元素的属性信息,则测试装置确定非匹配模板为无效模板,n个模板中除无效模板以外的其他模板为有效模板。测试装置根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果,具体包括:测试装置根据匹配模板的数量m与有效模板的数量s的比值,和/或匹配面积与非匹配面积的比值,确定第一界面图像与第二界面图像的匹配结果,s为小于或者等于n的整数,非匹配面积为有效模板中所有非匹配模板的面积之和。
在该方案中,测试装置在确定无效模板后,可以在确定第一界面图像与第二界面图像是否匹配时,排除无效模板对界面图像匹配结果的影响。即测试装置可以不将无效模板作为判定第一界面图像和第二界面图像是否匹配的参考对象,而只根据有效模板确定第一界面图像与第二界面图像是否匹配。
在另一种可能的设计中,在测试装置将第一界面图像分割为n个子图之前,该方法还包括:测试装置对第一界面图像和第二界面图像分别进行灰度化处理,然后进行二值化处理,之后进行腐蚀处理和膨胀处理。
这样,测试装置可以在图像分割之前进行一些预处理,从而增强第一界面图像和第二界面图像上有效信息的可检测性,并对图像数据进行简化,为图像分割做准备。
在另一种可能的设计中,测试装置将第一界面图像分割为n个子图,具体包括:测试装置对第一界面图像进行边缘检测,以标识出第一界面图像上与相邻像素点的亮度差大于预设阈值的像素点;而后,根据与相邻像素点的亮度差大于预设阈值的像素点确定n个子图的轮廓,根据轮廓获得n个子图。
这样,测试装置可以根据第一界面图像上的图像特征自动获取轮廓内框选的n个子图,删除轮廓外的无效信息,从而将第一界面图像自动分割为n个子图。
在另一种可能的设计中,在测试装置确定第一界面图像与第二界面图像的匹配结果之后,该方法还包括:测试装置显示测试结果界面,测试结果界面包括第一界面图像、第二界面图像、匹配效果图和匹配结果。其中,匹配效果图用于在第二界面图像上标记出匹配模板对应的区域。
这样,可以方便测试人员观察第一界面图像上与第二界面图像一致的区域和与第二界面图像不一致的区域,验证导致界面图像不匹配的原因,便于优化和调整待测浏览器。
在另一种可能的设计中,在测试装置显示测试结果界面之后,该方法还包括:测试装置根据测试结果界面生成网页。
这样,可以方便用户或管理员查找、阅读和管理待测浏览器在加载目标网页时的测试结果。
在另一种可能的设计中,预设的模板匹配算法为线性算法。
这样,可以降低界面匹配过程中的计算复杂度,提高处理效率。
在另一种可能的设计中,在测试装置根据预设的模板匹配算法确定n个模板中的m个匹配模板时,测试装置确定n个模板中的第i个模板是否为匹配模板包括:测试装置根据预设的模板匹配算法确定第i个模板与第一搜索区域是否匹配,第i个模板的宽度为p个像素点高度为q个像素点,第一搜索区域为第二界面图像上以第j个像素点为参考点且宽度为p个像素点高度为q个像素点的区域,j为1到M之间的正整数,M为第二界面图像上的像素点的数量,且M为正整数;若第i个模板与第一搜索区域不匹配,且第二界面图像上存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则确定第i个模板与第二搜索区域是否匹配;若第i个模板与第一搜索区域不匹配,且第二界面图像上不存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则确定第i个模板与第二界面图像不匹配;若第i个模板与第一搜索区域匹配,则确定第i个模板与第二界面图像匹配。
这样,当测试装置根据第二界面图像上的某一个像素点确定一个模板与第二界面图像匹配后,就不再根据该像素点以后的其他像素点进行计算以确定该模板是否与第二界面图像匹配,而直接可以确定下一个模板是否与第二界面图像匹配,因而可以降低计算过程的复杂度,提高处理效率。
第二方面,本申请实施例提供了一种测试装置,包括:获取单元,用于获取第一界面图像和第二界面图像,第一界面图像为通过待测浏览器加载目标网页后显示的界面图像,第二界面图像为通过基准浏览器加载目标网页后显示的界面图像。分割单元,用于将第一界面图像分割为n个子图,n为正整数。确定单元,用于根据预设的模板匹配算法确定n个模板中的m个匹配模板,模板为子图,匹配模板为与第二界面图像匹配的模板,m为大于或者等于0且小于或者等于n的整数。确定单元还用于,根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果,匹配结果包括第一界面图像与第二界面图像匹配,或者第一界面图像与第二界面图像不匹配。
在一种可能的设计中,确定单元具体用于:根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果,匹配面积为m个匹配模板的面积之和。
在另一种可能的设计中,获取单元还用于,在确定单元根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果之前,获取非匹配模板包括的元素的属性信息以及第二界面图像包括的元素的属性信息,非匹配模板为n个模板中与第二界面图像不匹配的模板。确定单元还用于,若第二界面图像包括的元素的属性信息中未包括非匹配模板包括的元素的属性信息,则确定非匹配模板为无效模板,n个模板中除无效模板以外的其他模板为有效模板。确定单元还用于,根据匹配模板的数量m与有效模板的数量s的比值,和/或匹配面积与非匹配面积的比值,确定第一界面图像与第二界面图像的匹配结果,s为小于或者等于n的整数,非匹配面积为有效模板中所有非匹配模板的面积之和。
在另一种可能的设计中,测试装置还包括处理单元,用于:在分割单元将第一界面图像分割为n个子图之前,对第一界面图像和第二界面图像分别进行灰度化处理、二值化处理、腐蚀处理和膨胀处理。
在另一种可能的设计中,分割单元具体用于:对第一界面图像进行边缘检测,以标识出第一界面图像上与相邻像素点的亮度差大于预设阈值的像素点;根据与相邻像素点的亮度差大于预设阈值的像素点确定n个子图的轮廓,根据轮廓获得n个子图。
在另一种可能的设计中,测试装置还包括显示单元,用于:在确定单元确定第一界面图像与第二界面图像的匹配结果之后,显示测试结果界面,测试结果界面包括第一界面图像、第二界面图像、匹配效果图和匹配结果。其中,匹配效果图用于在第二界面图像上标记出匹配模板对应的区域。
在另一种可能的设计中,测试装置还包括生成单元,用于:在显示单元显示测试结果界面之后,根据测试结果界面生成网页。
在另一种可能的设计中,预设的模板匹配算法为线性算法,确定单元在根据预设的模板匹配算法确定n个模板中的m个匹配模板时,确定n个模板中的第i个模板是否为匹配模板,具体包括:根据预设的模板匹配算法确定第i个模板与第一搜索区域是否匹配,第i个模板的宽度为p个像素点高度为q个像素点,第一搜索区域为第二界面图像上以第j个像素点为参考点且宽度为p个像素点高度为q个像素点的区域,j为1到M之间的正整数,M为第二界面图像上的像素点的数量,且M为正整数;若第i个模板与第一搜索区域不匹配,且第二界面图像上存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则确定第i个模板与第二搜索区域是否匹配;若第i个模板与第一搜索区域不匹配,且第二界面图像上不存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则确定第i个模板与第二界面图像不匹配;若第i个模板与第一搜索区域匹配,则确定第i个模板与第二界面图像匹配。
第三方面,本申请实施例提供了一种电子设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述任一方面任一项可能的设计中的图像处理方法。
第四方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述任一方面任一项可能的设计中的图像处理方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述任一方面任一项可能的设计中的图像处理方法。
第六方面,本申请实施例提供了一种测试系统,包括测试装置和加载装置;其中,加载装置用于,通过待测浏览器加载目标网页,显示第一界面图像,并将第一界面图像发送给测试装置。加载装置还用于,通过基准测浏览器加载目标网页,显示第二界面图像,并将第二界面图像发送给测试装置。测试装置用于:接收加载装置发送的第一界面图像和第二界面图像;将第一界面图像分割为n个子图,n为正整数;根据预设的模板匹配算法确定n个模板中的m个匹配模板,模板为子图,匹配模板为与第二界面图像匹配的模板,m为大于或者等于0且小于或者等于n的整数;根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果,匹配结果包括第一界面图像与第二界面图像匹配,或者第一界面图像与第二界面图像不匹配。
在一种可能的设计中,测试装置用于根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果,具体包括:根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果,匹配面积为m个匹配模板的面积之和。
在另一种可能的设计中,测试装置还用于:在根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果之前,获取非匹配模板包括的元素的属性信息以及第二界面图像包括的元素的属性信息,非匹配模板为n个模板中与第二界面图像不匹配的模板。若第二界面图像包括的元素的属性信息中未包括非匹配模板包括的元素的属性信息,则确定非匹配模板为无效模板,n个模板中除无效模板以外的其他模板为有效模板。测试装置用于根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果,具体包括:根据匹配模板的数量m与有效模板的数量s的比值,和/或匹配面积与非匹配面积的比值,确定第一界面图像与第二界面图像的匹配结果,s为小于或者等于n的整数,非匹配面积为有效模板中所有非匹配模板的面积之和。
在另一种可能的设计中,测试装置还用于,在确定第一界面图像与第二界面图像的匹配结果之后,显示测试结果界面,测试结果界面包括第一界面图像、第二界面图像、匹配效果图和匹配结果。其中,匹配效果图用于在第二界面图像上标记出匹配模板对应的区域。
在另一种可能的设计中,测试装置还用于,在显示测试结果界面之后,根据测试结果界面生成网页。
在另一种可能的设计中,测试装置还用于,在接收加载装置发送的第一界面图像和第二界面图像之前,将目标网页指示给加载装置。
在另一种可能的设计中,加载装置还用于,在加载目标网页之前,接收测试装置发送的目标网页的指示信息。
附图说明
图1为现有技术中提供的一种界面图像对比图;
图2为本申请实施例提供的一种测试系统示意图;
图3为本申请实施例提供的一种测试系统结构示意图;
图4为本申请实施例提供的一种图像处理方法流程图;
图5为本申请实施例提供的一种界面图像对比图;
图6为本申请实施例提供的另一种界面图像对比图;
图7为本申请实施例提供的另一种图像处理方法流程图;
图8为本申请实施例提供的另一种界面图像对比图;
图9为本申请实施例提供的另一种界面图像对比图;
图10为本申请实施例提供的另一种界面图像对比图;
图11为本申请实施例提供的另一种图像处理方法流程图;
图12为本申请实施例提供的一种测试结果界面示意图;
图13为本申请实施例提供的一种分割和匹配效果示意图;
图14为本申请实施例提供的一种网页界面示意图;
图15为本申请实施例提供的一组搜索区域示意图;
图16为本申请实施例提供的一种测试装置的结构示意图。
具体实施方式
为了便于理解,示例的给出了部分与本申请实施例相关概念的说明以供参考。如下所示:
浏览器:指可以显示网页服务器或者文件系统的超文本标记语言(hypertextmarkup language,HTML)文件、javascript文件或层叠样式表(cascading style sheets,CSS)文件等文件的内容,并让用户与这些文件交互的一种软件。
元素:超文本标记语言中,开始标签和结束标签之间的代码称为HTML元素。在通过浏览器显示的网页中,元素能够为用户提供一定的操作或用于显示一定内容。例如,该元素可以是图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏或Widget、弹窗或图片等。
网页:构成网站的基本单元,是承载各种网站应用的平台。网页内容通常是由网站开发者提供和设置的,浏览器需要准确地渲染网页内容中的各个元素,包括元素的大小、内容和方向(例如横向设置或纵向设置)等。但是允许浏览器在显示网页内容是额外增加一些工具条等内容。
模板匹配(template matching):模板就是一幅已知的图像区域,而模板匹配就是在一幅大图像上搜寻与已知的图像区域内容一致的目标图像。
线性运算:包括加法和数量乘法。
腐蚀(erode):是将灰度值小(比较暗)的区域增强扩展,可以用于去除比较亮的噪点。
膨胀(dilate):是将灰度值大(比较亮)的区域增强扩展,可以用于连通相似颜色或强度的区域。
开运算:先进行腐蚀再进行膨胀,可以用于消除灰度值高于其邻近点的孤立点。
闭运算:先进行膨胀再进行腐蚀,可以用于消除灰度值低于其邻近点的孤立点。
边缘检测:是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像上亮度变化明显的点。
图像锐化(image sharpening):补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空域处理和频域处理两类。图像锐化是为了突出图像上景物的边缘、轮廓,或某些线性目标要素的特征。该过程提高了景物边缘与周围像素之间的反差,因此也被称为边缘增强。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
本申请实施例提供了一种图像处理方法,可以应用于图2所示的测试系统200。如图2所示,该测试系统200包括测试装置201和加载装置202。加载装置202可以包括一个或多个设备,用于运行多个浏览器,并通过不同的浏览器加载同一网站的同一网页。其中,不同浏览器可以运行在加载装置202的同一设备上,也可以分别运行在加载装置202的不同设备上。测试装置201用于从加载装置202获取网页相关数据,例如加载网页时显示的界面图像以及网页上包括的元素的内容和属性信息等。
并且,加载装置202与测试装置201可以是同一设备,也可以是不同的设备。当加载装置202与测试装置201为不同设备时,测试装置201与加载装置202可以通过数据线或线缆等有线方式连接,也可以通过无线保真(wireless fidelity,wifi)、蓝牙或近场通信(nearfield communication,NFC)等无线方式连接。测试装置201可以通过与加载装置202之间的连接通道获取网页相关数据。
举例来说,测试装置201可以是台式计算机、平板电脑、桌面型电脑、笔记本电脑、手机或上网本等。加载装置202可以是手机、平板电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digitalassistant,PDA)、可穿戴电子设备或智能手表等。
示例性的,在本申请一些实施例中,测试装置201具体可以是笔记本电脑,加载装置202具体可以是手机,手机与笔记本电脑之间通过数据线连接。再示例性的,测试装置201与加载装置202可以是同一部台式计算机。再示例性的,测试装置201与加载装置202可以是同一部手机。
本申请实施例所涉及的待测浏览器和基准浏览器可以是基于各种操作系统(例如,Windows、Unix或Linux等)的浏览器。尤其的,待测浏览器和基准浏览器可以是基于移动设备的操作系统的浏览器,例如,这些操作系统可以包括安卓(Android)、iOS、windowsphone、Symbian、BlackBerry OS以及Windows mobile等。
如图3所示,图2中的测试装置101可以通过图3所示的计算机系统300来实现。计算机系统300包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
处理器301可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-onlymemory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器303用于存储执行本申请方案的应用程序代码,并由处理器301来控制执行。处理器301用于执行存储器303中存储的应用程序代码,以控制计算机系统300实现本申请下述实施例提供的图像处理方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中的CPU0和CPU1,每个CPU可以支持多个虚拟CPU,虚拟CPU又称VCPU。
在具体实现中,作为一种实施例,计算机系统300可以包括多个处理器,例如图3中的处理器301和处理器307。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机系统300还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机系统300可以是一个通用通信设备或者是一个专用通信设备。本申请实施例不限定计算机系统300的类型。在具体实现中,计算机系统300可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图3中类似结构的设备。计算机系统300中的各个部件可以同时部署在同一个计算机设备中,也可以部署在位于分布式系统中的不同计算机设备中。
以下将结合图2所示的测试系统,以笔记本电脑为测试装置,手机为加载装置为例,对本申请实施例提供的图像处理方法进行具体阐述。
参见图4,本申请实施例提供的图像处理方法可以包括:
401、测试装置获取第一界面图像和第二界面图像,第一界面图像为通过待测浏览器加载目标网页后显示的界面图像,第二界面图像为通过基准浏览器加载目标网页后显示的界面图像。
其中,基准浏览器可以是预设的浏览器,用于作为一个基准衡量待测浏览器对网页的显示结果是否准确。例如,基准浏览器可以是用户普遍认可的浏览器或者同一浏览器中已经商用的成熟版本。示例性的,基准浏览器可以是谷歌的Chrome浏览器。待测浏览器可以是浏览器厂商或手机厂商开发的新的浏览器或者需要被测试的现有浏览器。
具体的,测试装置可以指示加载装置需要加载的目标网页,例如测试装置可以将目标网页的网址发送给加载装置。加载装置可以通过待测浏览器加载目标网页,显示第一界面图像,并将第一界面图像发送给测试装置。加载装置还可以通过基准浏览器加载目标网页并显示第二界面图像,并将第二界面图像发送给测试装置。其中,该第一界面图像上显示的内容除了包括网站规定和维护的网页内容以外,还可以包括待测浏览器自身增加的工具条等内容。该第二界面图像上显示的内容除了包括网站规定和维护的网页内容以外,还可以包括基准浏览器自身增加的内容。
示例性的,当加载装置采用安卓操作系统时,加载装置可以通过uiautomator2工具获取第一界面图像和第二界面图像,进而将第一界面图像和第二界面图像发送给测试装置。
402、测试装置将第一界面图像分割为n个子图,n为正整数。
测试装置在获取第一界面图像之后,可以将第一界面图像分割为n个小的子图,该n个子图可以用于代表整个第一界面图像。其中,当n为1时,可以理解为整个第一界面图像为一个子图。
403、测试装置根据预设的模板匹配算法确定n个模板中的m个匹配模板,该模板为子图,匹配模板为与第二界面图像匹配的模板,m为大于或者等于0且小于或者等于n的整数。
其中,模板匹配是指在一幅大图像上搜寻目标。模板匹配算法可以有多种,例如平均绝对差(mean absolute differences,MAD)算法、绝对误差和(sum of absolutedifferences,SAD)算法、序贯相似性检测算法(sequential similarity detectionalgorithm,SSDA)、hadamard变换算法(sum of absolute transformed difference,SATD)算法、平均误差平方和算法(mean square differences,MSD)算法或归一化积相关算法(normalized cross correlation,NCC)等,本申请实施例不予一一列举。
在本申请实施例中,在将第一界面图像分割成n个子图之后,测试装置可以将每一个子图作为一个模板,并根据模板匹配算法,以像素点为单位,在第二界面图像上进行搜索,以确定第二界面图像上是否存在与模板对应的,满足模板匹配算法要求的图像区域,该图像区域为第二界面图像上与模板一致的图像区域。若第二界面图像上包含与某一模板一致的图像区域,则可以称为该模板与第二界面图像匹配,该模板可以称为匹配模板。通过该方式,测试装置可以在n个模板中确定m个匹配模板。此外,若第二界面图像上不存在与某一模板相一致的图像区域,则该模板可以称为非匹配模板。
示例性的,若第一界面图像501如图5中的(a)所示,第二界面图像502如图5中的(b)所示。第一界面图像501上包括模板503、模板505和模板507。测试装置根据模板匹配算法,以像素点为单位在第二界面图像502上进行搜索,确定第二界面图像502上存在满足模板匹配算法要求的,与模板503、模板505和模板507一致的图像区域,即测试装置确定模板503、模板505和模板507与第二界面图像502匹配。
对比图5中的(a)和(b)可知,第一界面图像501上的模板503与第二界面图像502上的图像区域504的大小、内容和方向相同;第一界面图像501上的模板505与第二界面图像502上的图像区域506的大小、内容和方向相同;第一界面图像501上的模板507与第二界面图像502上的图像区域508的大小、内容和方向相同。
此外,对比图5中的(a)和(b)可知,虽然测试装置可以根据模板匹配算法确定第二界面图像502上存在与模板503、模板505和模板507一致的图像区域,但模板503、模板505和模板507在第一界面图像501上的位置,与图像区域504、图像区域506和图像区域508在第二界面图像502上的位置不同。
也就是说,当第一界面图像上的一个模板与第二界面图像匹配时,第二界面图像上存在与该模板的内容、大小和方向一致的图像区域;但该图像区域在第二界面图像上的位置,与该模板在第一界面图像上的位置可能不同。
当n个模板中存在m个匹配模板时,可以理解为该m个匹配模板对应的第一界面图像上的子图存在于第二界面图像上,可以在第二界面图像上找到与该m个匹配模板一致的图像区域。也就是说,根据该m个匹配模板可以获知第一界面图像的子图与第二界面图像的一致性情况,即获知第一界面图像与第二界面图像的一致性情况。
另外,当n为1时,即第一界面图像整个归为一个子图,此时测试装置可以确定该子图是否与第二界面图像匹配。
404、测试装置根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果,该匹配结果包括第一界面图像与第二界面图像匹配,或者第一界面图像与第二界面图像不匹配。
由于第一界面图像的子图与第二界面图像的一致性情况,可以用于表示第一界面图像上的网页内容与第二界面图像上的网页内容的一致性情况,因此,测试装置可以根据该m个匹配模板,即根据第一界面图像的子图与第二界面图像的一致性情况,确定第一界面图像与第二界面图像是否匹配。具体的,若第一界面图像上包括的子图与第二界面图像的一致性程度较高,则待测浏览器与基准浏览器兼容;若第一界面图像上包括的子图与第二界面图像的一致性程度较高,则待测浏览器与基准浏览器不兼容。
可见,在本申请实施例中,测试装置通过将待测浏览器对应的第一界面图像分割为n个子图,并将该子图作为模板来在第二界面图像上进行搜索,以确定第二界面图像上是否存在与模板一致的图像区域,从而确定第一界面图像与第二界面图像的一致性程度,进而根据该一致性程度确定第一界面图像与第二界面图像是否匹配,从而确定待测浏览器与基准浏览器是否兼容。
也就是说,测试装置是根据第二界面图像上是否存在与第一界面图像上的子图一致的图像区域来确定两个界面图像是否匹配的,而与子图在第一界面图像上的具体的位置无关。若第二界面图像上存在与子图的大小、内容和方向一样但位置不同的图像,则可以说明该子图与第二界面图像是一致的。这样,与现有技术中的测试方案相比,在待测浏览器或基准浏览器由于自身添加了工具条等原因,导致目标网页的网页内容在第一界面图像和第二界面图像上的位置不同(例如错位)时,如果第一界面图像上的网页内容与第二界面图像上的网页内容一致,则第一界面图像上的网页内容包括的模板为匹配模板,测试装置可以根据匹配模板确定第一界面图像与第二界面图像匹配,从而确定待测浏览器与基准浏览器兼容,因而可以提高兼容性测试方法的准确度。
在本申请实施例中,附图虽未示出,但在上述步骤404中,测试装置根据m个匹配模板确定第一界面图像与第二界面图像的匹配结果,具体可以包括:
4040、测试装置根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像的匹配结果,匹配面积为m个匹配模板的面积之和。
其中,匹配模板的数量m的值越大,可以表明第一界面图像的n个子图中与第二界面图像一致的子图越多,第一界面图像与第二界面图像的匹配的可能性也就越大。m个匹配模板的面积之和越大,即匹配面积越大,则第一界面图像与第二界面图像一致的区域越大,第一界面图像与第二界面图像的匹配的可能性也越大。因而,测试装置可以根据匹配模板的数量m是否较多和/或匹配面积是否较大,确定第一界面图像与第二界面图像是否匹配,从而确定待测浏览器与基准浏览器是否兼容。
示例性的,如图6所示,第一界面图像601为待测浏览器显示的界面图像,第二界面图像602为基准浏览器显示的界面图像。第一界面图像601上包括待测浏览器附加的广告603和虚线框内的页面内容604。与第二界面图像602上的页面内容605相比,第一界面图像601上的页面内容604的位置发生了偏移。测试装置通过上述方法确定虚线框中的模板为与第二界面图像602上的图像一致的匹配模板,匹配面积较大,测试装置确定第一界面图像601与第二界面图像602匹配,待测浏览器与基准浏览器兼容。可见,与图1所示的现有技术相比,在待测浏览器或基准浏览器由于自身添加了工具条等原因,导致目标网页的网页内容在第一界面图像和第二界面图像上的位置不同(例如错位)时,采用本申请实施例提供的方法可以通过模板匹配确定待测浏览器与基准浏览器兼容,从而提高兼容性测试的准确性。
在本申请实施例的一种具体实现方案中,参见图7,在上述步骤4040之前,该方法还可以包括:
4041、测试装置获取非匹配模板包括的元素的属性信息以及第二界面图像包括的元素的属性信息,非匹配模板为n个模板中与第二界面图像不匹配的模板。
具体的,测试装置可以在从加载装置获取第二界面图像时,从加载装置获取第二界面图像包括的所有元素的属性信息;或者,测试装置也可以在确定某一模板为非匹配模板后,从加载装置获取第二界面图像包括的所有元素的属性信息。测试装置可以在从加载装置获取第一界面图像时,从加载装置获取第一图像包括的所有元素的属性信息;或者,测试装置可以在确定某一模板为非匹配模板后,从加载装置获取第一界面图像包括的元素的属性信息或获取非匹配模板包括的元素的属性信息。
其中,元素的属性信息,即HTML元素属性,用于表明该元素的类型或作用,可以包含元素的类名(classname)、身份标识(identity,id)、格式、可点击性(clickable)以及文本信息(text)等。示例性的,图8中的(a)示出了第一界面图像801,图8中的(b)示出了第二界面图像802。与第二界面图像802相比,第一界面图像801上的模板803不存在于第二界面图像802上,第一界面图像801上的模板803为非匹配模板。非匹配模板803中的元素804用于承载网站推送的信息流,元素804的属性信息可以包括:classname:android.widget.FrameLayout;text:主题分享;clickable:false。
再示例性的,图9中的(a)示出了第一界面图像901,图9中的(b)示出了第二界面图像902。与第二界面图像902相比,第一界面图像901上的模板903不存在于第二界面图像902上,第一界面图像901上的模板903为非匹配模板。非匹配模板903中的元素904用于承载图片,元素904的属性信息可以包括:classname:android.view.View;text:Ai在“芯”里;clickable:true。
再示例性的,图10中的(a)示出了第一界面图像1001,图10中的(b)示出了第二界面图像1002。与第二界面图像1002相比,第一界面图像1001上的模板1003不存在于第二界面图像1002上,第一界面图像1001上的模板1003为非匹配模板。非匹配模板1003中的元素1004用于承载广告,元素1004的属性信息可以包括:classname:android.widget.FrameLayout;Description:未知;clickable:true。
实际上,由于网站的时效性较强,内容更新很频繁,动态广告(例如模板)、滚动播放的图片(例如模板)以及实时更新的信息流(例如模板),经常会导致待测浏览器第一界面图像与第二界面图像显示的结果不一致。
4042、若第二界面图像包括的元素的属性信息中未包括非匹配模板包括的元素的属性信息,则测试装置确定非匹配模板为无效模板,n个模板中除无效模板以外的其他模板为有效模板。
如果非匹配模板包括的元素的属性信息不在第二界面图像包括的元素的属性信息中,则可以说明基准浏览器的第二界面图像上根本不存在该非匹配模板中的元素,该非匹配模板为无效模板,该非匹配模板中的元素为无效元素。在第一界面图像的n个模板中,除无效模板以外的其他模板为有效模板。无效模板为非匹配模板,有效模板包括匹配模板和非匹配模板。
示例性的,在图8的(a)和(b)所示的情况下,第二界面图像802上不包括与非匹配模板803一致的图像区域,测试装置确定第二界面图像802包括的元素的属性信息中不包括元素804的属性信息,承载信息流的元素804对应的非匹配模板803为无效模板。
示例性的,在图9的(a)和(b)所示的情况下,第二界面图像902上不包括与非匹配模板903一致的图像区域,测试装置确定第二界面图像902包括的元素的属性信息中不包括元素904的元素信息,承载可滚动的图片的元素904对应的非匹配模板903为无效模板。
示例性的,在图10的(a)和(b)所示的情况下,第二界面图像1002上不包括与非匹配模板1003一致的图像区域,测试装置确定第二界面图像包括的元素的属性信息中不包括元素1004的属性信息,承载广告的元素1004对应的非匹配模板1003为无效模板。
此外,如果非匹配模板包括的元素的属性信息在第二界面图像包括的元素的属性信息中,则可以说明基准浏览器的第二界面图像上存在该非匹配模板中的元素,但该非匹配模板中的这些元素在第一界面图像上的渲染结果与在第二界面图像的渲染结果不一致,第二界面图像上不存在与该非匹配模板一致的图像区域,该非匹配模板为有效模板中的非匹配模板。
在步骤4041和步骤4042的基础上,上述步骤4040具体可以包括:
4043、测试装置根据匹配模板的数量m与有效模板的数量s的比值,和/或匹配面积与非匹配面积的比值,确定第一界面图像与第二界面图像的匹配结果,s为小于或者等于n的整数,非匹配面积为有效模板中所有非匹配模板的面积之和。
在确定无效模板后,测试装置可以在确定第一界面图像与第二界面图像是否匹配时,排除无效模板对界面图像匹配结果的影响。即测试装置可以不将无效模板作为判定第一界面图像和第二界面图像是否匹配的参考对象,而只根据有效模板确定第一界面图像与第二界面图像是否匹配。
示例性的,在确定第一界面图像与第二界面图像是否匹配时,测试装置可以不将上述非匹配模板803、非匹配模板903和非匹配模板1003作为参考因素,从而排除信息流不一致、图片滚动或广告等因素对界面图像匹配造成的影响,更为准确地确定第一界面图像与第二界面图像是否匹配,从而进一步提高兼容性测试的准确度。
具体的,测试装置可以记录匹配模板的数量、非匹配模板的数量、有效模板的数量以及无效模板的数量等信息,获取每个匹配模板的面积和每个非匹配模板的面积等信息,并根据匹配模板的数量m与有效模板的数量s的比值,和/或匹配面积与非匹配面积的比值,确定第一界面图像与第二界面图像的匹配结果。
其中,该确定方式具体可以有多种。例如,当匹配模板的数量m与有效模板的数量s的比值大于60%,且匹配面积与非匹配面积的比值大于1时,测试装置可以确定第一界面图像与第二界面图像匹配,从而可以确定待测试浏览器与基准浏览器兼容。
再例如,当匹配模板的数量m与有效模板中非匹配模板的数量的比值大于1,且匹配面积与非匹配面积及匹配面积之和的比值大于60%时,测试装置可以确定第一界面图像与第二界面图像匹配,从而可以确定待测试浏览器与目标浏览器兼容。
需要说明的是,步骤4043中的相关描述是以测试装置根据匹配模板的数量m与有效模板的数量s的比值,和/或匹配面积与非匹配面积的比值,确定第一界面图像与第二界面图像是否匹配为例进行说明的。在本申请实施例中,测试装置根据匹配模板的数量m和/或匹配面积,确定第一界面图像与第二界面图像是否匹配的方法可以有多种。例如,测试装置根据匹配模板的数量m与模板的总数量n的比值,匹配模板的数量m与非匹配模板的数量的比值,匹配模板的数量m与有效模板的数量s的比值,匹配模板的数量m与无效模板的数量的比值,匹配面积与非匹配面积的比值,匹配面积与第一界面图像总面积的比值,匹配面积与有效模板的面积之和的比值,或匹配面积与无效模板的面积之和的比值中的至少一种,确定第一界面图像与第二界面图像是否匹配。
由步骤4041-4043描述的方案可知,在本申请实施例提供的方案中,测试装置可以无需人工参与而自动确定动态广告、滚动播放的图片以及实时更新的信息流等对应的无效模板,确定出第一界面图像的无效区域,从而在确定界面图像的匹配结果和浏览器的兼容性时,排除无效模板和无效区域这些无效因素的影响,提高判定结果的准确性。而在现有兼容性测试方案中,更新的信息流、滚动的图片和广告等将会影响界面图像匹配结果的准确性,从而使得兼容性测试的准确性较低。
进一步地,在上述步骤402中将第一界面图像分割为n个子图之前,测试装置还可以对第一界面图像和第二界面图像进行预处理,以增强第一界面图像和第二界面图像上有效信息的可检测性,并对图像数据进行简化,为步骤402中从第一界面图像上检测轮廓并根据轮廓抠出子图从而实现图像分割做准备。其中,网页内容通常包含文字、图片和背景等信息。而文字、图片信息为用户关注的主要内容和关键信息,可以称为有效信息;背景信息可以称为无效信息。
具体的,参见图11,预处理操作可以包括:
405、测试装置对第一界面图像和第二界面图像分别进行灰度化处理。
其中,灰度化是指像素点的R值=G值=B值,彩色图像变成灰度图像。在灰度图像上,每个像素点只需一个字节存放灰度值(又称强度值或亮度值),而在RGB彩色图像上,每个像素点需要3个字节存放像素值(R值、G值和B值)。因此,灰度化处理可以减少第一界面图像和第二界面图像的数据量,降低图像数据的存储空间,提高处理效率。
406、在灰度化处理之后,测试装置对第一界面图像和第二界面图像分别进行二值化处理。
二值化处理是指将界面图像上的像素点的灰度值设置为0或255,界面图像上的像素点为黑色像素点或白色像素点。这样,可以使得界面图像呈现出明显的黑白效果,凸显界面图像上景物的轮廓,以方便后续测试装置根据轮廓划分子图。并且,二值化处理还可以减图像区域处理的数据量,提高处理效率。
407、在二值化处理之后,测试装置对第一界面图像和第二界面图像分别进行腐蚀处理和膨胀处理。
其中,腐蚀是将灰度值小(比较暗)的区域增强扩展,膨胀是将灰度值大(比较亮)的区域增强扩展。通过腐蚀、膨胀处理可以连通相似颜色或强度的区域,去除第一界面图像上比较亮的噪点和孤立的像素点,从而可以使图像轮廓更清晰,方便进行图像分割,提高分割的效率。
具体的,测试装置先进行腐蚀再进行膨胀(即开运算),可以消除高于其邻近点的孤立点;测试装置先进行膨胀再进行腐蚀(即闭运算),可以消除低于其邻近点的孤立点。
此外,在步骤407之后,测试装置还可以对第一界面图像和第二界面图像进行图像锐化,以补偿界面图像的轮廓,增强界面图像上景物的边缘及灰度跳变的部分,突出界面图像上景物的边缘、轮廓,提高景物边缘与周围像素之间的反差,以方便后续测试装置根据轮廓划分子图。并且,测试装置还可以去掉景物边缘以外的像素点信息,以减少待处理的数据量。
在步骤405-407的基础上,步骤402具体可以包括:
4021、测试装置对第一界面图像进行边缘检测,以标识出第一界面图像上与相邻像素点的亮度差大于预设阈值的像素点。
由于第一界面图像上同一景物的像素点的亮度变化较小,不同景物的像素点之间的亮度变化较大(即亮度变化明显),因而在上述预处理操作之后,测试装置可以根据预处理操作的结果对第一界面图像进行边缘检测,以标识出第一界面图像上与相邻像素点的亮度差大于预设阈值的像素点,这些像素点通常为第一界面图像上景、物图像的轮廓。并且,测试装置还可以剔除一些背景信息以及一些孤立的噪点等不相关信息,保留第一界面图像上有效信息的图像结构,降低待处理的数据量,减少测试过程的计算量。
4022、测试装置根据与相邻像素点的亮度差大于预设阈值的像素点确定n个子图的轮廓。
4043、测试装置根据轮廓获得n个子图。
在确定第一界面图像上与相邻像素点的亮度差大于预设阈值之后,测试装置可以根据与相邻像素点的亮度差大于预设阈值的像素点确定第一界面图像上多个景、物图像的轮廓。每个轮廓可以对应一个子图,该轮廓及该轮廓内部框选的范围即为该子图的范围。采用该种划分子图的方式,测试装置可以将第一界面图像划分为n个子图,并获得每个子图对应的轮廓和范围。对于第一界面图像上n个子图以外的部分,可能为背景部分的无效信息,测试装置不予进行匹配比对,而仅针对每个子图与第二界面图像进行匹配比对。
举例来说,采用Python语言编写的步骤405-407描述的预处理过程以及步骤4021-4023描述的图像分割过程的程序代码可以包括:
def get_sub_imgs(filename):
kernel=np.uint8(np.ones((3,3)))
#读入图片
src=cv2.imread(filename)
#图像灰度化
img=cv2.cvtColor(src,cv2.COLOR_BGR2GRAY)
#膨胀图像
dilated=cv2.dilate(img,kernel)
#Sobel边缘检测
sobelX=cv2.Sobel(dilated,cv2.CV_64F,1,0)#x方向的梯度
sobelY=cv2.Sobel(dilated,cv2.CV_64F,0,1)#y方向的梯度
sobelX=np.uint8(np.absolute(sobelX))#x方向梯度的绝对值
sobelY=np.uint8(np.absolute(sobelY))#y方向梯度的绝对值
sobelCombined=cv2.bitwise_or(sobelX,sobelY)
#轮廓获取
image,contours,hier=
cv2.findContours(sobelCombined,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
sub_imgs=[]
for c in contours:
x,y,w,h=cv2.boundingRect(c)
sub_imgs.append((x,y,w,h))
return sub_imgs
由上述步骤405-407以及步骤4021-4023可知,测试装置可以根据第一界面图像上的图像特征自动,获取轮廓内框选的n个子图,删除轮廓外的无效信息,从而将第一界面图像自动分割为n个子图,整个图像分割过程中不需要人为的设置和参与(例如不需要人工划分子图或者预设子图的大小范围)。并且,在第一界面图像包括的n个子图中,不同子图之间的大小可以相同也可以不同,不同子图之间可以是连续的也可以是分离的。
进一步地,在本申请实施例中,附图虽未示出,但在上述步骤404之后,该方法还可以包括:
408、测试装置显示测试结果界面,该测试结果界面中包括匹配效果图和匹配结果,还可以包括第一界面图像和第二界面图像。
其中,匹配结果用于表示第一界面图像与第二界面图像匹配,或者第一界面图像与第二界面图像不匹配。匹配效果图用于表示第一界面图像与第二界面图像的匹配效果。例如,匹配效果图具体可以用于在第二界面图像上标记出第一界面图像上匹配模板对应的区域。其中,第一界面图像上匹配模板对应的区域是指,第二界面图像上与匹配模板中的内容相一致的图像区域。测试装置显示匹配效果图和匹配结果可以方便测试人员观察第一界面图像上与第二界面图像匹配的区域和与第二界面图像不匹配的区域,验证导致界面图像不匹配的原因,便于优化和调整待测浏览器。此外,匹配效果图中还可以包括第一界面图像上的非匹配模板在第二界面图像上的对应位置。具体的,测试装置可以对非匹配模板统一进行标记;或者,测试装置还可以将有效模板中的非匹配模板与无效模板对应的非匹配模板进行区别标记。
例如,在一种具体实现方式中,测试结果界面包括第一界面图像、第二界面图像、匹配效果图和匹配结果。示例性的,图12给出了一种测试结果界面1200,测试结果界面1200上包括如图12中的(a)所示的第一界面图像1201、如图12中的(b)所示的第二界面图像1202、如图12中的(c)所示的匹配效果图1203和如图12中的(d)所示的匹配结果1204。在如图12中的(c)中所示的匹配效果图1203中,黑色填充区域用于标记匹配模板对应的区域,表示第一界面图像上与第二界面图像上显示内容一致的部分;未进行黑色填充的区域表示匹配模板以外的非匹配区域。前述的填充方式只是一种举例,还可以采取其他填充方式,将匹配区域与非匹配区域进行区分显示。
在上述步骤408之后,该方法还可以包括:
409、测试装置根据测试结果界面生成网页。
在显示测试结果界面之后,测试装置还可以根据测试结果界面生成网页。例如,测试装置可以根据测试结果界面生成静态网页,方便测试人员查找和管理待测浏览器在加载目标网页时的测试结果。或者,测试装置可以根据测试结果界面生成网页和网址;这样,用户或管理员通过点击网址就可以打开待测浏览器在加载目标网页时的测试结果,从而可以方便测试人员查找和管理待测浏览器在加载目标网页时的测试结果。
在本申请其他一些实施例中,测试装置还可以在测试过程中对相关处理结果及时进行显示,以方便测试人员实时查看处理情况和处理结果。例如,在测试装置通过上述步骤401从加载装置获取第一界面图像和第二界面图像之后,测试装置可以在显示屏上显示第一界面图像和第二界面图像。其中,第一界面图像可以为图12的(a)中显示的界面图像1201,第二界面图像可以为图12的(b)中显示的界面图像1202。在通过上述步骤402完成图像分割后,如图13中的(a)所示,测试装置可以在显示屏上显示第一界面图像分割成n个子图后呈现的分割效果图1301。其中,分割效果图1301上可以包括多个子图对应的多个模板,例如包括模板1302。此外,测试装置还可以显示匹配效果图,并在确定一个模板是否为匹配模板后在匹配效果图上标记该模板。例如,参见图13中的(b),当测试装置确定模板1302为匹配模板时,测试装置可以在匹配效果图1303上对该模板1302对应的区域进行黑色填充。在确定所有n个子图是否为匹配模板后,测试装置还可以在显示屏上显示第一界面图像与第二界面图像的匹配结果。此时,测试装置显示的包括匹配结果的显示界面可以为图12所示的测试结果界面。
此外,可选地,在本申请实施例中,上述预设的模板匹配算法可以为线性算法。例如,该模板匹配算法可以是SSDA算法或SAD算法等。当预设的模板匹配算法为线性算法时,可以降低界面匹配过程中的计算复杂度,提高处理效率。
在上述步骤403中,测试装置可以分别判断第一界面图像上的n个模板中的每个模板是否与第二界面图像匹配。若测试装置确定n个模板中的第i个模板与第二界面图像匹配,则电子设备可以继续判断第i+1个模板是否与第二界面图像匹配;直到测试装置判断完成第n个模板是否与第二界面图像匹配,从而得到n个模板中与第二界面图像匹配的m个匹配模板。
具体的,测试装置确定n个模板中的第i个模板是否与第二界面图像匹配包括:
4031、测试装置根据预设的模板匹配算法确定第i个模板与第一搜索区域是否匹配,第i个模板的宽度为p个像素点高度为q个像素点,第一搜索区域为第二界面图像上以第j个像素点为参考点且宽度为p个像素点高度为q个像素点的区域,j为1到M之间的正整数,M为第二界面图像上的像素点的数量,且M为正整数。
示例性的,第i个模板可以为图15中的(a)所示的区域1501,区域1501包括p*q个小方格,表示p*q个像素点。以第j个像素点为参考点且宽度为p个像素点高度为q个像素点的第一搜索区域是指,以第j个像素点为左上角的像素点且大小为p*q的图像区域。示例性的,第一搜索区域可以为图15中的(b)所示的区域1502,区域1502包括p*q个小方格,表示p*q个像素点。
示例性的,测试装置可以采用SSDA算法,根据以下式2和参考点计算第i个模板与搜索区域的匹配误差,从而确定第i个模板是否与搜索区域匹配。
Figure GPA0000287684840000201
在式2中,p表示第i个模板的宽度(以像素点为单位),q表示第i个模板的高度(以像素点为单位)。(u,v)表示第二界面图像上的参考点即第j(序号)个像素点的坐标。(k,e)表示第i个模板中像素点的坐标。该坐标用于表示某个像素点在整个界面图像上的位置。(k+u-1,e+v-1)表示以参考点为左上角的像素点且大小为p*q的第一搜索区域中,与第i个模板中的像素点(k,e)对应的像素点的坐标。示例性的,在图15的(b)所示的第一搜索区域1502中,像素点(k+u-1,e+v-1)与第i个模板中的像素点(k,e)对应。
t(k,e)表示第i个模板上的像素点(k,e)的特征值,f(k+u-1,e+v-1)表示第二界面图像上与像素点(k,e)对应的像素点的特征值。其中,该特征值具体可以是像素点的像素值或灰度值等。w(u,v)表示匹配误差,具体表示第i个模板与第二界面图像上以像素点(u,v)为左上角的像素点且大小为p*q的搜索区域中,相对应的像素点的特征值的差值的总和。
并且,第二界面图像上像素点序号的编号方法可以为,从第二界面图像最上边的第一行的像素点开始编号,在第一行像素点中采用从左往右的顺序对像素点进行编号;第一行像素点编号完成之后,按照从左往右的顺序继续对从上边数第二行中的像素点进行编号,直到完成对界面图像最下边一行像素点的编号。
若根据第j个像素点(即参考点)计算获得的匹配误差w(u,v)的值小于或者等于第一预设值,则可以表明第i个模板与第二界面图像上的第一搜索区域的匹配误差较小,第i个模板与第一搜索区域匹配;若根据第j个像素点(即参考点)计算获得的匹配误差w(u,v)的值大于第一预设值,则可以表明第i个模板与第二界面图像上的第一搜索区域的匹配误差较大,第i个模板与第一搜索区域不匹配。
4032、若第i个模板与第一搜索区域不匹配,且第二界面图像上存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则测试装置确定第i个模板与第二搜索区域是否匹配。
若第i个模板与第一搜索区域不匹配,且第二界面图像上存在以第j+1个像素点为参考点且大小为p*q的第二搜索区域,例如第二搜索区域为如图15中的(c)所示的实线区域1503,则测试装置可以继续确定第i个模板与第二搜索区域是否匹配。
4033、若第i个模板与第一搜索区域不匹配,且第二界面图像上不存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则测试装置确定第i个模板与第二界面图像不匹配。
若第i个模板与第一搜索区域不匹配,且第二界面图像上存在以第j+1个像素点为参考点且大小为p*q的第二搜索区域,例如,如图15的(d)所示的实线区域1504所示,当以第j+1个像素点为左上角的像素点时,第二界面图像上参考点右下方的区域的大小小于p*q,不足以形成一个搜索区域,且第i个模板与之前的搜索区域均不匹配,此时测试装置可以确定第二界面图像上不存在与第i个模板匹配的图像区域,第i个模板与第二界面图像不匹配。
4034、若第i个模板与第一搜索区域匹配,则测试装置确定第i个模板与第二界面图像匹配。
若第i个模板与第一搜索区域匹配,则第二界面图像上存在与第i个模板一致的图像区域,该图像区域即为第一搜索区域,那么第i个模板与第二界面图像匹配。
需要说明的是,当测试装置根据第二界面图像上的第j个像素点确定第i个模板与第二界面图像匹配后,不再根据该像素点以后的其他像素点计算匹配误差从而继续判断第i模板是否与第二界面图像匹配,而直接可以确定下一个模板(即第i+1个模板)是否与第二界面图像匹配。也就是说,在确定一个模板是否与第二界面图像匹配时,通常不需要根据上述式2计算所有的M个像素点对应的w(u,v),而只需要根据上述式2计算M个像素点中的部分像素点就可以确定一个模板是否与第二界面图像匹配,因而可以降低计算过程的复杂度,提高处理效率。
此外,还需要说明的是,以上是参考点为搜索区域的左上角的像素点为例进行说明的,参考点也可以为搜索区域中其他像素点,例如还可以为搜索区域右下角或左下角的像素点等。其中,若参考点为搜索区域右下角的像素点的坐标,则第二界面图像上像素点序号的编号方法可以为,从第二界面图像最下边的第一行开始编号,在第一行中采用从右往左的顺序对像素点进行编号;第一行像素点编号完成之后,按照从左往右的顺序继续对从下边数第二行中的像素点进行编号,直到完成对界面图像最上边一行像素点的编号。
并且,当采用线性的模板匹配算法时,测试装置确定第一界面图像与第二界面图像是否匹配的计算复杂度小于n*M;而现有技术提供的测试方法的计算复杂度为M2。可见,与现有技术相比,本申请实施例提供的方案可以降低计算复杂度,减少计算量和计算时间,节省计算资源,提高处理效率。
举例来说,采用Python语言编写的步骤403描述的模板匹配过程的程序代码可以包括:
def find_template(img_file,template_file,threshold=0.9):
#读取灰度化后的第二界面图像与模板
img=cv2.imread(img_file,0)
template=cv2.imread(template_file,0)
w,h=template.shape[::-1]
#目标匹配
res=cv2.matchTemplate(img,template,cv2.TM_CCOEFF_NORMED)
if cv2.minMaxLoc(res)[1]>threshold:
pass
else:
return False
#获取匹配的最佳结果
min_val,max_val,min_loc,max_loc=cv2.minMaxLoc(res)
top_left=max_loc
return(top_left[0],top_left[1],w,h)
需要说明的是,以上是以待测浏览器和基准浏览器加载一个目标网站的一个目标网页为例对待测浏览器的兼容性测试进行说明的。在本申请其他一些实施例中,测试装置通过测试预设的R(大于1的整数)个甚至海量的目标网站的目标网页来确定待测浏览器的兼容性。其中,对于预设的R个目标网页中的每个目标网页,测试装置都可以采用本申请上述实施例提供的方法进行测试。例如,测试装置可以测试用户访问频率最高或访问次数最多的TOP100个目标网站的目标网页,来确定待测浏览器和基准浏览器的兼容性。对于TOP100个目标网页,若通过待测浏览器显示的第一界面图像与通过基准浏览器显示的第二界面图像均匹配,则可以确定待测浏览器与基准浏览器兼容。或者,在TOP100个目标网页中,若数量超过第二预设值(例如100%)的目标网页通过待测浏览器显示的第一界面图像与通过基准浏览器显示的第二界面图像匹配,则可以确定待测浏览器与基准浏览器兼容。
当目标网页有R个时,在一种具体实现方式中,测试装置上可以包括一个目标网页列表,如表1所示,该目标网页列表可以包括多个目标网页的网址。测试装置可以每次向加载装置指示一个目标网页的网址,并在当前目标网页测试完成后,再向加载装置指示另一个目标网页的网址。在另一种具体实现方式中,测试装置可以将目标网页列表发送给加载装置,加载装置在接收到测试装置完成当前目标网页测试的通知信息后,加载下一个网址对应的目标网页。
表1
目标网页的网址
www.google.com
https://www.amazon.cn/
http://www.baidu.com
http://www.qq.com
http://www.taobao.com
http://www.tmail.com
http://www.sohu.com
http://www.sina.com.cn
http://www.jd.com
http://www.weibo.com
http://www.360.cn
...
具体的,在测试R个目标网页中的任意一个目标页面时,当加载装置通过待测浏览器和基准浏览器无法正确打开该目标网页时,可以向测试装置发送通知信息,以方便测试装置记录该目标网页的相关信息;当加载装置能够打开目标网页但不能正常加载该目标网页的网页内容时,也可以通知测试装置,以方便测试装置记录该目标网页的相关情况;当加载装置通过待测浏览器和基准浏览器可以正常加载该目标网页的网页内容时,分别显示第一界面图像和第二界面图像,并通过上述实施例描述的方法测试第一界面图像与第二界面图像是否匹配,并记录该目标网页对应的匹配结果。而后测试下一个目标网页对应的第一界面图像与第二界面图像是否匹配。在测试完所有R个目标网页之后,可以列出兼容性测试的相关信息,例如不匹配的目标网页的数量和网址,无法打开的目标网页的数量和网址,无法正确加载的目标网页的数量和网址,匹配的目标网页的数量和网址,每个目标网页分别对应的匹配效果图,待测浏览器与基准浏览器是否兼容的结果等。其中,匹配的目标网页是指,对应的第一界面图像和第二界面图像匹配的目标网页,不匹配的目标网页是指,对应的第一界面图像和第二界面图像不匹配的目标网页。示例性的,测试装置列出的不匹配的目标网页可以如表2所示。
表2
不匹配的目标网页的网址
http://www.qq.com
http://www.tmail.com
http://www.jd.com
并且,测试装置还可以根据兼容性测试的相关信息生成静态网页,或者测试装置还可以根据兼容性测试的相关信息生成网页和网址,方便测试人员通过网页形式进行浏览器兼容性结果的确认、管理和维护。示例性的,测试装置在生成完成R个目标网页的测试后,根据兼容性测试的相关信息生成的网页可以如图14所示。
尤其地,在需要通过测试海量目标网页来确定待测浏览器与基准浏览器的兼容性时,本申请实施例提供的方法可以实现自动化测试而不需要人为的参与,因而可以节省人力资源消耗,降低人力测试和维护成本,提高处理效率。
另外,现有技术中还存在另一种浏览器的兼容性测试方法,通过网络爬虫将待测浏览器的网页内容和基准浏览器的网页内容保存在缓存服务器上,然后再根据上述式1采用像素点的R值、G值、B值相减并计算累积方差值的方式来测试浏览器的兼容性。该种缓存的方案需要占用大量的磁盘空间,并且只能测试已缓存的网页,而对由于发生变更需要重新采集和缓存的网站和网页,则不能进行实时的验证和测试。
此外,还需要说明的是,本申请实施例提供的方法不仅可以应用在浏览器兼容性测试领域,还可以应用在其他领域。示例性的,采用本申请实施例提供的方法还可以判断相似图片。例如,在海量图片中搜索与目标图片相似的图片。再示例性的,采用本申请实施例提供的方法还可以判断相似网站。例如,给出一个目标网站的目标网页截图,然后在海量网址对应的网页截图中找出与该目标网页截图相似的网页截图以及对应的网址信息,从而确定是否存在网站盗用了目标网站的设计专利等。
可以理解的是,测试装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对测试装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图16示出了上述实施例中涉及的测试装置1600的一种可能的组成示意图,如图16所示,该测试装置1600可以包括:获取单元1601、分割单元1602、确定单元1603、处理单元1604、显示单元1605和生成单元1606。
其中,获取单元1601可以用于支持测试装置1600执行步骤401、步骤4041;和/或用于本文所描述的技术的其他过程。
分割单元1602可以用于支持测试装置1600执行步骤402、步骤4021-4023;和/或用于本文所描述的技术的其他过程。
确定单元1603可以用于支持测试装置1600执行步骤403、步骤404、步骤4040、步骤4042、步骤4043、步骤4031-4034;和/或用于本文所描述的技术的其他过程。
处理单元1604可以用于支持测试装置1600执行步骤405-407;和/或用于本文所描述的技术的其他过程。
显示单元1605可以用于支持测试装置1600执行步骤408,和/或用于本文所描述的技术的其他过程。
生成单元1606可以用于支持测试装置1600执行步骤409,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例提供的测试装置,用于执行上述图像处理的实现方法,因此可以达到与上述图像处理的实现方法相同的效果。
在采用集成的单元的情况下,测试装置可以包括处理模块、通信模块和存储模块。其中,处理模块可以用于对测试装置的动作进行控制管理,例如,可以用于支持测试装置执行上述分割单元1602、确定单元1603、处理单元1604、显示单元1605和生成单元1606执行的步骤,和/或用于本文所描述的技术的其他过程。通信模块可以用于支持电子设备与其他网络实体的通信,例如支持测试装置执行上述获取单元1601执行的步骤,和/或用于本文所描述的技术的其他过程。存储模块可以用于支持测试装置存储界面图像,存储程序代码和数据等。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、wifi芯片等与其他电子设备交互的设备。
在一个简单的实施例中,当处理模块为处理器,存储模块为存储器时,本申请实施例所涉及的测试装置可以为具有图3所示计算机系统的设备。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在测试装置上运行时,使得测试装置执行上述相关方法步骤实现上述实施例中的图像处理的实现方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的图像处理的实现方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的图像处理的实现方法。
其中,本申请实施例提供的测试装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本申请另一实施例还提供了一种测试系统,可以包括加载装置和测试装置。该测试系统的结构示意图可以参见上述图2。该测试装置可以用于执行上述图像处理方法,以实现浏览器的兼容性测试。例如,该测试装置可以用于执行上述步骤401-409,步骤4021-4023,步骤4031-4034,以及步骤4041-4043等。加载装置可以用于配合测试装置进行图像处理,以实现浏览器的兼容性测试。例如,加载装置可以用于通过待测浏览器加载目标网页,显示第一界面图像,并将第一界面图像发送给测试装置;通过基准测浏览器加载目标网页,显示第二界面图像,并将第二界面图像发送给测试装置。以及,加载装置还可以用于从测试装置获取目标网页的指示信息等。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

1.一种图像处理方法,其特征在于,包括:
获取第一界面图像和第二界面图像,所述第一界面图像为通过待测浏览器加载目标网页后显示的界面图像,所述第二界面图像为通过基准浏览器加载所述目标网页后显示的界面图像;
将所述第一界面图像分割为n个子图,n为正整数;
根据预设的模板匹配算法确定n个模板中的m个匹配模板,所述模板为所述子图,所述匹配模板为与所述第二界面图像匹配的模板,m为大于或者等于0且小于或者等于n的整数;
根据所述m个匹配模板确定所述第一界面图像与所述第二界面图像的匹配结果,所述匹配结果包括所述第一界面图像与所述第二界面图像匹配,或者所述第一界面图像与所述第二界面图像不匹配。
2.根据权利要求1所述的图像处理方法,其特征在于,根据所述m个匹配模板确定所述第一界面图像与所述第二界面图像的匹配结果,具体包括:
根据匹配模板的数量m和/或匹配面积,确定所述第一界面图像与所述第二界面图像的匹配结果,所述匹配面积为所述m个匹配模板的面积之和。
3.根据权利要求2所述的图像处理方法,其特征在于,在根据匹配模板的数量m和/或匹配面积,确定所述第一界面图像与所述第二界面图像的匹配结果之前,所述方法还包括:
获取非匹配模板包括的元素的属性信息以及所述第二界面图像包括的元素的属性信息,所述非匹配模板为所述n个模板中与所述第二界面图像不匹配的模板;
若所述第二界面图像包括的元素的属性信息中未包括所述非匹配模板包括的元素的属性信息,则确定所述非匹配模板为无效模板,所述n个模板中除所述无效模板以外的其他模板为有效模板;
所述根据匹配模板的数量m和/或匹配面积,确定所述第一界面图像与所述第二界面图像的匹配结果,具体包括:
根据所述匹配模板的数量m与所述有效模板的数量s的比值,和/或所述匹配面积与非匹配面积的比值,确定所述第一界面图像与所述第二界面图像的匹配结果,s为小于或者等于n的整数,所述非匹配面积为所述有效模板中所有非匹配模板的面积之和。
4.根据权利要求1-3任一项所述的图像处理方法,其特征在于,在所述将所述第一界面图像分割为n个子图之前,所述方法还包括:
对所述第一界面图像和所述第二界面图像分别进行灰度化处理;
在所述灰度化处理之后,对所述第一界面图像和所述第二界面图像分别进行二值化处理;
在所述二值化处理之后,对所述第一界面图像和所述第二界面图像分别进行腐蚀处理和膨胀处理。
5.根据权利要求4所述的图像处理方法,其特征在于,所述将所述第一界面图像分割为n个子图,具体包括:
对所述第一界面图像进行边缘检测,以标识出所述第一界面图像上与相邻像素点的亮度差大于预设阈值的像素点;
根据所述与相邻像素点的亮度差大于预设阈值的像素点确定所述n个子图的轮廓;
根据所述轮廓获得所述n个子图。
6.根据权利要求1-3、5任一项所述的图像处理方法,其特征在于,在所述确定所述第一界面图像与所述第二界面图像的匹配结果之后,所述方法还包括:
显示测试结果界面,所述测试结果界面包括所述第一界面图像、所述第二界面图像、匹配效果图和所述匹配结果;
其中,所述匹配效果图用于在所述第二界面图像上标记出所述匹配模板对应的区域。
7.根据权利要求6所述的图像处理方法,其特征在于,在所述显示测试结果界面之后,所述方法还包括:
根据所述测试结果界面生成网页。
8.根据权利要求1-3、5、7任一项所述的图像处理方法,其特征在于,所述预设的模板匹配算法为线性算法,在根据预设的模板匹配算法确定n个模板中的m个匹配模板时,确定所述n个模板中的第i个模板是否为匹配模板包括:
根据所述预设的模板匹配算法确定所述第i个模板与第一搜索区域是否匹配,所述第i个模板的宽度为p个像素点高度为q个像素点,所述第一搜索区域为所述第二界面图像上以第j个像素点为参考点且宽度为p个像素点高度为q个像素点的区域,j为1到M之间的正整数,M为所述第二界面图像上的像素点的数量,且M为正整数;
若所述第i个模板与所述第一搜索区域不匹配,且所述第二界面图像上存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则确定所述第i个模板与所述第二搜索区域是否匹配;
若所述第i个模板与所述第一搜索区域不匹配,且所述第二界面图像上不存在以第j+1个像素点为参考点且宽度为p个像素点高度为q个像素点的第二搜索区域,则确定所述第i个模板与所述第二界面图像不匹配;
若所述第i个模板与所述第一搜索区域匹配,则确定所述第i个模板与所述第二界面图像匹配。
9.一种测试装置,其特征在于,包括一个或多个处理器和一个或多个存储器;
所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述测试装置执行如权利要求1-8任一项所述的图像处理方法。
10.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在测试装置上运行时,使得所述测试装置执行如权利要求1-8任一项所述的图像处理方法。
11.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的图像处理方法。
12.一种测试系统,其特征在于,包括测试装置和加载装置;其中,
所述加载装置用于,通过待测浏览器加载目标网页,显示第一界面图像,并将所述第一界面图像发送给所述测试装置;
所述加载装置还用于,通过基准测浏览器加载目标网页,显示第二界面图像,并将所述第二界面图像发送给所述测试装置;
所述测试装置用于:
接收所述加载装置发送的所述第一界面图像和所述第二界面图像;
将所述第一界面图像分割为n个子图,n为正整数;
根据预设的模板匹配算法确定n个模板中的m个匹配模板,所述模板为所述子图,所述匹配模板为与所述第二界面图像匹配的模板,m为大于或者等于0且小于或者等于n的整数;
根据所述m个匹配模板确定所述第一界面图像与所述第二界面图像的匹配结果,所述匹配结果包括所述第一界面图像与所述第二界面图像匹配,或者所述第一界面图像与所述第二界面图像不匹配。
13.根据权利要求12所述的测试系统,其特征在于,所述测试装置用于根据所述m个匹配模板确定所述第一界面图像与所述第二界面图像的匹配结果,具体包括:
根据匹配模板的数量m和/或匹配面积,确定所述第一界面图像与所述第二界面图像的匹配结果,所述匹配面积为所述m个匹配模板的面积之和。
14.根据权利要求13所述的测试系统,其特征在于,所述测试装置还用于:
在根据匹配模板的数量m和/或匹配面积,确定所述第一界面图像与所述第二界面图像的匹配结果之前,获取非匹配模板包括的元素的属性信息以及所述第二界面图像包括的元素的属性信息,所述非匹配模板为所述n个模板中与所述第二界面图像不匹配的模板;
若所述第二界面图像包括的元素的属性信息中未包括所述非匹配模板包括的元素的属性信息,则确定所述非匹配模板为无效模板,所述n个模板中除所述无效模板以外的其他模板为有效模板;
所述测试装置用于根据匹配模板的数量m和/或匹配面积,确定所述第一界面图像与所述第二界面图像的匹配结果,具体包括:
根据所述匹配模板的数量m与所述有效模板的数量s的比值,和/或所述匹配面积与非匹配面积的比值,确定所述第一界面图像与所述第二界面图像的匹配结果,s为小于或者等于n的整数,所述非匹配面积为所述有效模板中所有非匹配模板的面积之和。
15.根据权利要求12-14任一项所述的测试系统,其特征在于,所述测试装置还用于,在所述确定所述第一界面图像与所述第二界面图像的匹配结果之后,显示测试结果界面,所述测试结果界面包括所述第一界面图像、所述第二界面图像、匹配效果图和所述匹配结果;
其中,所述匹配效果图用于在所述第二界面图像上标记出所述匹配模板对应的区域。
16.根据权利要求15所述的测试系统,其特征在于,所述测试装置还用于,在所述显示测试结果界面之后,根据所述测试结果界面生成网页。
17.根据权利要求12-14任一项所述的测试系统,其特征在于,所述测试装置还用于,在接收所述加载装置发送的所述第一界面图像和所述第二界面图像之前,将所述目标网页指示给所述加载装置。
CN201880068010.5A 2018-06-27 2018-06-27 一种图像处理方法、装置及系统 Active CN111247517B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/093172 WO2020000270A1 (zh) 2018-06-27 2018-06-27 一种图像处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111247517A CN111247517A (zh) 2020-06-05
CN111247517B true CN111247517B (zh) 2021-08-20

Family

ID=68985585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880068010.5A Active CN111247517B (zh) 2018-06-27 2018-06-27 一种图像处理方法、装置及系统

Country Status (2)

Country Link
CN (1) CN111247517B (zh)
WO (1) WO2020000270A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114782725B (zh) * 2022-06-21 2022-10-04 北京尽微致广信息技术有限公司 一种对比用户界面图像差异的方法、装置以及存储介质
CN115048309B (zh) * 2022-06-27 2023-03-07 广州掌动智能科技有限公司 无侵入app软件性能测试方法和系统
CN117392691B (zh) * 2023-11-01 2024-04-19 杭州德睿智药科技有限公司 一种化学结构式提取方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150558A (zh) * 2013-02-26 2013-06-12 北京航空航天大学 一种基于机器视觉的显示终端操作响应匹配检测方法
CN104111960A (zh) * 2013-04-22 2014-10-22 阿里巴巴集团控股有限公司 一种页面的匹配方法和装置
CN106447701A (zh) * 2015-08-05 2017-02-22 佳能株式会社 用于图像相似性确定、对象检测和跟踪的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503777B2 (en) * 2010-12-16 2013-08-06 Sony Corporation Geometric feature based image description and fast image retrieval
TWI479431B (zh) * 2012-04-03 2015-04-01 Univ Chung Hua 物件追蹤方法
CN105068918B (zh) * 2015-06-03 2017-11-17 中国人民财产保险股份有限公司 一种页面测试方法及装置
CN107845113B (zh) * 2017-10-20 2021-07-30 阿里巴巴(中国)有限公司 目标元素定位方法、装置以及用户界面测试方法、装置
CN108579094B (zh) * 2018-05-11 2023-04-18 深圳市腾讯网络信息技术有限公司 一种用户界面检测方法及相关装置、系统和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150558A (zh) * 2013-02-26 2013-06-12 北京航空航天大学 一种基于机器视觉的显示终端操作响应匹配检测方法
CN104111960A (zh) * 2013-04-22 2014-10-22 阿里巴巴集团控股有限公司 一种页面的匹配方法和装置
CN106447701A (zh) * 2015-08-05 2017-02-22 佳能株式会社 用于图像相似性确定、对象检测和跟踪的方法和装置

Also Published As

Publication number Publication date
CN111247517A (zh) 2020-06-05
WO2020000270A1 (zh) 2020-01-02

Similar Documents

Publication Publication Date Title
US10885365B2 (en) Method and apparatus for detecting object keypoint, and electronic device
CN111368788B (zh) 图像识别模型的训练方法、装置及电子设备
JP6036100B2 (ja) ウェブ・ブラウザー画面の段階的な視覚的比較
CN111247517B (zh) 一种图像处理方法、装置及系统
CN112560862B (zh) 文本识别方法、装置及电子设备
CN109471805B (zh) 资源测试方法及装置、存储介质、电子设备
CN109446061A (zh) 一种页面检测方法、计算机可读存储介质及终端设备
CN107885645A (zh) 计算页面首屏渲染时长的方法、装置及电子设备
CN110428394B (zh) 用于目标移动侦测的方法、装置及计算机存储介质
CN114511661A (zh) 图像渲染方法、装置、电子设备及存储介质
JP2022185144A (ja) 対象検出方法、対象検出モデルのレーニング方法および装置
CN113642471A (zh) 一种图像识别方法、装置、电子设备和存储介质
CN113487473B (zh) 一种添加图像水印的方法、装置、电子设备及存储介质
CN112508005B (zh) 用于处理图像的方法、装置、设备以及存储介质
CN113963186A (zh) 目标检测模型的训练方法、目标检测方法及相关装置
CN116486126B (zh) 一种模版确定方法、装置、设备及存储介质
CN117593420A (zh) 基于图像处理的平面图纸标注方法、装置、介质及设备
CN106663317A (zh) 数字图像的形态学处理方法和数字图像处理装置
Fareed et al. Saliency detection by exploiting multi-features of color contrast and color distribution
CN112749978B (zh) 检测方法、装置、设备、存储介质以及程序产品
CN114924959A (zh) 页面测试方法、装置、电子设备和介质
CN111242187B (zh) 一种图像相似度处理方法、装置、介质和电子设备
CN114332016A (zh) 设备屏幕光斑检测方法及装置
US10706279B2 (en) Content verification apparatus, method for verifying content, and non-transitory computer-readable storage medium
CN113642642A (zh) 控件识别方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220518

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: HUAWEI DEVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20220518

Address after: 523799 Room 101, building 4, No. 15, Huanhu Road, Songshanhu Park, Dongguan City, Guangdong Province

Patentee after: Petal cloud Technology Co.,Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: HUAWEI DEVICE Co.,Ltd.

TR01 Transfer of patent right