图片编译方法及相关设备与流程

文档序号:20680747发布日期:2020-05-08 18:22阅读:377来源:国知局
图片编译方法及相关设备与流程

本申请涉及图片编译技术领域,尤其涉及一种图片编译方法及相关设备。



背景技术:

编译是软件项目开发中重要的一步,在软件项目的开发过程中,需要不断地对各种类型的源代码进行编译。对于某些软件项目(如h5运营类项目等),包括的图片较多,每次版本的改进,大部分的图片不会进行删减或更改,然而在编译的时候,对于该未删减或更改的图片,还是会进行再次编译,从而造成编译的时长较大。因此,如何缩短包括较多图片的软件项目的编译时长是一个急需解决的问题。



技术实现要素:

本申请实施例提供一种图片编译方法及相关设备,用于缩短包括较多图片的软件项目的编译时长。

第一方面,本申请实施例提供一种图片编译方法,应用于电子设备,所述方法包括:

确定第一文件中的待编译图片;

基于预设加密算法计算所述待编译图片的第一特征值;

若所述第一特征值与m个第二特征值中的其中一个相匹配,则获取其中一个所述第二特征值关联的已编译图片的缓存编译数据,以及将所述缓存编译数据作为所述待编译图片的当前编译数据,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

第二方面,本申请实施例提供一种图片编译装置,应用于电子设备,所述装置包括:

确定单元,用于确定第一文件中的待编译图片;

计算单元,用于基于预设加密算法计算所述待编译图片的第一特征值;

获取单元,用于若所述第一特征值与m个第二特征值中的其中一个相匹配,则获取其中一个所述第二特征值关联的已编译图片的缓存编译数据;

所述确定单元,还用于将所述缓存编译数据作为所述待编译图片的当前编译数据,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

第三方面,本申请实施例提供一种电子设备,该电子设备包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质用于存储计算机程序,其中,上述计算机程序被处理器执行,以实现如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。

可以看出,在本申请实施例中,电子设备,先确定第一文件中的待编译图片,然后基于预设加密算法计算待编译图片的第一特征值,最后在第一特征值与m个已编译图片的m个第二特征值相匹配时,获取相匹配的第二特征值关联的已编译图片的缓存编译数据,以及将缓存编译数据作为待编译图片的当前编译数据,不需要重新编译,直接使用该缓存数据,从而减少了该待编译图片的编译过程,缩短了包括该待编译图片的软件项目的编译时长。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种电子设备的结构示意图;

图2是本申请实施例提供的一种图片编译方法的流程示意图;

图3是本申请实施例提供的一种图片编译方法的流程示意图;

图4是本申请实施例提供的一种图片编译方法的流程示意图;

图5是本申请实施例提供的一种电子设备的结构示意图;

图6是本申请实施例提供的一种图片编译装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

以下分别进行详细说明。

本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。

电子设备可以包括各种具有无线通信功能的服务器、手持设备、车载设备、可穿戴设备(例如智能手表、智能手环、计步器等)、计算设备或通信连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备。

如图1所示,图1是本申请实施例提供的一种电子设备的结构示意图。该电子设备包括处理器、存储器、信号处理器、收发器、显示屏、扬声器、麦克风、随机存取存储器(randomaccessmemory,ram)、摄像头和传感器等等。其中,存储器、信号处理器、显示屏、扬声器、麦克风、ram、摄像头、传感器与处理器连接,收发器与信号处理器连接。

其中,显示屏可以是液晶显示器(liquidcrystaldisplay,lcd)、有机或无机发光二极管(organiclight-emittingdiode,oled)、有源矩阵有机发光二极体面板(activematrix/organiclightemittingdiode,amoled)等。

其中,该摄像头可以是普通摄像头、也可以是红外摄像,在此不作限定。该摄像头可以是前置摄像头或后置摄像头,在此不作限定。

其中,传感器包括以下至少一种:光感传感器、陀螺仪、红外接近传感器、指纹传感器、压力传感器等等。其中,光感传感器,也称为环境光传感器,用于检测环境光亮度。光线传感器可以包括光敏元件和模数转换器。其中,光敏元件用于将采集的光信号转换为电信号,模数转换器用于将上述电信号转换为数字信号。可选的,光线传感器还可以包括信号放大器,信号放大器可以将光敏元件转换的电信号进行放大后输出至模数转换器。上述光敏元件可以包括光电二极管、光电三极管、光敏电阻、硅光电池中的至少一种。

