图像处理方法、图像验证方法、装置、设备及介质与流程

文档序号:17931840发布日期:2019-06-15 00:57阅读:247来源:国知局
图像处理方法、图像验证方法、装置、设备及介质与流程

本发明涉及图像识别领域,尤其涉及一种图像处理方法、图像验证方法、装置、计算机设备及存储介质。



背景技术:

随着互联网和计算机图像处理技术的不断发展,图像处理技术的应用领域越来越广,包括航天航空技术领域、生物医学工程领域、金融领域等。例如在当前的金融领域中,大量的操作过程都依赖于视频或图像资源作为数据认证的基础资源,其中数据认证必然会涉及到获取图像操作处理所对应的状态信息的过程。目前获取图像操作处理的状态信息大部分通过口述简单传达,或者再另外生成一个对图像处理的状态信息文档。然而对于操作处理过程比较复杂的图像处理,往往会出现未及时获取对应的操作状态信息,或者获取的操作状态信息出现偏差或遗漏的现象。另外,基于无法对用户在图像上的操作处理进行实时监控或记录,对于一些经过不同操作处理后,相似度很高的图像,往往很难区分哪些是合法操作处理,哪些是非法操作处理。许多不发分子常常利用图像处理的这种缺陷,对图像进行翻拍、编造,或者复用旧图像实施欺诈,造成大量金融欺诈案件。因此,无法准确及时获取图像的操作状态信息,以及无法区分用户对图像的操作处理是否合法,是目前图像处理技术中亟待解决的问题。



技术实现要素:

本发明实施例提供一种图像处理方法、装置、设备及存储介质,以解决无法及时准确获取图像的操作状态信息的问题。

本发明实施例提供一种图像验证方法、装置、设备及存储介质,以解决无法区分用户对图像的操作处理是否合法的问题。

一种图像处理方法,包括:

获取目标图像的编辑请求,所述编辑请求包括操作轨迹和状态信息;

通过链式编码记录所述操作轨迹的链码信息;

根据所述操作轨迹的链码信息和所述状态信息,生成标准处理日志;

将所述标准处理日志写入所述目标图像中。

一种图像验证方法,包括:

获取待验证图像,所述待验证图像包括图像标识;

若所述待验证图像中存在所述待验证处理日志,则获取所述待验证图像中的待验证处理日志;

根据所述图像标识获取对应的目标图像,所述目标图像包括标准处理日志,其中,所述标准处理日志是采用权利要求1-3中任一项所述的图像处理方法生成的;

判断所述待验证图像中的所述待验证处理日志和所述目标图像中的所述标准处理日志是否一致;

若所述待验证图像中的所述待验证处理日志和所述目标图像中的所述标准处理日志不一致,则所述待验证图像为不合法图像。

一种图像处理装置,包括:

请求获取模块,用于获取目标图像的编辑请求,所述编辑请求包括操作轨迹和状态信息;

记录模块,用于通过链式编码记录所述操作轨迹的链码信息;

生成模块,用于根据所述操作轨迹的链码信息和所述状态信息,生成标准处理日志;

写入模块,用于将所述标准处理日志写入所述目标图像中。

一种图像验证装置,包括:

待验证图像获取模块,用于获取待验证图像,所述待验证图像包括图像标识;

日志获取模块,用于在所述待验证图像中存在所述待验证处理日志时,则获取所述待验证图像中的待验证处理日志;

目标图像获取模块,用于根据所述图像标识获取对应的目标图像,所述目标图像包括标准处理日志,其中,所述标准处理日志是采用权利要求1-3中任一项所述的图像处理方法生成的;

日志判断模块,用于判断所述待验证图像中的所述待验证处理日志和所述目标图像中的所述标准处理日志是否一致;

图像判断模块,用于在所述待验证图像中的所述待验证处理日志和所述目标图像中的所述标准处理日志不一致时,则所述待验证图像为不合法图像。

一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述图像处理方法,或者所述处理器执行所述计算机程序时实现上述图像验证方法。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述图像处理方法,或者所述计算机程序被处理器执行时实现上述图像验证方法。

