图像处理方法、装置和可读存储介质与流程

文档序号:21319518发布日期:2020-06-30 20:50阅读:150来源:国知局
图像处理方法、装置和可读存储介质与流程

本公开涉及图像处理领域,特别涉及一种图像处理方法、装置和可读存储介质。



背景技术:

在一些有保密需求的公司或者政府部门,内部信息是要求严格保密且不能对外泄露的。用户如果需要查阅内部系统中的图像,需要通过电脑等终端先登录服务器,然后再向服务器发出访问请求,服务器将访问请求所对应的目标图像发送给终端。在实际使用中,会出现少数用户通过保存图像或者拍照的方式,获得内部系统中的图像并泄露,甚至上传到互联网的情况。然而,由于可以登录内部系统的人较多,通常难以最终确定图像的泄漏者。



技术实现要素:

本公开提供了一种图像处理的方法、装置和可读存储介质,可以实现通过被泄漏的图像来确定泄漏者。所述技术方案如下:

第一方面,本公开提供了一种图像处理方法,该方法包括:当用户请求获取第一图像时,获取所述第一图像和所述用户的用户信息;基于所述用户信息得到至少一组用户信息数据;将所述至少一组用户信息数据写入所述第一图像,得到第二图像,所述至少一组用户信息数据以肉眼不可见的方式携带在所述第二图像中。

在一种可能的实施方式中,所述基于所述用户信息得到至少一组用户信息数据,包括:基于所述用户信息生成用户标识图像;将所述用户标识图像分割成多个第一图像块;分别将各个所述第一图像块进行频域变换处理,得到每个所述第一图像块的频域数据,每个所述第一图像块的频域数据分别为一组所述用户信息数据。

在另一种可能的实施方式中,所述将所述至少一组用户信息数据写入所述第一图像,得到第二图像,包括:将所述第一图像分割成多个第二图像块;对所述多个第二图像块中的至少部分第二图像块进行频域变换,得到多个第二图像块的频域数据,每组所述用户信息数据对应一个所述第二图像块的频域数据;将所述至少一组用户信息数据写入所对应的一个第二图像块的频域数据中;基于写入所述用户信息数据后的第二图像块的频域数据,得到所述第二图像。

可选地,所述将所述至少一组用户信息数据写入所对应的一个第二图像块的频域数据中,包括:采用所述用户信息数据,替换对应的第二图像块的频域数据中位于中频位置的数据。

第二方面,本公开提供了另一种图像处理方法,该方法包括:获取第二图像,所述第二图像以肉眼不可见的方式携带有至少一组用户信息数据,所述至少一组用户信息数据用于指示用户信息,所述至少一组用户信息数据是在所述用户信息所对应的用户请求第一图像时写入所述第一图像的,所述第二图像是将所述至少一组用户信息数据写入所述第一图像后得到的;从所述第二图像中提取所述至少一组用户信息数据;基于所述至少一组用户信息数据,确定所述用户信息。

在一种可能的实施方式中,所述从所述第二图像中提取所述至少一组用户信息数据,包括:将所述第二图像分割成多个第二图像块;对至少部分所述第二图像块进行频域变换,得到多个第二图像块的频域数据;从至少部分所述第二图像块的频域数据中分别提取一组用户信息数据,得到多组所述用户信息数据。

可选地,所述从至少部分所述第二图像块的频域数据中分别提取一组用户信息数据,包括:将所述第二图像块的频域数据中位于中频位置的数据,提取为用户信息数据。

在另一种可能的实施方式中,所述基于所述至少一组用户信息数据,确定所述用户信息,包括:对所述多组用户信息数据进行时域变换,得到多个第一图像块;将所述多个第一图像块组合得到用户标识图像,所述用户标识图像用于展示所述用户信息。

第三方面,本公开提供了一种图像处理装置,该装置包括:获取模块,用于当用户请求获取第一图像时,获取所述第一图像和所述用户的用户信息;用户信息处理模块,用于基于所述用户信息得到至少一组用户信息数据;图像处理模块,用于将所述至少一组用户信息数据写入所述第一图像,得到第二图像,所述至少一组用户信息数据以肉眼不可见的方式携带在所述第二图像中。

在一种可能的实现方式中,所述用户信息处理模块包括:图像生成子模块,用于基于所述用户信息生成用户标识图像;图像分割子模块,用于将所述用户标识图像分割成多个第一图像块;数据处理子模块,用于分别将各个所述第一图像块进行频域变换处理,得到每个所述第一图像块的频域数据,每个所述第一图像块的频域数据分别为一组所述用户信息数据。

在另一种可能的实现方式中,所述图像处理模块包括:图像分割子模块,用于将所述第一图像分割成多个第二图像块;数据变换子模块,用于对所述多个第二图像块中的至少部分第二图像块进行频域变换,得到多个第二图像块的频域数据,每组所述用户信息数据对应一个所述第二图像块的频域数据;数据写入子模块,用于将所述至少一组用户信息数据写入所对应的一个第二图像块的频域数据中;数据逆变换子模块,用于基于写入所述用户信息数据后的第二图像块的频域数据,得到所述第二图像。