其中,处理器是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器内的软体程序和/或模块,以及调用存储在存储器内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。

其中,处理器可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器中。

其中,存储器用于存储软体程序和/或模块,处理器通过运行存储在存储器的软件程序和/或模块,从而执行电子设备的各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的软体程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

下面对本申请实施例进行详细介绍。

请参阅图2,图2是本申请实施例提供的一种图片编译方法的流程示意图,应用于电子设备,所述方法包括:

步骤201:确定第一文件中的待编译图片。

在本申请的一实现方式中,所述确定第一文件中的待编译图片,包括:

获取第一文件的配置信息;

基于所述配置信息确定所述第一文件中的图片编译规则;

基于所述图片编译规则确定所述第一文件中的待编译图片。

其中,配置信息用于定义文件的编译规则,指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,以及文字部分如何编译,不同格式的图片如何编译,甚至于进行更复杂的功能操作。

其中,第一文件包括以下至少一种:后缀“.c”的文件、后缀为“.java”的文件、后缀“.f90”的文件、后缀为“.f95”的文件、后缀为“.fy”的文件。

举例说明,假定用于编写待编译程序的程序语言为c语言,则配置信息例如可以是写在makefile文件中,通过获取和解析makefile文件,得到图片编译规则,根据图片编译规则确定待编译的图片,如将其中包含的例如为后缀为“.png”的文件、后缀为“.jpg”的文件、后缀为“.pdf”的文件、后缀为“.psd”的文件等等确定为待编译图片。

步骤202:基于预设加密算法计算所述待编译图片的第一特征值。

其中,第一特征值用于唯一标识待编译图片,每个待编译图片的第一特征值互不相同。

其中,预设加密算法包括以下至少一种:消息摘要算法5(message-digestalgorithm5,md5)、数据加密标准(dataencryptionstandard,des)、三重数据加密标准算法(tripledataencryptionstandard,3des)、高级加密标准(advancedencryptionstandard,aes)、安全哈希算法(securehashalgorithm,sha)。

其中,md5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护(又译摘要算法、哈希算法),主流编程语言普遍已有md5实现。将数据运算为另一固定长度值,是杂凑算法的基础原理,md5的前身有md2、md3和md4。

其中,des美国国家标准局公布ibm公司研制的用于电子数据加密的对称密钥算法。dedes是原型块密码,它采用固定长度的明文比特字符串,并通过一系列复杂的操作将其转换成相同长度的另一个密文比特字符串。在des的情况下,块大小是64位。des还使用密钥来定制变换,使得解密可以仅由知道用于加密的特定密钥的人来执行。

其中,3des是一种对称密钥加密块密码,相当于是对每个数据块应用三次数据加密标准(des)算法。由于计算机运算能力的增强,原版des密码的密钥长度变得容易被暴力破解;3des即是设计用来提供一种相对简单的方法,即通过增加des的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。

其中,aes是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的des,基于排列和置换运算,排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。aes使用几种不同的方法来执行排列和置换运算。aes是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换和替换输入数据。

其中,sha是数据加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转化为密文,也可以简单理解为输出一串二进制数据,把它转化为长度较短、位数固定的输出序列(即散列值),也称为信息摘要或信息验证代码的过程。

步骤203:若所述第一特征值与m个第二特征值中的其中一个相匹配,则获取其中一个所述第二特征值关联的已编译图片的缓存编译数据,以及将所述缓存编译数据作为所述待编译图片的当前编译数据,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

其中,m个第二特征值是前一次编译之前,基于该预设加密算法和m个图片计算得到的,该m个图片在编译之后,得到了m个编译数据,然后将该m个第二特征值和m个编译数据存储在该电子设备中,并且建立了m个图片、m个第二特征值和m个编译数据之间的一一对应的映射关系,通过该一一对应的映射关系,三者之间可以作为相互的索引,进行相互查找。

进一步地,所述第一特征值与m个第二特征值中的其中一个相匹配,表示第一特征值与m个第二特征值中的其中一个相同。

可以看出,在本申请实施例中,电子设备,先确定第一文件中的待编译图片,然后基于预设加密算法计算待编译图片的第一特征值,最后在第一特征值与m个已编译图片的m个第二特征值相匹配时,获取相匹配的第二特征值关联的已编译图片的缓存编译数据,以及将缓存编译数据作为待编译图片的当前编译数据,不需要重新编译,直接使用该缓存数据,从而减少了该待编译图片的编译过程,缩短了包括该待编译图片的软件项目的编译时长。