上述图像处理方法、装置、计算机设备及存储介质,通过获取目标图像的编辑请求,编辑请求包括操作轨迹和状态信息;然后通过链式编码记录操作轨迹的链码信息;根据操作轨迹的链码信息和状态信息,生成标准处理日志;最后将标准处理日志写入目标图像中;不但解决了无法及时准确获取图像的操作状态信息的问题,还实现了对用户在图像上的操作处理过程进行实时监控或记录。

上述图像验证方法、装置、计算机设备及存储介质,通过获取待验证图像,待验证图像包括图像标识;若待验证图像中存在待验证处理日志,则获取待验证图像中的待验证处理日志;然后根据图像标识获取对应的目标图像,目标图像包括标准处理日志,最后判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致;若待验证图像中的待验证处理日志和述目标图像中的标准处理日志不一致,则待验证图像为不合法图像,解决了无法区分用户对图像的操作处理是否合法的问题。

附图说明

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

图1是本发明一实施例中图像处理方法或图像验证方法的一应用环境示意图;

图2是本发明一实施例中图像处理方法的一示例图;

图3是本发明一实施例中图像处理方法的另一示例图;

图4是本发明一实施例中图像处理方法的另一示例图;

图5是本发明一实施例中图像处理装置的一原理框图;

图6是本发明一实施例中图像验证方法的一示例图;

图7是本发明一实施例中图像验证方法的另一示例图;

图8是本发明一实施例中图像验证方法的另一示例图;

图9是本发明一实施例中图像验证装置的一原理框图;

图10是本发明一实施例中计算机设备的一示意图。

具体实施方式

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

本发明实施例提供一种图像处理方法,该图像处理方法可应用在如图1所示的应用环境中。具体地,该图像处理方法应用在图像处理系统中,该图像处理系统包括如图1所示的客户端和服务端,客户端与服务端通过网络进行通信。服务端通过客户端获取目标图像的编辑请求,编辑请求包括操作轨迹和状态信息;然后通过链式编码记录操作轨迹的链码信息,根据操作轨迹的链码信息和状态信息,生成标准处理日志;最后将标准处理日志写入目标图像中;用于解决无法及时准确获取图像的操作状态信息的问题。客户端不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图2所示,提供一种图像处理方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:

s10:获取目标图像的编辑请求,编辑请求包括操作轨迹和状态信息。

其中,目标图像指待进行合法操作处理的原始图像。编辑请求指当用户对目标图像进行操作处理时所生成的图像编辑请求。编辑请求包括操作轨迹和状态信息。具体地,对目标图像的操作处理包括对目标图像的编辑处理、图像调色或图像裁剪等操作。优选地,若用户对目标图像的操作处理为对目标图像的调色、裁剪或图像合成等,则编辑请求只包括状态信息。

其中,操作轨迹指用户对目标图像进行编辑处理后,在目标图像上所新生成的轨迹。具体地,在目标图像上所新生成的轨迹可以是闭合的或开放的。优选地,操作轨迹包括编辑轨迹和对应的编辑信息。其中,编辑轨迹指组成该操作轨迹的所有像素点,编辑信息指操作轨迹的轨迹颜色和轨迹上每一像素点对应的触发时间。

其中,状态信息指用户对目标图像进行操作处理时所对应的操作信息,状态信息具体包括:操作位置、操作时间、操作次数以及终端设备信息等。具体地,操作位置指用户在目标图像上执行操作处理所对应的触发位置;操作时间指用户在目标图像上执行操作处理所对应的时间戳;操作次数指用户在对目标图像执行不同操作处理的次数;终端设备信息指终端设备的imei信息。

在本步骤中,服务端在获取到目标图像的编辑请求所携带的操作轨迹和状态信息后,会将获取的操作轨迹和状态信息进行关联存储。通过将操作轨迹和状态信息进行关联存储,可实时跟踪到用户执行每一操作处理所对应的具体操作状态。

s20:通过链式编码记录操作轨迹的链码信息。