可选地,所述数据写入子模块用于,采用所述用户信息数据,替换对应的第二图像块的频域数据中位于中频位置的数据。

第四方面,本公开提供了另一种图像处理装置,所述装置包括:获取模块,用于获取第二图像,所述第二图像以肉眼不可见的方式携带有至少一组用户信息数据,所述至少一组用户信息数据用于指示用户信息,所述至少一组用户信息数据是在所述用户信息所对应的用户请求第一图像时写入所述第一图像的,所述第二图像是将所述至少一组用户信息数据写入所述第一图像后得到的;提取模块,用于从所述第二图像中提取所述至少一组用户信息数据;确定模块,用于基于所述至少一组用户信息数据,确定所述用户信息。

在一种可能的实现方式中,所述提取模块包括:图像分割子模块,用于将所述第二图像分割成多个第二图像块;数据变换子模块,用于对至少部分所述第二图像块进行频域变换,得到多个第二图像块的频域数据;数据提取子模块,用于从至少部分所述第二图像块的频域数据中分别提取一组用户信息数据,得到多组所述用户信息数据。

可选地,所述数据提取子模块用于将所述第二图像块的频域数据中位于中频位置的数据,提取为用户信息数据。

在另一种可能的实现方式中,所述确定模块,包括:数据处理子模块,用于对所述多组用户信息数据进行时域变换,得到多个第一图像块;合成子模块,用于将所述多个第一图像块组合得到用户标识图像,所述用户标识图像用于展示所述用户信息。

第五方面,本公开提供了一种图像处理装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现第一方面或第二方面所述的图像处理方法。

第六方面,本公开提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现第一方面或第二方面所述的图像处理方法。

本公开的实施例提供的技术方案至少包括以下有益效果:

本公开提供的技术方案,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1示出了本公开的一个实施例的使用场景的示意图;

图2示出了本公开一个实施例提供的图像处理方法的流程图;

图3示出了本公开一个实施例提供的图像处理方法的流程图;

图4示出了本公开一个实施例提供的图像处理方法的流程图;

图5示出了本公开一个实施例提供的图像处理方法的流程图;

图6示出了本公开一个实施例提供的图像处理装置的结构方框图;

图7示出了本公开一个实施例提供的用户信息处理模块的结构方框图;

图8示出了本公开一个实施例提供的图像处理模块的结构方框图;

图9示出了本公开一个实施例提供的图像处理装置的结构方框图;

图10示出了本公开一个实施例提供的提取模块的结构方框图;

图11示出了本公开一个实施例提供的确定模块的结构方框图;

图12示出了本公开一个实施例提供的图像处理装置的结构示意图。

具体实施方式

在对本公开进行详细的解释说明之前,先对本公开涉及的应用场景及相关技术予以介绍。

参见图1,其示出了本公开一个实施例提供的图像处理方法的应用场景示意图。终端120和服务器140通过网络连接,两者之间可以通过网络进行信息的交互。服务器140中存储有诸多信息,例如图像等。当用户需要访问该服务器140中的信息时,需要先通过终端120将具有登录权限的账号信息发送给服务器140,在通过服务器140的验证后,即可访问该服务器140中的信息。下面分别介绍终端120请求服务器140中的目标图像的三个示例性场景。

在一个场景中,终端120将用户请求发送给服务器140,该用户请求中携带了用户信息和目标图像的标识,例如,该目标图像的标识可以是url(uniformresourelocator,统一资源定位符),服务器140将用户信息写入目标图像后,并将携带用户信息的目标图像发送给终端120,从而使得终端120能够获得所请求的目标图像。如果发给终端120的携带用户信息的目标图像发生泄露,例如,被拍照或者截图并传播到其他不被允许的渠道中,则通过携带用户信息的目标图像获得用户信息,从而对泄露图像的途径进行调查并追责。在本实施场景中,图像处理方法的执行主体是服务器140。

本公开的另一个场景中,终端120将用户请求发送给服务器140,该用户请求中携带用户信息和目标图像的标识(例如url),服务器140将该目标图像发送给终端120,终端120将用户信息写入目标图像后输出携带用户信息的目标图像。如果该携带用户信息的目标图像发生泄露,例如,被拍照或者截图并传播到其他不被允许的渠道中,则通过携带用户信息的目标图像获得用户信息,从而对泄露图像的途径进行调查并追责。在本实施场景中,图像处理方法的执行主体是终端120。

此外,在本公开的又一场景中,终端120和服务器140之间设置一个独立的设备,由该设备对终端120和服务器140之间传输的数据进行转发。终端120将用户请求发送给该设备,该用户请求中携带了用户信息和目标图像的标识(例如url),该设备将终端120发送的用户请求发送给服务器140,并从该请求中获取用户信息并保存获取到的用户信息。服务器140收到该用户请求后,将该用户请求所请求的目标图像发送给该设备。该设备收到服务器140返回的目标图像时,将该目标图像对应的用户信息添加到该目标图像中后转发给终端120。如果该携带用户信息的目标图像发生泄露,例如,被拍照或者截图并传播到其他不被允许的渠道中,则通过携带用户信息的目标图像获得用户信息,从而对泄露图像的途径进行调查并追责。在本实施场景中,图像处理方法的执行主体是终端120和服务器140之间的设备。