在本申请的一实现方式中,所述待编译图片以第一数据的形式存储在所述第一文件中,所述第一数据包括n个二进制数,所述n为大于1的整数;所述基于预设加密算法计算所述待编译图片的第一特征值,包括:

确定第一余数是否为第一数值b,所述第一余数为所述n被第二数值a整除之后的余数;

若所述第一余数为所述第一数值b,则在所述第一数据中补入第二数据,得到第三数据,所述第二数据包括l个二进制数,所述第三数据包括(n+l)个二进制数,所述l个二进制数表示的数值等于所述n,所述l为大于1的整数;

将所述第三数据分为r个第一子数据,所述r=(n+l)/a;

基于p个第一常数和所述r个第一子数据计算所述第三数据,得到p个第二常数;

将所述p个第二常数按照第一预设规则排列,得到第一特征值,所述a、所述b、所述r和所述p均为大于或等于1的整数。

其中,第一预设规则可以是p个第二常数的任意一种排列组合方式的顺序,假设p为3,则第一预设规则可以是第一常数a—>第一常数b—>第一常数c、第一常数a—>第一常数c—>第一常数b、第一常数b—>第一常数a—>第一常数c、第一常数b—>第一常数c—>第一常数a、第一常数c—>第一常数b—>第一常数a、第一常数c—>第一常数a—>第一常数b六种顺序中的任意一种。

其中,a例如可以为8、16、32、64、128、256、512、1024等,在此不作限定。

其中,b例如可以为24、56、112、224、448、896等,在此不作限定。

其中,c例如可以为2、4、8、16、32、64等,在此不作限定。

其中,p例如可以为1、2、3、4、5等,在此不做限定。

进一步地,若所述预设加密算法为md5,则所述a为448,所述b为512,所述l为64,所述p为4。

其中,所述4个第一常数分别为:

a:00000001001000110100010101100111

b:10001001101010111100110111101111

c:11111110110111001011101010011000

d:01110110010101000011001000010000

举例说明,假定n为448,待编译图片包括56个字节,那么待编译图片的长度则为56*8=448,用64个二进制数表示第一图片的长度为0000000111000000000000000000000000000000000000000000000000000000,第三数据则为该448个字节与该64个字节之和。

在本申请的一实现方式中,所述方法还包括:

若所述第一余数不为所述第一数值b,则在所述第一数据中补入第四数据,得到第五数据,所述第四数据包括q个二进制数,所述第五数据包括(n+q)个二进制数,所述(n+q)之和被所述a整除以后的余数为所述b;

将所述第五数据作为所述第一数据,以及执行在所述第一数据中补入第二数据,得到第三数据的步骤。

其中,所述q个二进制数的第一个二进制数为1,其余二进制数为0.

举例说明,假定n为40位,不能被第一数值整除,则需要添加408位第四数据,第四数据的第一个二进制数为1,其余为0,也就是第一位为1,其余407位都为0。

在本申请的一实现方式中,所述基于预设加密算法计算所述待编译图片的第一特征值,包括:

基于预设分割算法对所述待编译图片进行图片分割,得到第一区域图片;

对所述第一区域图片进行特征点提取,得到第一特征点集;

确定所述第一特征点集中包括的每一个特征点对应的模值,得到多个第一模值;

从所述多个第一模值中选取大于预设阈值的多个第二模值;

将所述多个第二模值按照第二预设规则排列,得到第一特征值。

其中,电子设备中可存储有预设分割算法,该预设分割算法可用来进行图片分割,具体地,在获取待编译图片以后,若该待编译图片图片存在不相关的、不清楚或者模糊的情况,可采用预设分割算法对上述待编译图片进行图片分割,得到第一区域图片,如此可剔除掉不相关的、不清楚或者模糊的图片内容,可提高获取图片内容的效率;然后,可针对该第一区域图片进行特征点的提取,得到第一特征提取点集,根据第一特征点集中的每个特征点根据其方向、大小、像素值等信息确定每个特征点的模值,从而得到多个第一模值,最后,从上述多个第一模值中选取大于预设阈值的多个第二模值,将多个第二模值按照第二预设规则排列,得到第一特征值,上述预设阈值可由用户自行设置,或者,系统默认。