链式编码又称为弗里曼链码(freeman链码)或边界链码,指由某一原点开始并按某些基本方向确定的单位矢量链。基本方向可定义为:东=0,东南=1,南=2,西南=3,西=4,西北=5,北=6,东北=7等八个基本方向。具体地,链式编码是一种用曲线起点的坐标和边界点方向代码来描述曲线或边界的方法。链式编码也可以称为一种边界的编码表示法,用边界方向作为编码依据,由起点和一系列在基本方向上的单位矢量组成,即用每个后续点相对其前继点的方向编码表示。

具体地,通过链式编码记录操作轨迹的链码信息,指在对目标图像进行编辑处理后所生成的编辑轨迹和对应的编辑信息,通过链式编码的方式记录下来。可选地,链码信息包括像素原点、轨迹颜色和方向编码信息。其中,像素原点指操作轨迹上的起点所对应的像素点,轨迹颜色指操作轨迹的颜色,方向编码信息指以像素原点为中心,操作轨迹上其它后续点相对于前继点的方向编码的关系。其中,后续点指选取操作轨迹上的任意一点为参考点,根据操作轨迹的每个像素点对应的触发时间,触发时间在参考点之后的一点;前继点指选取操作轨迹上的任意一点为参考点,根据操作轨迹上每个像素点对应的触发时间,触发时间在参考点之前的一点。

在本步骤中,通过链式编码的方式记录操作轨迹的链码信息,不但简单方便,不需逐一记录每个点像素的坐标,且还具有较强的数据压缩能力和运算功能。例如可通过链式编码对多边形的面积和周长进行计算,或者通过链式编码探测边界急弯和凹进部分等。

s30:根据操作轨迹的链码信息和状态信息,生成标准处理日志。

其中,标准处理日志指对操作轨迹的链码信息和状态信息进行二进制转化后形成的文本信息。因此,标准处理日志也称二进制文件。具体地,二进制文件指由很多行字符构成的一种计算机文件,二进制文件的编码是变长的,灵活利用率要高,不同的二进制文件译码方式不同,且还具有更节约空间,储存文件更快捷,对于一些比较精确的数据,不会造成有效位的丢失的优点。

具体地,根据操作轨迹的链码信息和状态信息,生成标准处理日志包括:将操作轨迹的链码信息和状态信息进行合并,生成初始处理日志,然后将初始处理日志进行二进制转化,生成标准处理日志。其中,将初始处理日志进行二进制转化的过程也称为数据的压缩过程,可通过使用数据压缩算法实现,例如霍夫曼编码、哈希编码、lzw压缩算法、算术压缩方法或游程算法等,用户可根据实际情况自定义选取任意一种数据压缩算法。

此外,若用户对目标图像的操作处理为对目标图像的调色、裁剪或图像合成,即编辑请求只包括状态信息,不存在记录操作轨迹的链码信息的过程;则根据操作轨迹的链码信息和状态信息,生成标准处理日志可直接将获取的状态信息进行二进制转化,生成对应的标准处理日志。

s40:将标准处理日志写入目标图像中。

具体地,将标准处理日志写入目标图像中指将根据操作轨迹的链码信息和状态信息,所生成的二进制信息写入到目标图像的jpeg文件中。其中,jpeg是第一个国际图像压缩标准,不但具有良好的压缩性能,还具有良好的重建质量,被广泛应用于图像、视频处理等领域。另外地,由于jpeg文件的格式是分段存储,段的多少和长度并不固定,因此只要jpeg文件中包含了足够的信息,该jpeg文件就能够被打开。

具体地,将标准处理日志写入目标图像中可通过使用c++、matlab等编程语言实现。在写入的过程中,jpeg文件的每个段都一定包含两部分,其中一个是段的标识,它由两个字节构成:第一个字节是十六进制0xff,第二个字节对于不同的段所对应的值不同;另外还包括用于存放段的长度的两个字节,其中长度的表示方法是按照高位在前,低位在后的顺序。例如若一个段的长度是0x12ab,那么对应的存储顺序是按照0x12,0xab排列的。

