具体实施方式
本申请实施例提供一种图像匹配算法的验证方法、装置及计算机存储介质。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下以几个具体的例子详细说明本申请实施例的具体实现。
以下首先介绍本申请一种图像匹配算法的验证方法的实施例。图1是本申请提供的图像匹配算法的验证方法的一种实施例的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的***或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,所述方法可以包括:
S110:获取按照预设圆弧轨迹拍摄采集的视频,所述视频中包括预设参考物的图像。
在本申请实施例中,可以获取按照预设圆弧轨迹拍摄采集的视频,所述视频中包括预设参考物的图像。具体的,所述预设圆弧轨迹可以为以匀速圆周运动从所述预设参考物的正面偏移第一预设角度处往所述预设参考物的正面一侧的方向移动第二预设角度所通过的圆弧轨迹。具体的,所述第一预设角度的角度值可以等于开始拍摄所述视频时相对于所述预设参考物的正面的偏移角度的角度值,所述第二预设角度的角度值可以等于所述预设圆弧轨迹对应的角度值。具体的,所述匀速圆周运动可以以所述预设参考物为圆心,预设拍摄距离为半径。所述匀速圆周运动的速度大小可以在保证拍摄采集的视频中的图像的清晰度的基础上结合实际应用进行设置,且所述匀速圆周运动的速度大小可以与拍摄包括所述预设参考物的视频时匀移动的速度大小相同。相应的,本申请实施例中可以以匀速圆周运动拍摄采集所述视频。具体的,本申请实施例所述预设参考物可以为三维立体的物品,也可以为二维平面的物体,例如一张照片,一般所述照片中可以包括某一物体、文字等的图像。另外,所述预设参考物的大小也可以结合实际应用进行设置,例如10cm*10cm。所述预设拍摄距离可以结合实际应用中进行图像匹配识别时常用拍摄距离,以及保证图像匹配识别效果等进行设置。例如,所述预设拍摄距离可以设置为所述预设参考物最长边的1.5倍,但本申请实施例并不以此为限。
在一个具体的实施例中,如图2所示,图2是本申请提供的拍摄包括预设参考物的视频的一种实施例的示意图。从图2中可见,这里假设相对于所述预设参考物的正面为顺时针方向的偏移角度为正,逆时针方向的偏移角度为负,在拍摄包括所述预设参考物的视频过程中沿预设圆弧轨迹从所述预设参考物的正面偏移-90°(第一预设角度)处开始往所述预设参考物的正面一侧的方向匀速移动180°(第二预设角度)。这里可以通过从所述预设参考物的正面偏移-90°处开始往所述预设参考物的正面一侧的方向匀速移动180°的视频拍摄过程中记录所述预设参考物从-90°到90°不同的拍摄角度的图像,相应的,这里90°的拍摄角度所对应的图像为所述预设参考物的正视图。
此外,需要说明的是,本申请实施例所述第一预设角度与第二预设角度并不仅限于上述的-90°和180°,在实际应用中,例如某应用中通过扫一扫进行图像匹配识别时,需要匹配识别一个文字“乐”,相应的,参考图片可以为正面拍摄的包括文字“乐”的图片,用户扫一扫过程中多数情况下拍摄角度在正面“乐”字的左右各45°范围内,相应的,拍摄包括所述预设参考物的视频所经过圆弧对应的角度可以为90°,所述第一预设角度可以设置为-45°,所述第二预设角度可以设置为90°。
此外,需要说明的是,本申请实施例所述第一预设角度与第二预设角度并不仅限于上述相对于预设参考物正面左右偏移角度相同的情况,在实际应用中,还可以包括相对于预设参考物正面左右偏移角度不相同的情况。例如,所述第一预设角度为-30°,所述第二预设角度为90°,相应的,相对于预设参考物正面左右偏移角度分别为30°和50°。
S120:从所述视频中获取预设数量的视频帧,将所述预设数量的视频帧保存为预设数量的与所述预设参考物的拍摄角度相对应的待匹配图片。
在实际应用中,一个静态图像为一帧,若干个静态图像组成一段视频。在本申请实施例中,可以从步骤S110拍摄的视频中获取预设数量的视频帧,将所述预设数量的视频帧保存为预设数量的与所述预设参考物的拍摄角度相对应的待匹配图片。具体的,这里保存的所述待匹配图片为不同拍摄角度对应的包括所述预设参考物的图片。所述待匹配图片与相应的拍摄角度一一对应。
在一个具体的实施例中,与所述待匹配图片相对应的所述预设参考物的拍摄角度可以通过获取相应视频帧时所对应的视频时长、视频的总时长、所述第一预设角度以及第二预设角度确定。具体的,当获取视频帧时的视频时长小于等于第一视频时长时(所述第一视频时长等于开始拍摄所述视频时相对于所述预设参考物的正面的偏移角度(第一预设角度)的角度值与所述预设圆弧轨迹所对应角度(第二预设角度)的角度值的比值的绝对值与所述视频的总时长的乘积),所述与所述待匹配图片相对应的所述预设参考物的拍摄角度等于第一预设角度的角度值与获取视频帧时的视频时长的乘积除以所述第一视频时长得到的商;当获取视频帧时的视频时长大于所述第一视频时长时,计算所述第一预设角度与所述第二预设角度的和,以及所述视频的总时长与第一视频时长的差,所述与所述待匹配图片相对应的所述预设参考物的拍摄角度等于所述和与获取视频帧时的视频时长的乘积除以所述差得到的商。
在一个具体的实施例中,假设视频的总时长为3600ms,假设第一预设角度为-90°,第二预设角度为180°(假设相对于所述预设参考物的正面为顺时针方向的偏移角度为正,逆时针方向的偏移角度为负),假设某一帧视频帧获取时的视频时长为600ms,相应的,所述第一视频时长为600m小于1800ms,相应的,所述与所述待匹配图片相对应的所述预设参考物的拍摄角度可以等于
具体的,所述从所述视频中获取预设数量的视频帧可以为等间隔获取的视频帧,也可以为不等间隔获取的视频帧。
在一个具体的实施例中,以不等间隔获取视频帧为例,可以在所述视频中预设数量个视频时长处获取预设数量的视频帧,且所述预设数量的视频帧之间的时间间隔并不相同。
在一个具体的实施例中,以等间隔获取的视频帧为例,可以从所述视频中每隔预设时长获取一帧视频帧,得到预设数量的视频帧;其中,所述预设时长可以为所述视频的总时长与所述预设圆弧轨所对应的角度的角度值的商乘以预设角度系数得到的乘积。所述待匹配图片的数量(所述预设数量)可以等于所述视频的总时长与所述预设时长的商。
具体的,本申请所述预设角度系数可以为根据实际应用中需求的待匹配图片对应的拍摄角度的角度精度设置。具体的,将所述视频的总时长除以所述预设圆弧轨所对应的角度的角度值得到的商可以表示拍摄采集视频过程中每移动一度对应的视频时长。在一个具体的实施例中,当所述预设角度系数为1时,所述预设时长可以为所述视频的总时长与所述预设圆弧轨所对应的角度的角度值的商。相应的,从所述视频中每隔预设时长获取的视频帧对应的待匹配图片可以为拍摄的角度精度精确到1度所拍摄的图片,也即每一度都对应一张待匹配图片。相应的,当所述预设角度系数为2时,从所述视频中每隔预设时长获取的视频帧对应的待匹配图片可以为拍摄的角度精度精确到2度所拍摄的图片,也即每两度对应一张待匹配图片。
这里通过等间隔获取视频帧的方式可以根据调节所述预设时长,就可以保证所述待匹配图片对应的拍摄角度的精度,可以更好的保证后续的图片匹配结果数据的有效性和精确度。
在一个具体的实施例中,可以利用多媒体视频处理工具ffmpeg把视频所述预设时长为时间间隔处理成图片,也可以使用其他工具代替,本申请实施例中从视频中获取一帧视频帧,将视频帧保存为图片的处理方式并不以上述为限。
S130:获取所述预设参考物的正视图的图片,将所述预设参考物的正视图的图片作为参考图片。
本申请实施例中,可以获取所述预设参考物的正视图的图片,将所述预设参考物的正视图的图片作为参考图片。其中,所述预设参考物的正视图所对应的面为所述预设参考物的正面。具体的,本申请所述预设参考物的正视图的图片的大小与所述待匹配图片的大小一致。
在一个具体的实施例中,图3是本申请提供的获取所述预设参考物的正视图的图片的一种实施例的流程示意图。如图3所示,可以包括:
S131:获取所述视频的总时长。
S132:计算所述第一预设角度除以所述第二预设角度得到的商的绝对值与所述视频的总时长的乘积。
S133:获取所述视频在所述乘积所对应时长处的视频帧,将所述乘积所对应时长处的视频帧保存为所述预设参考物的正视图的图片。
在一个具体的实施例中,假设获取的视频的总时长为3600ms,所述第一预设角度为-90°,所述第二预设角度为180°。相应的,通过计算可以确定视频的1800ms处的视频帧为包括所述预设参考物的正视图的视频帧。相应的,可以获取视频的1800ms处的视频帧,将所述1800ms处的视频帧保存为包括所述预设参考物的正视图的视频帧对应的图片。
在另一个具体的实施例中,所述获取所述预设参考物的正视图的图片可以包括:一
选取所述预设圆弧轨迹上与所述预设参考物的正视图所对应的面相正对的位置;
在所述位置拍摄采集所述预设参考物的正视图的图片。
具体的,本申请所述在所述位置拍摄采集所述预设参考物的正视图的图片的大小与所述待匹配图片的大小一致。
S140:利用待验证图像匹配算法分别对所述待匹配图片和所述参考图片进行匹配验证,得到与所述预设参考物的拍摄角度相对应的图像匹配结果数据。
本申请实施例中,可以利用待验证图像匹配算法分别对所述待匹配图片和所述参考图片进行匹配验证,得到与所述预设参考物的拍摄角度相对应的图像匹配结果数据。具体的,所述图像匹配结果数据可为某一拍摄角度的待匹配图片与参考图片匹配成功或某一拍摄角度的待匹配图片与参考图片匹配失败。
在一个具体的实施例中,假设以特征为匹配基础,所述待验证图像匹配算法对所述参考图片和所述待匹配图片进行匹配验证时,可以提取所述参考图片和所述待匹配图片中所述预设参考物的相关特征点进行对应关系、相似性和一致性的匹配分析,当特征点的对应关系、相似性和一致性达到预设匹配要求时,可以得到匹配成功的图像匹配结果数据;反之,可以得到匹配失败的图像匹配结果数据。具体的,所述预设匹配要求可以结合实际应用设置。
此外,需要说明的是,本申请实施例中所述待验证图像匹配算法对所述参考图片和所述待匹配图片进行匹配验证并不仅限于上述以特征为匹配基础的处理方式,实际应用中还可以包括其他方式,例如以灰度为匹配基础的方式等,本申请实施例并不以上述为限。
在一些实施例中,在步骤S140得到图像匹配结果数据之后,所述方法还可以包括:
基于所述图像匹配结果数据确定所述待验证图像匹配算法的匹配成功率数据。
具体的实施例中,所述匹配成功率数据至少可以包括下述中的一种数据:
与所述参考图片匹配成功的待匹配图片的数量占待匹配图片的总数的比例数据。
以预设角度间隔统计的所述预设角度间隔内与所述参考图片匹配成功的待匹配图片的数量占所述预设角度间隔内对应的待匹配图片的总数的比例数据。
在一个具体的实施例中,假设所述预设圆弧轨迹对应的角度为180°,开始拍摄视频时为0°,所述待匹配图片是按照一度对应一个图片,且所述预设角度间隔为10°;相应的,可以每10°统计相应的待匹配图片与所述参考图片匹配成功的数量占所述预设角度范围内对应的待匹配图片的总数的比例数据。如图4所示,图4是本申请提供的按待匹配图片对应的拍摄角度统计的待匹配图片与参考图片匹配成功的数据的一种实施例的示意图。图4的横坐标表示拍摄的角度对应的度数;纵坐标表示匹配成功率。从图4中可以数字化的度量不同拍摄角度对待验证图像匹配算法的匹配识别效果。另外,图4中以0°-10°为例,所述0°-10°包括0°但不包括10°,相应的,10°-20°包括10°但不包括20°,以此类推,此处不一一说明其他度数区间。
在实际应用中,考虑到一些应用场景中,待匹配的图片会存在多种尺寸大小,相应的,可以选取多种尺寸的预设参考物,利用本申请上述步骤S110至S140的分别获取相应的图像匹配结果数据,可以更好的保证后续得到的待验证图像匹配算法的匹配成功率数据的全面性。
由此可见,本申请一种图像匹配算法的验证方法的实施例通过获取按照预设圆弧轨迹拍摄采集的包括预设参考物的图像视频,以及从所述视频中获取预设数量的视频帧,将所述预设数量的视频帧保存为预设数量的与所述预设参考物的拍摄角度相对应的待匹配图片,可以获取所述预设参考物不同拍摄角度的图像;接着,将获取的所述预设参考物的正视图的图片作为参考图片;并利用待验证图像匹配算法分别对所述待匹配图片与所述参考图片进行匹配验证,得到不同拍摄角度对应的待匹配图片与参考图片的图像匹配结果数据。后续,可以通过对所述图像匹配结果数据进行统计分析处理,得到所述待验证图像匹配算法的匹配成功率数据。与现有技术相比,利用本申请提供的技术方案可以大大提高图像匹配结果数据的精确度,进而可以有效的验证图像匹配算法的识别成功率,为图像匹配算法的对比选型和算法阈值调试效果验证提供了有效的数据支持,以选取合适的图像匹配算法,保证实际应用中的图像匹配效果。
本申请另一方面还提供一种图像匹配算法的验证装置,图5是本申请提供的图像匹配算法的验证装置的一种实施例的结构示意图,如图5所示,所示装置500可以包括:
视频获取模块510,可以用于获取按照预设圆弧轨迹拍摄采集的视频,所述视频中包括预设参考物的图像。
视频帧获取模块520,可以用于从所述视频中获取预设数量的视频帧。
待匹配图片保存模块530,可以用于将所述预设数量的视频帧保存为预设数量的与所述预设参考物的拍摄角度相对应的待匹配图片。
参考图片确定模块540,可以用于获取所述预设参考物的正视图的图片,将所述预设参考物的正视图的图片作为参考图片。
匹配验证模块550,可以用于利用待验证图像匹配算法分别对所述待匹配图片和所述参考图片进行匹配验证,得到与所述预设参考物的拍摄角度相对应的图像匹配结果数据。
在另一个实施例中,所述预设圆弧轨迹为以匀速圆周运动从所述预设参考物的正面偏移第一预设角度处往所述预设参考物的正面一侧的方向移动第二预设角度所通过的圆弧轨迹;
其中,所述预设参考物的正面为所述预设参考物的正视图所对应的面。
在另一个实施例中,所述参考图片确定模块540可以包括:
视频时长获取单元,可以用于获取所述视频的总时长;
计算单元,可以用于计算所述第一预设角度除以所述第二预设角度得到的商的绝对值与所述视频的总时长的乘积;
第一图片确定单元,可以用于获取所述视频在所述乘积所对应时长处的视频帧,将所述乘积所对应时长处的视频帧保存为所述预设参考物的正视图的图片。
在另一个实施例中,所述参考图片确定模块540可以包括:
位置选取单元,可以用于选取所述预设圆弧轨迹上与所述预设参考物的正视图所对应的面相正对的位置;
图片拍摄采集模块,可以用于在所述位置拍摄采集所述预设参考物的正视图的图片。
在另一个实施例中,所述视频帧获取模块:
视频帧获取单元,用于从所述视频中每隔预设时长获取一帧视频帧,得到预设数量的视频帧;
其中,所述预设时长可以为所述视频的总时长与所述预设圆弧轨所对应的角度的角度值的商乘以预设角度系数得到的乘积。
在另一个实施例中,所述装置500还可以包括:
匹配成功率数据获取模块,可以用于基于所述图像匹配结果数据确定所述待验证图像匹配算法的匹配成功率数据。
在另一个实施例中,所述匹配成功率数据至少可以包括下述中的一种数据:
与所述参考图片匹配成功的待匹配图片的数量占待匹配图片的总数的比例数据。
以预设角度间隔统计的所述预设角度间隔内与所述参考图片匹配成功的待匹配图片的数量占所述预设角度间隔内对应的待匹配图片的总数的比例数据。
本申请另一方面还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取按照预设圆弧轨迹拍摄采集的视频,所述视频中包括预设参考物的图像;
从所述视频中获取预设数量的视频帧,将所述预设数量的视频帧保存为预设数量的与所述预设参考物的拍摄角度相对应的待匹配图片;
获取所述预设参考物的正视图的图片,将所述预设参考物的正视图的图片作为参考图片;
利用待验证图像匹配算法分别对所述待匹配图片和所述参考图片进行匹配验证,得到与所述预设参考物的拍摄角度相对应的图像匹配结果数据。
由此可见,本申请一种图像匹配算法的验证方法、装置或计算机存储介质的实施例通过获取按照预设圆弧轨迹拍摄采集的包括预设参考物的图像视频,以及从所述视频中获取预设数量的视频帧,将所述预设数量的视频帧保存为预设数量的与所述预设参考物的拍摄角度相对应的待匹配图片,可以获取所述预设参考物不同拍摄角度的图像;接着,将获取的所述预设参考物的正视图的图片作为参考图片;并利用待验证图像匹配算法分别对所述待匹配图片与所述参考图片进行匹配验证,得到不同拍摄角度对应的待匹配图片与参考图片的图像匹配结果数据。后续,可以通过对所述图像匹配结果数据进行统计分析处理,得到所述待验证图像匹配算法的匹配成功率数据。与现有技术相比,利用本申请提供的技术方案可以大大提高图像匹配结果数据的精确度,进而可以有效的验证图像匹配算法的识别成功率,为图像匹配算法的对比选型和算法阈值调试效果验证提供了有效的数据支持,以选取合适的图像匹配算法,保证实际应用中的图像匹配效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、装置或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。