其中,预设分割算法可包括以下至少一种:基于阈值的分割算法、基于区域的分割算法、基于边缘的分割算法以及基于特定理论的分割算法等等,在此不作限定;特征点提取的算法可以为以下至少一种:harris角点、尺度不变特征提取变换(scaleinvariantfeaturetransform,sift)等等,在此不做限定。

具体地,基于预设分割算法对所述待编译图片进行图片分割,得到第一区域图片的一具体实现方式为:

分析所述待编译图片的特征点分布;

按照s个不同圆心对所述待编译图片进行圆形图片截取,得到s个圆形区域图片,所述s为大于3的整数;

从所述s个圆形区域图片中选出第一区域图片,所述第一区域图片所包含的特征点的数量大于所述s个圆形区域图片中的其他圆形区域图片。

具体地,所述对所述第一区域图片进行特征点提取,得到第一特征点集的一具体实现方式为:

确定所述第一区域图片的质心;

基于所述质心从所述第一区域图片中确定至少一个特征点,所述至少一个特征点的数量分布满足高斯分布;

将所述至少一个特征点的集合作为第一特征点集。

具体地,所述对所述第一区域图片进行特征点提取,得到第一特征点集的一具体实现方式为:

将所述第一区域图片划分得到x个圆环,所述x个圆环的环宽相同;

从所述x个圆环中半径最小的圆环开始,每个圆环中选取一个特征点,以得到x个特征点,将所述x个特征点作为第一特征点集,所述特征点的清晰度大于或等于预设清晰度。

在本申请的一实现方式中,所述确定所述第一特征点集中包括的每一个特征点对应的模值,包括:

确定所述第一特征集中包括的每一个特征点的坐标值和像素值;

将每一个特征点的所述坐标值和每个特征点的所述像素值,作为每一个特征点的特征向量;

确定每一个特征点的所述特征向量的模值。

在本申请的一实现方式中,所述方法还包括:

若所述第一特征值与所述m个第二特征值均不匹配,则编译所述待编译图片,得到所述待编译图片的编译数据;

将所述待编译图片的编译数据和所述第一特征值存储至所述电子设备中。

与所述图2所示的实施例一致的,请参阅图3,图3是本申请实施例提供的一种图片编译方法的流程示意图,应用于电子设备,所述方法包括:

步骤301:获取第一文件的配置信息。

步骤302:基于所述配置信息确定所述第一文件中的图片编译规则。

步骤303:基于所述图片编译规则确定所述第一文件中的待编译图片,所述待编译图片以第一数据的形式存储在所述第一文件中,所述第一数据包括n个二进制数,所述n为大于1的整数。

步骤304:确定第一余数是否为第一数值b,所述第一余数为所述n被第二数值a整除之后的余数。

若是,则执行步骤305;

若否,则执行步骤309。

步骤305:在所述第一数据中补入第二数据,得到第三数据,所述第二数据包括l个二进制数,所述第三数据包括(n+l)个二进制数,所述l个二进制数表示的数值等于所述n,所述l为大于1的整数。

步骤306:将所述第三数据分为r个第一子数据,所述r=(n+l)/a。

步骤307:基于p个第一常数和所述r个第一子数据计算所述第三数据,得到p个第二常数。

步骤308:将所述p个第二常数按照第一预设规则排列,得到第一特征值,所述a、所述b、所述r和所述p均为大于或等于1的整数。

步骤309:在所述第一数据中补入第四数据,得到第五数据,所述第四数据包括q个二进制数,所述第五数据包括(n+q)个二进制数,所述(n+q)之和被所述a整除以后的余数为所述b。

步骤310:将所述第五数据作为所述第一数据,以及执行步骤305。

步骤311:确定所述第一特征值与m个第二特征值是否均不匹配,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

若否,则执行步骤312;

若是,则执行步骤313。

步骤312:获取其中一个第二特征值关联的已编译图片的缓存编译数据,以及将所述缓存编译数据作为所述待编译图片的当前编译数据,所述其中一个第二特征值与所述第一特征值相匹配。

步骤313:编译所述待编译图片,得到所述待编译图片的编译数据。

步骤314:将所述待编译图片的编译数据和所述第一特征值存储至所述电子设备中。

需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。

与所述图2和图3所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种图片编译方法的流程示意图,应用于电子设备,所述方法包括:

步骤401:获取第一文件的配置信息。