在本实施例中,通过获取目标图像的编辑请求,编辑请求包括操作轨迹和状态信息,然后通过链式编码记录操作轨迹的链码信息,再根据操作轨迹的链码信息和状态信息,生成标准处理日志,最将生成的标准处理日志写入目标图像中;实现了对目标图像的操作处理的实时监控和记录。

在一个实施例中,如图3所示,通过链式编码记录操作轨迹的链码信息,具体步骤包括:

s201:将操作轨迹的起点确定为像素原点。

其中,像素原点指操作轨迹的起点所对应的像素点。在将操作轨迹的起点确定为像素原点之前,还需确定操作轨迹的起点。具体地,由于操作轨迹由许多像素点组成,每一像素点都有对应的触发时间,因此可通过获取操作轨迹上每一像素点对应的触发时间,确定该操作轨迹的起点。即将触发时间最早的像素点作为该操作轨迹的起点。

示例性地,若组成操作轨迹的像素点包括a1、a2、a3…an,对应的触发时间为01:00、01:01、01:02…01:10,则根据触发时间的先后顺序,将触发时间最早的像素点a1作为该操作轨迹的起点,并将起点a1对应的像素点作为像素原点。

s202:以像素原点为起点,记录操作轨迹上每一后续点相对前继点的方向编码,得到操作轨迹的方向编码信息。

其中,方向编码信息指以像素原点为中心,衡量操作轨迹上某个像素点与其周围像素点关系的信息。具体地,将通过步骤s201确定的像素原点作为起点,通过链式编码的方式,记录操作轨迹上每一后续点相对前继点的方向编码,得到操作轨迹的方向编码信息。在本实施例中,后续点和前继点包括该操作轨迹中除了起点外的其它所有像素点,每个后续点和其前继点都是相对应的,主要根据操作轨迹中像素点对应的触发时间来判断。可以理解地,后续点和其前继点的触发时间是相邻的,触发时间在先的那一点是触发在后的那一点的前继点。

在记录操作轨迹上每一后续点相对前继点的方向编码前,需预先确定与起点相邻的像素点分别在8个不同的位置上。具体地,按照起点像素点邻接方向个数的不同,链码可分为4连通链码和8连通链码。4连通链码的邻接点有4个,分别在中心点的上、下、左、右,分别对应的方向为北、南、西、东;8连通链码比4连通链码增加了4个斜方向,分别为东,东南,南,西南,西,西北,北,东北。由于任意一个像素点周围均有8个邻接点,而8连通链码确定与起点相邻的像素点分别在8个不同的位置上,正好与像素点的实际情况相符。因此,确定与起点相邻的像素点分别在8个不同的位置上按照8连通链码的8个邻接点,分别为东,东南,南,西南,西,西北,北,东北,能够更加准确地描述起点像素点与其邻接点的信息。

进一步地,在确定好与起点相邻的像素点分别在8个不同的位置上后,还需给8个不同位置分别赋予链码方向值。其中,链码方向值指每下一个像素点与上一像素点的位置关系;可用代码0,1,2,3,4,5,6,7表示。具体地,给8个不同位置分别赋予链码方向值指按照链式编码方式,给确定的8个方向赋予代表数值。例如,可以将8个不同的位置具体表示为东=0,东南=1,南=2,西南=3,西=4,西北=5,北=6,东北=7八个方向上的链码方向表示值。

优选地,若操作轨迹为闭合轨迹,则计算后续点对应其前继点的链码方向值可按照顺时针方向或逆时针方向计算。例如,以像素原点b作为起点,b点的像素点为(31),记录操作轨迹上每一后续点相对前继点的方向编码;若按照顺时针方向计算,则计算得出对应的链码方向值为71717171331024455456;若按照逆时针方向计算,则计算得出对应的链码方向值为21011006446077535353。可以理解地,对于同一个参考点,按不同方向计算得出的链码方向值不一样,得到对应的操作轨迹的方向编码信息也不同。