此外,上述三个示例性场景中的终端120、服务器140或者终端120和服务器140之间的设备还可以通过泄露的携带用户信息的目标图像获得用户信息,该用户信息可以用于对泄露图像的途径进行调查并追责。

本公开实施例可以应用于例如公安部门的信息查询系统、民政部门的婚姻登记系统和银行内部的查询系统等场景,此外,本公开实施例还可以应用于其他图像需要保密的场景,例如购物网站上的商家对其商品图片进行加密等。

为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。

参见图2,其示出了本公开实施例提供的图像处理方法的流程图,图2所示的方法可以由服务器、终端或者服务器与终端之间的设备执行。该方法包括:

201、当用户请求获取第一图像时,获取第一图像和用户的用户信息。

其中,用户信息是指请求第一图像的用户的信息,该用户信息包括但不限于用户的账号、ip(internetprotocol,英特网协议)地址或者mac(mediaaccesscontrol,媒体访问控制)地址等,用户信息可以包括其中任意一种或者多种。第一图像是用户信息对应的用户所请求的图像。

在一种可能的实现方式中,当该方法由服务器执行时,用户请求获取第一图像时,会通过终端发送用户请求给第一图像的保存方,例如服务器;该用户请求中包括用户信息和第一图像的标识,例如,该第一图像的标识可以是url;第一图像的保存方可以从用户请求中获得请求第一图像的用户的用户信息,并根据该第一图像的标识获取第一图像,例如根据url在服务器中查得第一图像并获得该第一图像。也即是,当该方法由服务器执行时,服务器可以从终端发送的用户请求中获取用户信息,并且,根据用户请求中的第一图像的标识获取第一图像。

在另一种可能的实现方式中,当该方法由终端执行时,终端会根据用户指示确定第一图像的标识并基于用户信息和第一图像的标识生成用户请求,将用户请求发送给第一图像的保存方,并接收第一图像的保存方根据用户请求返回的第一图像。也即是,当该方法由终端执行时,终端可以获取本地保存的用户信息,并且,接收服务器返回的第一图像。此外,终端也可以从服务器获取用户信息,例如,服务器在返回第一图像时可以同时携带用户信息。或者,终端还可以获取用户直接输入的用户信息。

在又一种可能的实现方式中,当该方法由服务器与终端之间的设备执行时,该设备可以从终端发送的用户请求中获取用户信息,并且,获取服务器发送给终端的第一图像。

202、基于用户信息得到至少一组用户信息数据。

其中,用户信息数据是用于表示用户信息的数据。用户信息所对应的所有用户信息数据可以作为一组,也可以分为多组,每组用户信息数据包括一个或者多个用户信息数据。

可选地,用户信息数据可以为时域数据,也可以为频域数据。

在一种可能的实现方式中,该步骤202可以包括:基于用户信息生成用户标识图像;将用户标识图像分割成多个第一图像块;将每个第一图像块转换为一组用户信息数据。可选地,可以将第一图像块对应的像素数据(时域数据)作为用户信息数据,或者,将第一图像块的频域数据作为一组用户信息数据。示例性地,当用户标识图像是灰度图像或者二值图像时,像素数据可以为像素的灰度值。当用户标识图像为单色图像时,像素数据可以为像素的某一通道值(例如可以为红绿蓝(rgb,redgreenblue)通道的任意一种)。

在另一种可能的实现方式中,该步骤202可以包括:获取用户信息对应的二进制数据,将用户信息数据对应的二进制数据分为多组,每组二进制数据为一组用户信息数据(时域数据),或者,每组二进制数据经过频域变换后得到的频域数据为一组用户信息数据,各组二进制数据可以等长,即所包含的数据位数相等。

203、将用户信息所对应的用户信息数据写入第一图像,得到第二图像。

用户信息所对应的用户信息数据包括前述基于用户信息得到的所有用户信息数据,并且用户信息数据以肉眼不可见的方式携带在第二图像中。这里,用户信息数据以肉眼不可见的方式携带在第二图像中,是指第一图像展示的图像内容与第二图像展示的图像内容相同,用户无法直接从第二图像中观察到第二图像中携带了用户信息数据。通过该步骤202和步骤203即可实现将用户信息隐写入第一图像中,从而得到第二图像。

在本公开实施例中,既可以将用户信息数据写入第一图像的空间域数据(即时域数据)中,或者,也可以将用户信息数据写入第一图像的频域数据中。

当将用户信息数据写入第一图像的空间域数据中时,可以采用lsb(leastsignificantbit,最低有效位)方式写入,用户信息数据写入完成后即得到第二图像。在这种情况下,用户信息对应的用户信息数据可以为一组,写入第一图像的指定区域对应的空间域数据中,该指定区域可以是第一图像的整个区域或者部分区域;或者,用户信息对应的用户信息数据也可以分为多组,不同组写入第一图像的不同区域对应的空间域数据。通过lsb方式将用户信息数据写入第一图像的空间域数据中,可以保证人眼观察第一图像和第二图像时,看到的图像内容是完全相同的,且第一图像和第二图像的清晰度也基本相同。