步骤402:基于所述配置信息确定所述第一文件中的图片编译规则。

步骤403:基于所述图片编译规则确定所述第一文件中的待编译图片,所述待编译图片以第一数据的形式存储在所述第一文件中,所述第一数据包括n个二进制数,所述n为大于1的整数。

步骤404:基于预设分割算法对所述待编译图片进行图片分割,得到第一区域图片。

步骤405:对所述第一区域图片进行特征点提取,得到第一特征点集。

步骤406:确定所述第一特征集中包括的每一个特征点的坐标值和像素值。

步骤407:将每一个特征点的所述坐标值和每个特征点的所述像素值,作为每一个特征点的特征向量。

步骤408:确定每一个特征点的所述特征向量的模值,得到多个第一模值。

步骤409:从所述多个第一模值中选取大于预设阈值的多个第二模值。

步骤410:将所述多个第二模值按照第二预设规则排列,得到第一特征值。

步骤411:确定所述第一特征值与m个第二特征值是否均不匹配,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

若否,则执行步骤412;

若是,则执行步骤413。

步骤412:获取其中一个第二特征值关联的已编译图片的缓存编译数据,以及将所述缓存编译数据作为所述待编译图片的当前编译数据,所述其中一个第二特征值与所述第一特征值相匹配。

步骤413:编译所述待编译图片,得到所述待编译图片的编译数据。

步骤414:将所述待编译图片的编译数据和所述第一特征值存储至所述电子设备中。

需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。

与上述图2、图3和图4所示的实施例一致的,请参阅图5,图5是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:

确定第一文件中的待编译图片;

基于预设加密算法计算所述待编译图片的第一特征值;

若所述第一特征值与m个第二特征值中的其中一个相匹配,则获取其中一个所述第二特征值关联的已编译图片的缓存编译数据,以及将所述缓存编译数据作为所述待编译图片的当前编译数据,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

在本申请的一实现方式中,所述待编译图片以第一数据的形式存储在所述第一文件中,所述第一数据包括n个二进制数,所述n为大于1的整数;在基于预设加密算法计算所述待编译图片的第一特征值方面,上述程序包括具体用于执行以下步骤的指令:

确定第一余数是否为第一数值b,所述第一余数为所述n被第二数值a整除之后的余数;

若所述第一余数为所述第一数值b,则在所述第一数据中补入第二数据,得到第三数据,所述第二数据包括l个二进制数,所述第三数据包括(n+l)个二进制数,所述l个二进制数表示的数值等于所述n,所述l为大于1的整数;

将所述第三数据分为r个第一子数据,所述r=(n+l)/a;

基于p个第一常数和所述r个第一子数据计算所述第三数据,得到p个第二常数;

将所述p个第二常数按照第一预设规则排列,得到第一特征值,所述a、所述b、所述r和所述p均为大于或等于1的整数。

在本申请的一实现方式中,上述程序包括还用于执行以下步骤的指令:

若所述第一余数不为所述第一数值b,则在所述第一数据中补入第四数据,得到第五数据,所述第四数据包括q个二进制数,所述第五数据包括(n+q)个二进制数,所述(n+q)之和被所述a整除以后的余数为所述b;

将所述第五数据作为所述第一数据,以及执行在所述第一数据中补入第二数据,得到第三数据的步骤。

在本申请的一实现方式中,在基于预设加密算法计算所述待编译图片的第一特征值方面,上述程序包括具体用于执行以下步骤的指令:

基于预设分割算法对所述待编译图片进行图片分割,得到第一区域图片;

对所述第一区域图片进行特征点提取,得到第一特征点集;

确定所述第一特征点集中包括的每一个特征点对应的模值,得到多个第一模值;

从所述多个第一模值中选取大于预设阈值的多个第二模值;

将所述多个第二模值按照第二预设规则排列,得到第一特征值。

在本申请的一实现方式中,在确定所述第一特征点集中包括的每一个特征点对应的模值方面,上述程序包括具体用于执行以下步骤的指令:

确定所述第一特征集中包括的每一个特征点的坐标值和像素值;

将每一个特征点的所述坐标值和每个特征点的所述像素值,作为每一个特征点的特征向量;

确定每一个特征点的所述特征向量的模值。

在本申请的一实现方式中,在确定第一文件中的待编译图片方面,上述程序包括具体用于执行以下步骤的指令:

获取第一文件的配置信息;