优选地,由于组成操作轨迹的每一像素点都有对应的触发时间,因此,可根据操作轨迹上每一像素点对应的触发时间确定链码方向值的方向,即按照每一像素点对应的触发时间的先后顺序确定该操作轨迹的链码方向值的方向。具体地,若组成该操作轨迹的每一像素点对应的触发时间按顺时针方向从先到后,则该操作轨迹的链码方向值按顺时针方向计算;若组成该操作轨迹的像素点对应的触发时间按逆时针方向从先到后,则该操作轨迹的链码方向值按逆时针方向计算。

s203:获取操作轨迹的轨迹颜色。

由于在上述步骤s10服务端获取目标图像的编辑请求后已预先将编辑请求所携带的操作轨迹和状态信息进行关联存储。其中,操作轨迹包括编辑轨迹和对应的编辑信息,编辑信息包括轨迹颜色和轨迹上每一像素点对应的触发时间。因此,获取操作轨迹的轨迹颜色可直接从服务端的数据库获取。

优选地,在获取到操作轨迹的轨迹颜色后,可以将轨迹颜色的rgb颜色表示方式转化成16进制颜色码表示方式。将rgb转16进制颜色码可通过rgb转16进制颜色在线计算工具自动实现转化,或者通过参照互转换对照表格手动互转方法实现转化。例如,若获取到操作轨迹的轨迹颜色是红色,则通过转化后对应的十六进制颜色码为"#ff0000"。

s204:将像素原点、轨迹颜色和方向编码信息,组成操作轨迹的链码信息。

将通过上述步骤s201-s203获取的像素原点、轨迹颜色和方向编码信息进行合并,组成该操作轨迹的链码信息。

示例性地,若操作轨迹为用户在人脸图像的眼睛上画的一个红色圆圈,对应的像素原点为(487,362),轨迹颜色为"#ff0000",方向编码信息为:"0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7",则组成该操作轨迹的链码信息包括:

{

"start":"487,362",

"color":"#ff0000",

"freeman":"0,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7"

};

其中,"start"表示操作轨迹的像素原点,"color"表示轨迹颜色,"freeman"表示方向编码信息。

在本实施例中,通过将操作轨迹的起点确定为像素原点,以像素原点为起点,记录操作轨迹上每一后续点相对前继点的方向编码,得到操作轨迹的方向编码信息,然后获取操作轨迹的轨迹颜色;最后将像素原点、轨迹颜色和方向编码信息,组成操作轨迹的链码信息;实现了用户对目标图像的操作处理过程以及对应的状态信息的实时监控和准确记录。

在一个实施例中,如图4所示,在根据操作轨迹的链码信息和状态信息,生成标准处理日志之后,该图像处理方法还包括:

s301:获取标准处理日志。

具体地,获取根据操作轨迹的链码信息和状态信息,所生成标准处理日志。其中,获取的标准处理日志可以为由操作轨迹的链码信息和状态信息合并转化后形成的链码标准处理日志,或只由操作处理对应的状态信息转化后形成的状态标准处理日志。

s302:使用加密密钥对标准处理日志进行加密处理,得到加密处理日志。

其中,加密密钥是一种参数,指将明文数据转换为密文数据的算法中输入的参数。加密处理日志指通过加密后的标准处理日志,加密处理日志依旧为二进制文件,加密并不会改变日志的格式。具体地,使用加密密钥对标准处理日志进行加密处理的加密算法可以是:base64加密算法、aes加密算法、des加密算法等任意一种对称加密算法,用户可根据实际情况自定义选取。其中,对称加密算法指加密和解密使用相同密钥的加密算法。本实施例中,使用对称加密算法对标准处理日志进行加密处理,是为了方便后续对加密处理日志进行解密。

s303:将加密密钥与目标图像的图像标识进行关联存储。

其中,图像标识指区别不同图像内容的一种标记,内容相同的图像对应的图像标识相同,图像标识与图像的操作处理过程无关。具体地,在使用加密密钥对标准处理日志进行加密处理后,服务端会自动将加密密钥与对应的目标图像的图像标识进行关联存储在服务端的数据库中,方便后续在对加密处理日志进行解密的过程中,可直接根据图像标识获取对应的密钥。