当将用户信息数据写入第一图像的频域数据中时,需要先对第一图像进行频域变换处理,得到第一图像对应的频域数据,然后再将用户信息数据写入第一图像对应的频域数据,最后,将写入用户信息数据后的第一图像对应的频域数据进行时域变换,得到第二图像。这里的时域变换是前述频域变换的逆变换。

将用户信息数据写入第一图像的空间域数据中,用户可以通过第二图像的直方图等手段检测出其中携带有用户信息数据,发现第二图像中携带有隐藏信息较为容易,而将用户信息数据写入第一图像的频域数据中,用户更加难以发现第二图像中携带有用户信息数据,所以将用户信息写入第一图像的频域数据中,可以进一步减小用户发现第二图像中携带用户信息数据的可能,即进一步减小用户想要去除用户信息数据再泄漏图像的可能,提高通过被泄漏的第二图像追责的概率。

可选地,该方法还可以包括:输出第二图像。输出第二图像的方式可以为向其他设备(例如终端等)发送第二图像或者通过显示器件(例如显示屏)显示第二图像。

示例性地,当该方法由服务器或者服务器与终端之间的设备执行时,输出第二图像的方式可以为向终端发送第二图像。当该方法由终端执行时,输出第二图像的方式可以为显示第二图像。

本公开提供的技术方案,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

参见图3,其示出了本公开实施例提供的图像处理方法的流程图,图3所示的方法可以由服务器、终端或者服务器与终端之间的设备执行。该方法包括:

301、当用户请求获取第一图像时,获取第一图像和用户的用户信息。

该步骤的实现可参见步骤201,在此省略详细描述。

302、基于用户信息生成用户标识图像。

可选地,用户标识图像包含用户信息,可以直观展示用户信息,也即是用户信息可以是在用户标识图像上直接可视的。示例性地,该用户标识图像上展示的可以是用户的账号,例如张三。

可选地,用户标识图像可以是单色图像。或者,用户标识图像可以是二值图像,即每个像素需要一个0或者1来表示其灰度值;又或者,用户标识图像也可以是灰度图像,即每个像素需要用一个多位二进制数来表示其灰度值。

示例性地,将用户信息以字符的方式显示在图像上,以生成用户标识图像。例如,用户信息是用户的账号“张三”,则生成的用户标识图像是具有“张三”字样的二值图像。

303、将用户标识图像分割成n个第一图像块。

其中,n为大于1的正整数。

可选地,可以将用户标识图像分割成n个第一图像块,n=p2,p为正整数,该n个第一图像块以p行乘p列的方式组成第一图像,且每个第一图像块均为方形的图像块,例如,n个图像块中的每个图像块均为q*q图像块,且每个图像块的大小为ln=q2个像素,q为大于1的正整数,例如q可以等于8。p和q的值还可以进一步限制为2的整数倍,以使得对第一图像块的处理更适合计算机运算。

304、分别将每个第一图像块进行频域变换处理,得到每个第一图像块的频域数据。

其中,每个第一图像块的频域数据分别为一组用户信息数据。在本实施例中,将n个第一图像块进行频域变换处理,可以得到n个第一图像块的频域数据,每个第一图像块的频域数据为一组用户信息数据,从而得到n组用户信息数据。

在进行频域变换处理时,可以依次对各个第一图像块进行频域变换处理,也可以同时对所有第一图像块进行频域变换处理,本公开对此不作限制。

可选地,可以选择对第一图像块的一种像素数据进行频域变换处理,例如,选择第一图像块的像素的灰度值、第一图像块的像素的rgb数据中的某一通道值等。

可选地,该频域变换可以是离散余弦变换、离散傅立叶变换、离散小波变换等。

可选地,可以通过交织的方法进一步提高用户信息的安全性。交织的具体规则可以是预先设定的。

如前所述,在本实施例中,用户标识图像被分割为n个第一图像块,每个第一图像块包括ln个像素,每个第一图像块被转换为一组用户信息数据,相应地,每组用户信息数据中可以包括ln个用户信息数据,n和ln均为大于1的整数。则交织的方式可以包括以下三种方式中的至少一种:

第一种、将用户标识图像的n个第一图像块进行交织。该步骤可以在步骤303之后、步骤304之前执行。

例如,将一个第一图像块作为一个交织单元,将n个交织单元进行长度为l1的交织,其中,l1是大于或等于n的正整数。交织的目的是将用户标识图像的n个图像块的顺序打乱,使得不知道交织规则的用户不能将包含了用户信息的第一图像进行逆交织处理,从而不能去除用户信息,进一步增加了通过泄露的图像获得用户信息从而实现追责泄露者的概率。

第二种、将n组用户信息数据进行交织。该步骤可以在步骤304之后执行。

例如,将一组用户信息数据作为一个交织单元,将n个交织单元进行长度为l2的交织,其中,l2是大于等于n的正整数。交织的目的是将n组用户信息数据的顺序打乱,使得不知道交织规则的用户不能将多组用户信息数据进行逆交织处理,从而不能去除用户信息,进一步增加了通过泄露的图像获得用户信息从而实现追责泄露者的概率。

第三种、将每组用户信息数据中的ln个用户信息数据进行交织。该步骤可以在步骤304之后执行。

