发明内容
本发明实施例提供一种栅格图像处理器的测试方法及装置,该方法解决了现有的栅格图像处理器的测试方法均采用人眼进行测试使整个测试过程持续时间过长,测试效率贬低并且测试准确度变差的技术问题。
本发明实施例提供一种栅格图像处理器的测试方法,包括:
获取测试策略参数和测试样例集;
采用目标栅格图像处理器、基准栅格图像处理器对应生成所述测试样例集中的各测试样例的目标图像、基准图像;
计算所述目标图像的目标分块特征向量及所述基准图像的基准分块特征向量;
将所述目标分块特征向量和对应的基准分块特征向量进行对比;
若所述目标分块特征向量和对应的基准分块特征向量不同,则根据所述测试策略参数将所述目标图像和所述基准图像进行对比;
若所述目标图像和所述基准图像不满足测试策略参数,则计算所述目标图像与所述基准图像的差异图像;
若所述测试样例集中差异图像的个数大于或等于预设阈值,则确定所述目标栅格图像处理器未通过测试。
本发明实施例提供一种栅格图像处理器的测试装置,包括:
参数样例获取模块,用于获取测试策略参数和测试样例集;
图像生成模块,用于采用目标栅格图像处理器、基准栅格图像处理器对应生成所述测试样例集中的各测试样例的目标图像、基准图像;
特征向量计算模块,用于计算所述目标图像的目标分块特征向量及所述基准图像的基准分块特征向量;
特征向量对比模块,用于将所述目标分块特征向量和对应的基准分块特征向量进行对比;
图像对比模块,用于若所述目标分块特征向量和对应的基准分块特征向量不同,则根据所述测试策略参数将所述目标图像和所述基准图像进行对比;
差异图像计算模块,用于若所述目标图像和所述基准图像不满足测试策略参数,则计算所述目标图像与所述基准图像的差异图像;
测试未通过确定模块,用于若所述测试样例集中差异图像的个数大于或等于预设阈值,则确定所述目标栅格图像处理器未通过测试。
本发明实施例提供一种栅格图像处理器的测试方法和装置,通过获取测试策略参数和测试样例集;采用目标栅格图像处理器、基准栅格图像处理器对应生成测试样例集中的各测试样例的目标图像、基准图像;计算目标图像的目标分块特征向量及基准图像的基准分块特征向量;将目标分块特征向量和对应的基准分块特征向量进行对比;若目标分块特征向量和对应的基准分块特征向量不同,则根据测试策略参数将目标图像和基准图像进行对比;若目标图像和基准图像不满足测试策略参数,则计算目标图像与基准图像的差异图像;若测试样例集中差异图像的个数大于或等于预设阈值,则确定目标栅格图像处理器未通过测试。实现了对栅格图像处理器的自动化测试,不需要人工进行测试,所以缩短了整个测试过程的时间,提高了测试效率,并且由机器进行测试,少了人眼观察的主观性,提高了测试准确性。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为本发明栅格图像处理器的测试方法实施例一的流程图,如图1所示,则本实施例的执行主体为栅格图像处理器的测试装置,该栅格图像处理器的测试装置可以集成在计算机、笔记本电脑或服务器中,则本实施例提供的栅格图像处理器的测试方法包括以下几个步骤。
步骤101,获取测试策略参数和测试样例集。
本实施例中,测试策略参数可以为:视觉阈值、对比度容差、像素值容差、位移容差等,本实施例对此不做限定。
本实施例中,测试样例集有具有多个测试样例,每个测试样例是测试样例集中的一个元素。测试样例包括:印刷数据文件以及与印刷数据文件关联的测试脚本。
步骤102,采用目标栅格图像处理器、基准栅格图像处理器对应生成测试样例集中的各测试样例的目标图像、基准图像。
具体地,本实施例中,在目标栅格图像处理器和基准栅格图像处理器中均包括对测试样例的处理模块,其分别为预飞模块、陷印模块、折手模块、RIP光栅化模块,经过这些处理模块后,生成测试样例集中的各测试样例的目标图像和基准图像。
步骤103,计算目标图像的目标分块特征向量及基准图像的基准分块特征向量。
具体地,本实施例中,可采用循环冗余校验(简称:CRC)、消息摘要算法第五版(简称:MD5)、散列/哈希算法(简称:SHA1)等方法计算目标图像的目标分块特征码和基准分块特征码。由目标分块特征码生成目标图像的目标分块特征向量,由基准分块特征码生成基准图像的基准分块特征向量。
步骤104,将目标分块特征向量和对应的基准分块特征向量进行对比。
具体地,本实施例中,可将目标分块特征向量中的目标分块特征码值分别与对应的基准分块特征向量中的基准分块特征码值进行对比,以实现目标分块特征向量和对应的基准分块特征向量的对比。
步骤105,若目标分块特征向量和对应的基准分块特征向量不同,则根据测试策略参数将目标图像和基准图像进行对比。
具体地,本实施例中,若目标分块特征向量和对应的基准分块特征向量不同,即若目标分块特征向量中有目标分块特征码值和对应的基准分块特征向量中的基准分块特征码值不同,则根据测试策略参数将目标图像和基准图像进行对比。
本实施例中,根据测试策略参数的不同,目标图像和基准图像进行对比的方法也会随之不同。如测试策略参数为像素值容差,则根据测试策略参数将目标图像和基准图像进行对比,即是根据像素值容差,将目标图像和基准图像的像素值进行对比。本实施例中,对目标图像和基准图像对比的方法不做限定。
步骤106,若目标图像和基准图像不满足测试策略参数,则计算目标图像与基准图像的差异图像。
具体地,本实施例中,若目标图像和基准图像不满足测试策略参数,则说明目标图像和基准图像的差异明显,则计算目标图像与基准图像的差异图像,该差异图像可通过目标图像和基准图像的像素值进行计算。
步骤107,若测试样例集中差异图像的个数大于或等于预设阈值,则确定目标栅格图像处理器未通过测试。
其中,预设阈值可通过多次试验确定,本实施例中对此不做限定。
具体地,本实施例中,若测试样例集中差异图像的个数大于或等于预设阈值,则说明该目标栅格图像处理器的精确度不能满足要求,则确定该目标栅格图像处理器未通过测试。
本实施例提供的栅格图像处理器的测试方法,通过获取测试策略参数和测试样例集;采用目标栅格图像处理器、基准栅格图像处理器对应生成测试样例集中的各测试样例的目标图像、基准图像;计算目标图像的目标分块特征向量及基准图像的基准分块特征向量;将目标分块特征向量和对应的基准分块特征向量进行对比;若目标分块特征向量和对应的基准分块特征向量不同,则根据测试策略参数将目标图像和基准图像进行对比;若目标图像和基准图像不满足测试策略参数,则计算目标图像与基准图像的差异图像;若测试样例集中差异图像的个数大于或等于预设阈值,则确定目标栅格图像处理器未通过测试。实现了对栅格图像处理器的自动化测试,不需要人工进行测试,所以缩短了整个测试过程的时间,提高了测试效率,并且由机器进行测试,少了人眼观察的主观性,提高了测试准确性。
图2为本发明栅格图像处理器的测试方法实施例二的流程图,如图2所示,本实施例提供的栅格图像处理器的测试方法,是在本发明栅格图像处理器的测试方法实施例一的基础上,对步骤103-步骤106的进一步细化,并且还包括了根据差异图像,获取目标栅格图像处理器的未通过测试原因的步骤,则本实施例提供的栅格图像处理器的测试方法包括以下步骤。
步骤201,获取测试策略参数和测试样例集。
进一步地,本实施例中,测试策略参数为像素容差,如像素容差为30%,或其他数值,本实施例中对此不做限定。
步骤202,采用目标栅格图像处理器、基准栅格图像处理器对应生成测试样例集中的各测试样例的目标图像、基准图像。
其中,目标图像可存储到目标图像集中,基准图像可存储到基准图像集中。目标图像集表示为TiS,目标图像表示为TIk,基准图像可存储到基准图像集中,基准图像集表示为BiS,基准图像表示为BIk。
本实施例中,步骤201-步骤202的实现方式与本发明步骤101-步骤102的实现方式相同,在此不再一一赘述。
步骤203,计算目标图像的目标分块特征向量及基准图像的基准分块特征向量。
进一步地,本实施例中,计算目标图像的目标分块特征向量及基准图像的基准分块特征向量具体包括以下步骤。
首先,获取目标图像、基准图像的宽度和高度,分别计算目标图像、基准图像的分块数,目标图像的每个分块为目标分块图像,基准图像的每个分块为基准分块图像。
其中,目标图像、基准图像的分块数可为横向m块,纵向n块。所以,目标分块图像和基准分块图像的个数分别为:m×n。
其次,依次计算每个目标分块图像、每个基准分块图像的特征码,形成目标分块特征码、基准分块特征码。
进一步地,本实施例中,可根据目标分块图像的顺序,计算第i行,第j列分块的目标分块特征码。同理,可根据基准分块图像的顺序,计算第i行,第j列分块的基准分块特征码。
其中,可采用循环冗余校验(简称:CRC)、消息摘要算法第五版(简称:MD5)、散列/哈希算法(简称:SHA1)等方法计算目标图像的目标分块特征码和基准分块特征码。
最后,根据每个目标分块特征码生成目标分块特征向量,并根据每个基准分块特征码生成基准分块特征向量。
进一步地,目标分块特征向量可表示为:TiHLk(SampleID,m,n,[tihl11,tihl12…,tihli,j,tihlm,n])。其中,SampleID表示测试样例的标识信息,其可以为测试样例的编号、名称等。tihli,j表示第i行,第j列分块的目标分块特征码。m为目标图像的横向分块数,n为目标图像的纵向分块数。基准分块特征向量可表示为:BiHL(SampleID,m,n,[bihl11,bihl12…,bihli,j,bihlm,n])。SampleID表示测试样例的标识信息,其可以为测试样例的编号、名称等。bihli,j表示第i行,第j列分块的基准分块特征码,m为基准图像的横向分块数,n为基准图像的纵向分块数。
步骤204,将目标分块特征向量和对应的基准分块特征向量进行对比。
具体地,本实施例中,将目标分块特征向量和对应的基准分块特征向量进行对比即为将目标分块特征向量中的目标分块特征码与对应的基准分块特征向量中的特征码进行对比。
步骤205,判断目标分块特征向量和对应的基准分块特征向量是否相同,若不同,则执行步骤206,否则,执行步骤212。
具体地,本实施例中,若目标分块特征向量和对应的基准分块特征向量相同,则说明栅格图像处理器通过了测试,否则判断目标图像和基准图像是否满足测试策略参数,以对栅格图像处理器是否能够通过测试进行判断。
步骤206,根据测试策略参数将目标图像和基准图像进行对比。
进一步地,本实施例中,若目标分块特征向量和对应的基准分块特征向量不同,则根据测试策略参数将目标图像和基准图像进行对比,具体包括:
首先,根据存在差异的各目标分块特征码及对应的基准分块特征码的分块位置获取相应的各目标分块图像及对应的基准分块图像。
具体地,本实施例中,将目标分块特征向量中的目标分块特征码和对应的基准分块特征向量中的基准分块特征码一一进行对比,若不同,则记录该目标分块特征码或基准分块特征码的分块位置,通过该分块位置,获取对应的目标分块图像及对应的基准分块图像。
其中,若存在差异的目标分块特征码和基准分块特征码的个数为多个,则获取的目标分块图像及对应的基准分块图像也为多个。
其次,将各目标分块图像的像素值与对应的基准分块图像的像素值进行对比。
进一步地,本实施例中,图3为本发明实施例二中图像中的像素邻域示意图。如图3所示,像素点P的像素值通过求取像素点P及其邻域的均值,作为该像素点P的像素值,并将每个目标分块图像及对应的基准分块图像的像素值进行对比。
步骤207,判断目标图像和基准图像是否满足测试策略参数,若否,则执行步骤208,否则,执行步骤212。
本实施例中,判断目标图像和基准图像是否满足测试策略参数,即是判断存在差异的各目标分块特征码及对应的基准分块特征码的分块位置的各目标分块图像的像素值与对应的基准分块图像的像素值之差是否满足像素值容差。若存在差异的各目标分块特征码及对应的基准分块特征码的分块位置的各目标分块图像的像素值与对应的基准分块图像的像素值之差小于像素容差,则说明目标图像和基准图像满足测试策略参数,否则,说明目标图像和基准图像不满足测试策略参数。图4为本发明实施例二中不满足测试策略参数的目标分块特征码及对应的基准分块特征码的分块位置示意图,如图4所示,以矩形方框标识的位置为不满足测试策略参数的目标分块特征码及对应的基准分块特征码的分块位置。
步骤208,计算目标图像与基准图像的差异图像。
进一步地,本实施例中,计算目标图像与基准图像的差异图像,具体包括:
首先,计算不满足像素值容差的各目标分块图像及对应的基准分块图像的像素值的差值。
其次,根据不满足像素值容差的各目标分块图像及对应的基准分块图像的像素值的差值,计算目标图像与基准图像的差异图像。
进一步地,获取满足像素值容差的各目标分块图像及对应的基准分块图像的分块位置,该分块位置的差异分块图像的像素值可以以零进行填充,其余分块位置的差异分块图像以对应的不满足像素值容差的目标分块图像的像素值与对应的基准分块图像的像素值的差值填充,形成差异图像。
步骤209,判断测试样例集中差异图像的个数大于或等于预设阈值,若是,则执行步骤210,否则,执行步骤212。
步骤210,确定目标栅格图像处理器未通过测试。
具体地,本实施例中,若测试样例集中差异图像的个数大于或等于预设阈值,则说明栅格图像处理器得到的目标图像与基准图像存在差异并不是偶然的,而是栅格图像处理器的精确度未达到标准,则确定目标栅格图像处理器未通过测试。
步骤211,根据差异图像,获取目标栅格图像处理器的未通过测试原因。
进一步地,本实施例中,对差异图像的特征与未通过测试原因进行了关联存储。所以根据差异图像,可提取差异图像的特征,根据差异图像的特征获取与其关联的未通过测试原因,进而对栅格图像处理器进行改进,使其通过测试。
步骤212,确定目标栅格图像处理器通过测试。
本实施例中,若目标分块特征向量和对应的基准分块特征向量相同,则确定目标栅格图像处理器通过测试。或者若目标分块特征向量和对应的基准分块特征向量不同但目标图像和基准图像满足测试策略参数,则也确定目标栅格图像处理器通过测试。
本实施例提供的栅格图像处理器的测试方法,通过获取测试策略参数和测试样例集,采用目标栅格图像处理器、基准栅格图像处理器对应生成测试样例集中的各测试样例的目标图像和基准图像,计算目标图像的目标分块特征向量及基准图像的基准分块特征向量,将目标分块特征向量和对应的基准分块特征向量进行对比,判断目标分块特征向量和对应的基准分块特征向量是否相同,若不同,则根据测试策略参数将目标图像和基准图像进行对比,判断目标图像和基准图像是否满足测试策略参数,若否,则计算目标图像与基准图像的差异图像,判断测试样例集中差异图像的个数大于或等于预设阈值,若是,则确定目标栅格图像处理器未通过测试,根据差异图像,获取目标栅格图像处理器的未通过测试原因。不仅实现了对栅格图像处理器的自动化测试,提高了测试效率和准确性,而且能够根据差异图像,获取目标栅格图像处理器的未通过测试原因,能够为栅格图像处理器的改进提供方向。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图5为本发明栅格图像处理器的测试装置实施例一的结构示意图,如图5所示,本实施例提供的栅格图像处理器的测试装置包括:参数样例获取模块51,图像生成模块52,特征向量计算模块53,特征向量对比模块54,图像对比模块55,差异图像计算模块56和测试未通过确定模块57。
其中,参数样例获取模块51,用于获取测试策略参数和测试样例集。图像生成模块52,用于采用目标栅格图像处理器、基准栅格图像处理器对应生成测试样例集中的各测试样例的目标图像、基准图像。特征向量计算模块53,用于计算目标图像的目标分块特征向量及基准图像的基准分块特征向量。特征向量对比模块54,用于将目标分块特征向量和对应的基准分块特征向量进行对比。图像对比模块55,用于若目标分块特征向量和对应的基准分块特征向量不同,则根据测试策略参数将目标图像和基准图像进行对比。差异图像计算模块56,用于若目标图像和基准图像不满足测试策略参数,则计算目标图像与基准图像的差异图像。测试未通过确定模块57,用于若测试样例集中差异图像的个数大于或等于预设阈值,则确定目标栅格图像处理器未通过测试。
本实施例提供的栅格图像处理器的测试装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明栅格图像处理器的测试装置实施例二的结构示意图,如图6所示,本实施例提供的栅格图像处理器的测试装置在本发明栅格图像处理器的测试装置实施例一的基础上,进一步地,还包括:测试未通过原因获取模块61。
进一步地,测试未通过原因获取模块61,用于根据差异图像,获取目标栅格图像处理器的未通过测试原因。
进一步地,特征向量计算模块53,具体用于:获取目标图像、基准图像的宽度和高度,分别计算目标图像、基准图像的分块数,目标图像的每个分块为目标分块图像,基准图像的每个分块为基准分块图像;依次计算每个目标分块图像、每个基准分块图像的特征码,形成目标分块特征码、基准分块特征码;根据每个目标分块特征码生成目标分块特征向量,并根据每个基准分块特征码生成基准分块特征向量。
进一步地,测试策略参数包括:像素值容差。图像对比模块55,具体用于:根据存在差异的各目标分块特征码及对应的基准分块特征码的分块位置获取相应的各目标分块图像及对应的基准分块图像;将各目标分块图像的像素值与对应的基准分块图像的像素值进行对比。
进一步地,差异图像计算模块56,具体用于:若目标分块图像及对应的基准分块图像的像素值之差不满足像素值容差,则计算不满足像素值容差的各目标分块图像及对应的基准分块图像的像素值的差值;根据不满足像素值容差的各目标分块图像及对应的基准分块图像的像素值的差值,计算目标图像与基准图像的差异图像。
本实施例提供的栅格图像处理器的测试装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。