在本实施例中,通过获取标准处理日志,然后使用加密密钥对标准处理日志进行加密处理,得到加密处理日志,最后将加密密钥与目标图像的图像标识进行关联存储,在不影响实时记录用户对目标图像的操作处理过程以及对应的状态信息的同时,进一步提高了所生成的标准处理日志的安全性和准确性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种图像处理装置,该图像处理装置与上述实施例中图像处理方法一一对应。如图5所示,该图像处理装置包括:获取请求模块10、记录模块20、生成模块30和写入模块40。各功能模块详细说明如下:

请求获取模块10,用于获取目标图像的编辑请求,编辑请求包括操作轨迹和状态信息;

记录模块20,用于通过链式编码记录操作轨迹的链码信息;

生成模块30,用于根据操作轨迹的链码信息和状态信息,生成标准处理日志;

写入模块40,用于将标准处理日志写入目标图像中。

优选地,记录模块20包括:

确定子模块,用于将操作轨迹的起点确定为像素原点;

记录子模块,用于以像素原点为起点,记录操作轨迹上每一后续点相对前继点的方向编码,得到操作轨迹的方向编码信息;

获取子模块,用于获取操作轨迹的轨迹颜色;

组成子模块,用于将像素原点、轨迹颜色和方向编码信息,组成操作轨迹的链码信息。

优选地,该图像处理装置还包括:

标准处理日志获取模块,用于获取标准处理日志;

加密模块,用于使用加密密钥对标准处理日志进行加密处理,得到加密处理日志;

关联模块,用于将加密密钥与目标图像的图像标识进行关联存储。

关于图像处理装置的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本发明一实施例提供一种图像验证方法,该图像验证方法可应用到如图1所示的应用环境中。具体地,该图像验证方法应用在图像验证系统中,该图像验证系统包括如图1所示的客户端和服务端,客户端与服务端通过网络进行通信,服务端通过客户端获取待验证图像,待验证图像包括图像标识;若待验证图像中存在待验证处理日志,则读取待验证图像中的待验证处理日志;然后根据图像标识获取目标图像,目标图像包括标准处理日志,其中,标准处理日志是采用图像处理方法生成的;最后判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致;若待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致,则待验证图像为不合法图像;用于解决无法区分用户对图像的操作处理是否合法的问题。客户端可但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一实施例中,如图6所示,提供一种图像验证方法,以该方法应用在图1中的服务端为例进行说明,包括如下步骤:

s50:获取待验证图像,待验证图像包括图像标识。

其中,待验证图像指需鉴别该图像上的操作处理是否为合法操作处理的图像。待验证图像包括图像标识,同样地,图像标识指区别不同图像内容之间的一种标识,与图像的编辑处理过程无关。可以理解地,经过不同操作处理后所形成的内容完全相同的图像,对应的图像标识相同。

s60:若待验证图像中存在待验证处理日志,则获取待验证图像中的待验证处理日志。

其中,待验证处理日志指经压缩处理后写入取待验证图像jpeg图像文件中的日志。若待验证图像中存在待验证处理日志,则对待验证图像中的待验证处理日志进行获取。具体地,对待验证处理日志的获取过程也称为解析过程,由于待验证图像属于jpeg图像,写入的待验证处理日志属于二进制文件,因此可通过使用fopen函数的二进制模式“rb”对写入待验证图像中的待验证处理日志进行获取,或者直接利用计算机的c#gdi+或gdi和wpf中的图像处理类库实现自动获取。此方案对具体获取待验证图像中的待验证处理日志的方式不做任何限制,用户可根据实际情况自定义选取。

s70:根据图像标识获取对应的目标图像,目标图像包括标准处理日志,其中,标准处理日志是采用上述图像处理方法生成的。