示例性地,将一个用户信息数据作为一个交织单元,将n个交织单元进行长度为l3的交织,其中,l3是大于等于ln的正整数。交织的目的是将ln个用户信息数据的顺序打乱,使得不知道交织规则的用户不能将用户信息数据进行逆交织处理,从而不能去除用户信息,进一步增加了通过泄露的图像获得用户信息从而实现追责泄露者的概率。

通过步骤302~304即可实现基于用户信息得到至少一组用户信息数据。

需要说明的是,在步骤304中,将每个第一图像块的频域数据分别为一组用户信息数据,在其他实施例中,也可以将每个第一图像块的像素数据分别作为一组用户信息数据。例如,第一图像块的像素的灰度值、第一图像块的像素的rgb数据中的某一通道值等。

可替代地,步骤302~304可以替换为以下步骤,以实现基于用户信息得到至少一组用户信息数据:

第一步、将用户信息转换为二进制数据,该二进制数据用于表示该用户信息;

第二步、将用户信息对应的二进制数据划分为等长的多组二进制数据,每组二进制数据即为一组用户信息数据,或者每组二进制数据经过频域变换处理后得到的频域数据即为一组用户信息数据。

可替代地,步骤302~304还可以替换为以下步骤,以实现基于用户信息得到至少一组用户信息数据:

将用户信息对应的二进制数据进行冗余编码,得到n*ln个数据;将冗余编码得到的数据分为n组用户信息数据,每组用户信息数据包括ln个用户信息数据,每个用户信息数据即为n*ln个数据中的一个数据。

示例地,n=4,ln=4,将用户信息的数据冗余编码后得到的数据是{1,4,8,76,27,201,8,37,29,198,57,92,6,34,83,72};则得到的4组用户信息数据为:{1,4,8,76}、{27,201,8,37}、{29,198,57,92}和{6,34,83,72}。

在上述示例中,冗余编码可以是重复编码或者纠错编码。

需要知道的是,步骤302~304用于基于用户信息得到的多个用户信息数据集合。对于同一用户,可以在步骤202之后,在服务中对应保存用户信息和上述多个用户信息数据集合,后续该用户再次发起图像请求时可以直接使用,无需再次执行转换的动作。也即是,该步骤202可以包括,根据用户信息查找用户信息对应的多组用户信息数据。

305、将第一图像分割成m个第二图像块。

其中,m为大于1的正整数。

可选地,可以将第一图像分割成m个第二图像块,m=s2,s为正整数,该m个第二图像块以s行乘s列的方式组成第一图像,且每个第二图像块均为方形的图像块,每个第二图像块的大小为lm=r2个像素,r为正整数。s和r的值还可以进一步限制为2的整数倍,以使得后续的用户信息数据的写入更适合计算机运算。

306、从m个第二图像块中选择n个第二图像块进行频域变换处理,得到n个第二图像块的频域数据。

其中,m为大于n的整数。通过将m设置为大于n,使得用户信息数据仅写入第一图像的部分图像块中,从而减小第二图像和第一图像的差别,即减小在第一图像中写入用户信息数据对第一图像质量(例如清晰度)的影响。

可选地,从m个第二图像块中选择n个第二图像块的方式可以为预先设置的方式。示例性地,可以是从m个第二图像块中连续地选择n个第二图像块;也可以是从m个第二图像块中离散地选择n个第二图像块。离散的方式包括以从设定的第二图像块开始以设定的间隔选择第二图像块,例如第1个第二图像块、第3个第二图像块……第2x+1(x为整数)个第二图像块,直至达到n个第二图像块;或者,随机选择,例如,采用指定函数确定选择的第二图像块,该函数的输入可以为随机数,该函数的输出用于表示第二图像块。

对n个第二图像块进行频域变换处理,可以是对第二图像块的一种像素数据进行频域变换处理,第二图像块的像素数据可以是亮度值、灰度值、色度值等。示例性地,当第一图像是灰度图像或者二值图像时,第二图像块的像素数据可以是像素的灰度值;当第一图像是rgb格式时,第二图像块的像素数据可以是r、g和b三种颜色分量中的一种;当第一图像是yuv格式(y表示亮度,u、v表示颜色的色度)时,第二图像块的像素数据可以是y、u和v三种分量中的一种。

在进行频域变换处理时,可以一次对n个第二图像块进行频域变换处理,也可以同时对n个第二图像块进行频域变换处理,本公开对此不作限制。

可选地,该频域变换可以是离散余弦变换、离散傅立叶变换、离散小波变换等。该步骤306中的频域变换方式可以与步骤304中的频域变换方式相同。

在一种可能的实现方式中,上述步骤306还可以采用以下步骤替代:

分别将m个第二图像块进行频域变换处理,得到m个第二图像块的频域数据;然后从m个第二图像块的频域数据中选择n个第二图像块的频域数据。

在本实施例中,每组用户信息数据对应一个第二图像块的频域数据,用于写入到对应的第二图像块的频域数据中。

需要说明的是,前述步骤302~304和步骤305~306的执行不分先后,可以先执行步骤302~304再执行步骤305~306,也可以先执行步骤305~306再执行步骤302~304,也可以同时执行步骤302~304和步骤305~306。