基于所述配置信息确定所述第一文件中的图片编译规则;

基于所述图片编译规则确定所述第一文件中的待编译图片。

在本申请的一实现方式中,上述程序包括还用于执行以下步骤的指令:

若所述第一特征值与所述m个第二特征值均不匹配,则编译所述待编译图片,得到所述待编译图片的编译数据;

将所述待编译图片的编译数据和所述第一特征值存储至所述电子设备中。

需要说明的是,本实施例的具体实现过程可参见上述方法实施例所述的具体实现过程,在此不再叙述。

上述实施例主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据所述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

下面为本申请装置实施例,本申请装置实施例用于执行本申请方法实施例所实现的方法。请参阅图6,图6是本申请实施例提供的一种图片编译装置的结构示意图,应用于电子设备,所述装置包括:

确定单元601,用于确定第一文件中的待编译图片;

计算单元602,用于基于预设加密算法计算所述待编译图片的第一特征值;

获取单元603,用于若所述第一特征值与m个第二特征值中的其中一个相匹配,则获取其中一个所述第二特征值关联的已编译图片的缓存编译数据;

所述确定单元601,还用于将所述缓存编译数据作为所述待编译图片的当前编译数据,所述m个第二特征值为m个已编译图片的特征值,所述m个第二特征值与所述m个已编译图片一一对应,所述m为大于1的整数。

在本申请的一实现方式中,所述待编译图片以第一数据的形式存储在所述第一文件中,所述第一数据包括n个二进制数,所述n为大于1的整数;在基于预设加密算法计算所述待编译图片的第一特征值方面,所述确定单元601,具体用于:

确定第一余数是否为第一数值b,所述第一余数为所述n被第二数值a整除之后的余数;

若所述第一余数为所述第一数值b,则在所述第一数据中补入第二数据,得到第三数据,所述第二数据包括l个二进制数,所述第三数据包括(n+l)个二进制数,所述l个二进制数表示的数值等于所述n,所述l为大于1的整数;

将所述第三数据分为r个第一子数据,所述r=(n+l)/a;

基于p个第一常数和所述r个第一子数据计算所述第三数据,得到p个第二常数;

将所述p个第二常数按照第一预设规则排列,得到第一特征值,所述a、所述b、所述r和所述p均为大于或等于1的整数。

在本申请的一实现方式中,所述确定单元601,还用于:

若所述第一余数不为所述第一数值b,则在所述第一数据中补入第四数据,得到第五数据,所述第四数据包括q个二进制数,所述第五数据包括(n+q)个二进制数,所述(n+q)之和被所述a整除以后的余数为所述b;

将所述第五数据作为所述第一数据,以及执行在所述第一数据中补入第二数据,得到第三数据的步骤。

在本申请的一实现方式中,在基于预设加密算法计算所述待编译图片的第一特征值方面,所述确定单元601,具体用于:

基于预设分割算法对所述待编译图片进行图片分割,得到第一区域图片;

对所述第一区域图片进行特征点提取,得到第一特征点集;

确定所述第一特征点集中包括的每一个特征点对应的模值,得到多个第一模值;

从所述多个第一模值中选取大于预设阈值的多个第二模值;

将所述多个第二模值按照第二预设规则排列,得到第一特征值。

在本申请的一实现方式中,在确定所述第一特征点集中包括的每一个特征点对应的模值方面,所述确定单元601,具体用于:

确定所述第一特征集中包括的每一个特征点的坐标值和像素值;

将每一个特征点的所述坐标值和每个特征点的所述像素值,作为每一个特征点的特征向量;

确定每一个特征点的所述特征向量的模值。

在本申请的一实现方式中,在确定第一文件中的待编译图片方面,所述确定单元601,具体用于:

获取第一文件的配置信息;

基于所述配置信息确定所述第一文件中的图片编译规则;

基于所述图片编译规则确定所述第一文件中的待编译图片。

在本申请的一实现方式中,所述装置还包括编译单元604和存储单元605,其中:

所述编译单元604,用于若所述第一特征值与所述m个第二特征值均不匹配,则编译所述待编译图片,得到所述待编译图片的编译数据;

所述存储单元605,用于将所述待编译图片的编译数据和所述第一特征值存储至所述电子设备中。

需要说明的是,确定单元601、计算单元602、获取单元603、编译单元604和存储单元605可通过处理器实现。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。

本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1