在一具体实施例中,服务端的数据库预先存储有若干经合法操作处理的不同目标图像,不同的目标图像对应不同的图像标识。根据图像标识获取对应的目标图像指根据图像标识,从服务端的数据库中快速查找与图像标识相对应的目标图像。若无法根据图像标识从服务端的数据库中查找到对应的目标图像,则可直接判断该图像标识对应的待验证图像为不合法图像。若根据图像标识从服务端的数据库中查找到对应的目标图像,则获取目标图像,以及该目标图像中的标准处理日志。其中,标准处理日志是采用上述实施例中的任意一种图像处理方法生成的。在本步骤中,获取目标图像中的标准处理日志与步骤s60获取待验证图像中的待验证处理日志的方法相同,此处不做冗余赘述。

s80:判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致。

将步骤s60获取的待验证图像中的待验证处理日志,与步骤s70获取的目标图像中的标准处理日志进行对比,判断待验证处理日志与标准处理日志是否一致。具体地,判断待验证处理日志与标准处理日志是否一致可先通过使用正则匹配法对待验证处理日志与标准处理日志的内容进行一一对比,或直接使用计算机的文本对比工具实现自动对比,然后根据对比结果进行判断。若待验证处理日志与标准处理日志的内容一样,则表示待验证处理日志与标准处理日志一致,若待验证处理日志与标准处理日志的内容不一样,则表示待验证处理日志与标准处理日志不一致。

优选地,若待验证处理日志为经过步骤s301-303加密处理后的日志,则在判断待验证处理日志和标准处理日志是否一致之前,还需对待验证处理日志进行解密处理。具体地,根据步骤s302可知,对标准处理日志进行加密处理使用的是对称加密算法,即加密密钥与解密密钥相同;因此对待验证处理日志的解密过程包括:根据图像标识获取对应的解密密钥,采用解密密钥对待验证处理日志进行解密处理。若解密失败,则可直接判断写入待处理图像的待验证处理日志为不合法内容;若解密成功,则执行步骤判断解密后的待验证处理日志和标准处理日志是否一致。

s90:若待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致,则待验证图像为不合法图像。

若经上述步骤s80判断得出待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致,则表示待验证图像为不合法图像;若经上述步骤s80判断得出待验证图像中的待验证处理日志和目标图像中的标准处理日志一致,则表示待验证图像为合法图像。

在本实施例中,通过获取待验证图像,待验证图像包括图像标识;若待验证图像中存在待验证处理日志,则获取待验证图像中的待验证处理日志;然后根据图像标识获取对应的目标图像,目标图像包括标准处理日志;最后判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致;若待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致,则待验证图像为不合法图像;解决了无法区分用户对图像的操作处理是否合法的问题。

在一实施例中,如图7所示,判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致,具体包括:

s801:读取待验证处理日志,待验证处理日志包括待验证链码信息和待验证状态信息。

其中,待验证状态信息指待判断是否合法的状态信息,待验证链码信息指待判断是否合法的链码信息。具体地,由于写入图像jpeg中的待验证处理日志为经过压缩后的二进制文件,因此,读取待验证处理日志的过程也称为解压过程,即将获取的二进制待验证处理日志转换成由待验证链码信息和待验证状态信息组成的普通字符串,对待验证处理日志的解压过程可通过使用二进制代码转化器进行解压后再读取,或通过使用c++或java语言对待验证处理日志进行直接读取。

s802:将待验证状态信息与标准处理日志的状态信息进行比较,以及将待验证链码信息与标准处理日志的链码信息进行比较。

具体地,由于标准处理日志包括链码信息和状态信息,因此,判断待验证处理日志和标准处理日志是否一致前,需将待验证状态信息与标准处理日志的状态信息进行比较,以及将待验证链码信息与标准处理日志的链码信息进行比较。

s803:若待验证状态信息与标准处理日志的状态信息不一致,或待验证链码信息与标准处理日志的链码信息不一致,则待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致。

若经上述步骤s802比较得出待验证状态信息与标准处理日志的状态信息不一致,或待验证链码信息与标准处理日志的链码信息不一致,则表示待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致。若经上述步骤s802比较得出待验证状态信息与标准处理日志的状态信息一致,以及待验证链码信息与标准处理日志的链码信息一致,则表示待验证图像中的待验证处理日志和目标图像中的标准处理日志一致。