307、将n组用户信息数据写入对应的第二图像块的频域数据中。

对于一个图像块而言,在进行频域变换处理后得到的频域数据中,左上方为低频数据,相应地,左上方为低频位置,右下方为高频数据,相应地,右下方为高频位置,低频位置和高频位置之间则为中频位置。在本实施例中,用户信息数据写入对应的第二图像块的频域数据中,是指采用用户信息数据替换对应的第二图像块的频域数据中位于中频位置的数据。由此使得用户信息不容易通过信号处理被破坏,且可以减少对第一图像的图像质量的影响。

实现时,中频位置的起点可以是预设值,该预设值的值是通过经验或实验得到;中频位置的起点可以是可变的,可以根据第一图像频域系数集合中数据的统计特点,确定中频位置的起点。

在本实施例中,每组用户信息数据包括ln个用户信息数据,每个第二图像块的频域数据中包括lm个频域数据,lm大于ln。其中,ln等于第一图像块中的像素数量,lm等于第二图像块中像素数量,lm大于ln,表示每个第二图像块所包含像素的数量大于第一图像块所包含的像素数量,且每个第二图像块的频域数据所包含的频域数据的数量大于一组用户信息数据中用户信息数据的数量。那么,在将ln个用户信息数据写入对应的lm个频域数据时,第二图像块只有部分频域数据会被替换,对图像质量影响较小。例如,每个第二图像块包括512*512个像素,每个第一图像块包括8*8个像素,相应的,每个第二图像块的频域数据包括512*512个频域数据,一个第一图像块转换得到的一组用户信息数据包括8*8个用户信息数据,那么,在将用户信息数据写入对应的第二图像块的频域数据时,512*512个频域数据中只有8*8个频域数据被替换,对第一图像的图像质量影响较小。

需要说明的是,在本实施例中,采用替代第二图像块中部分频域数据的方式将用户信息数据写入第一图像,在其他实施例中也可以采用其他写入方式,例如数据相关、数据加权叠加等方式,本公开不做限制,写入的方式的选择以尽量减少对第一图像的图像质量的影响为原则。

308、基于写入用户信息数据后的第二图像块的频域数据,得到第二图像。

用户信息所对应的用户信息数据包括前述基于用户信息得到的所有用户信息数据,并且用户信息数据以肉眼不可见的方式携带在第二图像中。这里,用户信息数据以肉眼不可见的方式携带在第二图像中,是指第一图像展示的图像内容与第二图像展示的图像内容相同,用户无法直接从第二图像中观察到第二图像中携带了用户信息数据。

若前述步骤中对所有第二图像块均进行了频域变换处理,则该步骤308可以包括:分别对写入用户信息数据后的第二图像块的频域数据和未写入用户信息数据的第二图像块的频域数据进行逆变换,得到所有第二图像块对应的像素数据;将所有第二图像块对应的像素数据组合得到第二图像。

若前述步骤中仅对选择出的n个第二图像块进行了频域变换处理,则该步骤308可以包括:对写入用户信息数据后的第二图像块的频域数据进行逆变换,即进行时域变换,得到n个第二图像块的像素数据(即时域数据);将n个第二图像块的像素数据与未进行频域变换处理的第二图像块的像素数据组合,得到第二图像。

该步骤308是步骤306的逆变换,因此,逆变换的方式与步骤306中频域变换的方式对应。例如,当步骤306中采用离散余弦变换时,步骤308中采用离散余弦反变换。

通过该步骤305~308即可实现将至少一组用户信息数据写入第一图像,得到第二图像。

在本实施例中,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

此外,在本实施例中,通过将用户标识图像转换为多组频域数据然后分组写入第一图像,得到第二图像,所以即使用户采用打马赛克或者裁剪等操作破坏第二图像,只要用户打马赛克或裁剪的范围有限,在采用第二图像中提取的用户信息数据转换为用户标识图像时,被破坏的部分只会对用户标识图像的清晰度造成一定影响,而仍然能够从用户标识图像中识别出用户信息,即只要用户打马赛克或裁剪的范围有限,仍然可以从第二图像中提取足够的用户信息数据恢复出用户信息,通过泄露的第二图像获得泄漏者的用户信息,从而实现追责泄露者。

下述为本公开的又一方法实施例,用于从包含了用户信息数据的第二图像中恢复用户信息,所实施的方法与图2或图3所示实施例提供的将用户信息数据写入第一图像的方法相对应,对于实施例中未详尽描述的细节,可以参考图2或图3所示实施例提供的方法。

参见图4,其示出了本公开实施例提供的图像处理方法的流程图,图4所示的方法可以由终端或者服务器执行,该方法包括:

401、获取第二图像。

其中,第二图像以肉眼不可见的方式携带有至少一组用户信息数据,这至少一组用户信息数据用于指示用户信息,这至少一组用户信息数据是在该用户信息所对应的用户请求第一图像时写入第一图像的,第二图像是将至少一组用户信息数据写入第一图像后得到的。也即是,该第二图像可以是采用图2或图3所示方法得到的。

该步骤401中的第二图像可以为被泄漏的第二图像,以通过本实施例提供的方法确定泄漏者的用户信息。

402、从第二图像中提取至少一组用户信息数据。

当用户信息数据写入第一图像的空间域数据中时,可以将第二图像中指定像素位置的像素数据提取出来作为用户信息数据。该指定像素位置与步骤s203中写入用户信息数据的像素位置对应。

当用户信息数据写入第一图像的频域数据时,需要先将第二图像进行频域变换处理,得到第二图像的频域数据,然后从第二图像的频域数据中选择部分频域数据作为用户信息数据。

403、基于提取到的用户信息数据,确定用户信息。

该步骤403中提取到的用户信息数据可以为时域数据,例如图像的像素数据、二进制数据等;也可以为频域数据。当提取到的用户信息数据为频域数据时,该步骤403可以包括:对提取到的频域数据进行时域变换,得到用户信息数据对应的时域数据;基于得到的时域数据确定用户信息。

这里的用户信息可以用于指示用户的身份,从而可以根据用户信息对泄漏者进行追责。

在本实施例中,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

参见图5,其示出了本公开实施例提供的图像处理方法的流程图,图5所示的方法可以由终端或者服务器执行,该方法包括:

501、获取第二图像。

第二图像的相关描述参见步骤401,在此省略详细描述。

502、将第二图像分割成m个第二图像块。

其中,m为大于1的正整数。

可选地,可以将第二图像分割成m个第二图像块,m=s2,s为正整数,该m个第二图像块以s行乘s列的方式组成第一图像,且每个第二图像块均为方形的图像块,每个第二图像块的大小为lm=r2个像素,r为正整数。s和r的值还可以进一步限制为2的整数倍,以使得后续的用户信息数据的提取更适合计算机运算。

503:从m个第二图像块中选择n个第二图像块进行频域变换处理,得到n个第二图像块的频域数据。

其中,m为大于n的整数。

该步骤503中采用的频域变换方式和选择n个图像块的方式可以与步骤306中相同,在此省略详细描述。

可替代地,该步骤503可以采用以下步骤替代:

分别将m个第二图像块进行频域变换处理,得到m个第二图像块的频域数据;然后从m个第二图像块的频域数据中选择n个第二图像块的频域数据。

504、从每个第二图像块的频域数据中分别提取一组用户信息数据,得到n组用户信息数据。

可选地,对于一个第二图像块,可以将该第二图像块的频域数据中位于中频位置的数据,提取为用户信息数据。中频位置的相关描述可以参见步骤307,在此省略详细描述。

505、对提取到的n组用户信息数据进行时域变换,得到多个第一图像块的图像数据。

在本实施例中,提取到的n组用户信息数据均为频域数据,所以需要对着n组用户信息数据进行时域变换,得到n个第一图像块的图像数据。

506、将n个第一图像块的图像数据组合得到用户标识图像。

其中,用户标识图像用于展示用户信息。该步骤506得到的用户标识图像的相关描述可以参见前述步骤302。

通过步骤505~506可以实现基于提取到的用户信息数据,确定所述用户信息。

在另一种可能的实施方式中,n组用户信息数据经过时域变换后得到的是多组二进制数据,在这种情况下,上述步骤506可以采用以下步骤替代:

将n组用户信息数据合并;对合并后的用户信息数据解码得到用户信息。

可选地,解码是步骤202中提到的冗余编码的逆操作。

可选地,该方法还可以包括解交织操作,该解交织过程是图2所示实施中的交织操作的逆操作。

在另一种可能的实施方式中,从每个第二图像块的频域数据中分别提取一组用户信息数据为时域数据,例如,像素数据或者二进制数据,在这种情况下,该步骤505~506可以替换为以下步骤:将提取到的用户信息数据组合;将组合后的用户信息数据转换为用户信息。

在本实施例中,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

此外,在本实施例中,通过将用户标识图像转换为多组频域数据然后分组写入第一图像,得到第二图像,所以即使用户采用打马赛克或者裁剪等操作破坏第二图像,只要用户打马赛克或裁剪的范围有限,在采用第二图像中提取的用户信息数据转换为用户标识图像时,被破坏的部分只会对用户标识图像的清晰度造成一定影响,而仍然能够从用户标识图像中识别出用户信息,即只要用户打马赛克或裁剪的范围有限,仍然可以从第二图像中提取足够的用户信息数据恢复出用户信息,通过泄露的第二图像获得泄漏者的用户信息,从而实现追责泄露者。

下述为本公开装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述方法实施例。

请参考图6,其示出了本公开一个实施例提供的图像处理装置600的结构方框图,该装置600用于将用户信息隐写入第一图像。该装置包括:获取模块610、用户信息处理模块620和图像处理模块630。获取模块610用于当用户请求获取第一图像时,获取第一图像和该用户的用户信息;用户信息处理模块620,用于基于用户信息得到至少一组用户信息数据;图像处理模块630用于将至少一组用户信息数据写入第一图像,得到第二图像,这至少一组用户信息数据以肉眼不可见的方式携带在第二图像中。

在本实施例中,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

可选地,该装置还可以包括输出模块,用于输出第二图像。