在本实施例中,通过读取待验证处理日志,待验证处理日志包括待验证链码信息和待验证状态信息;然后将待验证状态信息与标准处理日志的状态信息,以及将待验证链码信息与标准处理日志的链码信息进行比较;若待验证状态信息与标准处理日志的状态信息不一致,或待验证链码信息与标准处理日志的链码信息不一致,则待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致;进一步增强了判断用户对图像的操作处理是否合法的准确性。

在一实施例中,如图8所示,判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致,还包括:

s804:读取待验证处理日志。

具体地,步骤s804读取待验证处理日志与步骤s801读取待验证处理日志的方法相同,此处不做冗余赘述。同样的,读取的待验证处理日志包括待验证链码信息和待验证状态信息。

s805:若待验证处理日志的内容为空,则待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致。

具体地,判断待验证处理日志的内容是否为空,主要根据查看待验证图像的jpeg图像文件中的待处理日志的压缩数据是否为0kb,若jpeg图像文件中的待处理日志的压缩数据为0kb,则表示jpeg图像文件中没有存储待处理日志,即待验证处理日志的内容为空,若jpeg图像理文件中的待处日志的压缩数据不为0kb,则表示jpeg图像文件中存储有待验证处理日志,即判断得出待验证处理日志的内容不为空。

具体地,根据上述图像处理方法可知,任何经合法操作处理的目标图像的jpeg图像文件中一定写入了根据链码信息和状态信息生成的标准处理日志。因此,若读取的待证处理日志的内容为空,则表示该待验证图像的待验证处理日志和目标图像中的标准处理日志不一致。若读取的待验证处理日志的内容不为空白,则可执行对比待验证图像中的待处理日志与目标图像中的标准处理日志是否一致的步骤。

在本实施例中,通过读取待验证处理日志;若待验证处理日志的内容为空,则待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致;缓解了后续判断待验证处理日志和目标图像中的标准处理日志是否一致的数据处理压力,提高了数据处理效率。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

在一实施例中,提供一种图像验证装置,该图像验证装置与上述实施例中图像验证方法一一对应。如图9所示,该图像验证装置包括:待验证图像获取模块50、日志获取模块60、目标图像获取模块70、日志判断模块80和图像判断模块90。各功能模块详细说明如下:

待验证图像获取模块50,用于获取待验证图像,待验证图像包括图像标识;

日志获取模块60,用于在待验证图像中存在待验证处理日志时,则获取待验证图像中的待验证处理日志;

目标图像获取模块70,用于根据图像标识获取对应的目标图像,目标图像包括标准处理日志,其中,标准处理日志是采用上述图像处理方法生成的;

日志判断模块80,用于判断待验证图像中的待验证处理日志和目标图像中的标准处理日志是否一致;

图像判断模块90,用于在待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致时,则待验证图像为不合法图像。

优选地,日志判断模块80包括:

第一读取子模块,用于读取待验证处理日志,待验证处理日志包括待验证链码信息和待验证状态信息;

比较子模块,用于将待验证状态信息与标准处理日志的状态信息进行比较,以及将待验证链码信息与述标准处理日志的链码信息进行比较;

第一判断子模块,用于在待验证状态信息与标准处理日志的状态信息不一致时,或在待验证链码信息与标准处理日志的链码信息不一致时,判断待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致。

优选地,日志判断模块80还包括:

第二读取子模块,用于读取待验证处理日志;

第二判断子模块,用于在待验证处理日志的内容为空时,判断待验证图像中的待验证处理日志和目标图像中的标准处理日志不一致。

关于图像验证装置的具体限定可以参见上文中对于图像验证方法的限定,在此不再赘述。上述图像验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述图像处理方法和上述图像验证方法中使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像处理方法,或者该计算机程序被处理器执行时以实现一种图像验证方法。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中图像处理方法的步骤,或者处理器执行计算机程序时实现上述实施例中图像验证方法的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中图像处理方法的步骤,或者计算机程序被处理器执行时实现上述实施例中图像验证方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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