在一种可能的实现方式中,参见图7,用户信息处理模块620包括图像生成子模块621、图像分割子模块622和数据处理子模块623。图像生成子模块621用于基于用户信息生成用户标识图像;图像分割子模块622用于将用户标识图像分割成多个第一图像块;数据处理子模块623用于分别将各个第一图像块进行频域变换处理,得到每个第一图像块的频域数据,每个第一图像块的频域数据分别为一组用户信息数据。

可替代地,数据处理子模块623还可以用于将第一图像块对应的像素数据(时域数据)作为用户信息数据。即数据处理模块623可以用于将每个第一图像块转换为一组用户信息数据。

可替代地,数据处理子模块623还可以用于获取用户信息对应的二进制数据,将用户信息数据对应的二进制数据分为多组,每组二进制数据为一组用户信息数据(时域数据),或者,每组二进制数据经过频域变换后得到的频域数据为一组用户信息数据,各组二进制数据可以等长,即所包含的数据位数相等。

可选地,数据处理子模块623还可以用于进行交织操作。

在一种可能的实现方式中,图像处理模块630可以将用户信息数据写入第一图像的频域数据中。参见图8,图像处理模块630包括:图像分割子模块631、数据变换子模块632、数据写入子模块633和数据逆变换子模块634。图像分割子模块631用于将第一图像分割成多个第二图像块;数据变换子模块632用于对多个第二图像块中的至少部分第二图像块进行频域变换,得到多个第二图像块的频域数据,每组用户信息数据对应一个第二图像块的频域数据;数据写入子模块633用于将至少一组用户信息数据写入所对应的一个第二图像块的频域数据中;数据逆变换子模块634用于基于写入用户信息数据后的第二图像块的频域数据,得到第二图像。

可选地,数据写入子模块633用于采用用户信息数据,替换对应的第二图像块的频域数据中位于中频位置的数据。

在另一种可能的实现方式中,图像处理模块630可以将用户信息数据写入第一图像的频域数据中。例如,可以采用lsb(leastsignificantbit,最低有效位)方式写入,用户信息数据写入完成后即得到第二图像。

请参考图9,其示出了本公开一个实施例提供的图像处理装置700的结构方框图,该装置700用于从携带用户信息数据的第二图像中获得用户信息。该装置包括:获取模块710、提取模块720和确定模块730。

获取模块710,用于获取第二图像,第二图像以肉眼不可见的方式携带有至少一组用户信息数据,至少一组用户信息数据用于指示用户信息,至少一组用户信息数据是在用户信息所对应的用户请求第一图像时写入第一图像的,第二图像是将至少一组用户信息数据写入第一图像后得到的;提取模块720,用于从第二图像中提取至少一组用户信息数据;确定模块730,用于基于至少一组用户信息数据,确定用户信息。

本公开提供的技术方案,通过将请求获取第一图像的用户的用户信息所对应的用户信息数据写入第一图像,从而得到携带有用户信息数据的第二图像,当该用户泄漏第二图像时,可以通过被泄漏的第二图像提取用户信息数据,并根据用户信息数据确定泄漏者的用户信息,从而实现追责泄漏者。并且,由于用户信息数据以肉眼不可见的方式携带在第二图像中,用户难以发现,所以可以减小用户去除用户信息数据后再泄漏图像的概率。

在一种可能的实现方式中,参见图10,提取模块720可以包括:图像分割子模块721、数据变换子模块722和数据提取子模块723。图像分割子模块721用于将第二图像分割成多个第二图像块;数据变换子模块722用于对至少部分第二图像块进行频域变换,得到多个第二图像块的频域数据;数据提取子模块723用于从至少部分第二图像块的频域数据中分别提取一组用户信息数据,得到多组用户信息数据。

在另一种可能的实施方式中,数据提取子模块723用于将第二图像块的频域数据中位于中频位置的数据,提取为用户信息数据。

可选地,当用户信息数据写入第一图像的空间域数据中时,提取模块720可以用于将第二图像中指定像素位置的像素数据提取出来作为用户信息数据。

在另一种可能的实施方式中,参见图11,确定模块730包括:数据处理子模块731和合成子模块732。数据处理子模块731用于对多组用户信息数据进行时域变换,得到多个第一图像块;合成子模块732用于将多个第一图像块组合得到用户标识图像,用户标识图像用于展示用户信息。

参见图12,其示出了本公开实施例提供的一种图像处理装置的结构示意图。该装置可能是服务器或者终端,具体来讲:

图像处理装置800包括中央处理单元(cpu)801、包括随机存取存储器(ram)802和只读存储器(rom)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。计算系统800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。

基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为计算系统800提供非易失性存储。也就是说,大容量存储设备807可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。

根据本公开实施例,图像处理装置800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即图像处理装置800可以通过连接在系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。所述一个或者一个以上程序包含用于进行图2和图3其中任一所提供的图像处理方法的指令,或者,进行图4和图5其中任一所提供的图像处理方法的指令。

本公开实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算系统的处理器执行时,使得计算系统能够执行图2和图3其中任一项提供的图像处理方法,或者,使得计算系统能够执行图4和图5其中任一项提供的图像处理方法。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行进行图2和图3其中任一所提供的图像处理方法的指令,或者,进行图4和图5其中任一所提供的图像处理方法的指令。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。

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