本发明涉及隐形水印技术领域,特别涉及一种隐形水印识别方法、装置以及存储设备。
背景技术:
随着信息传播技术的发展,信息版权保护也成为一个迫切需要解决的问题。传统的加密技术在信息传播过程中虽有保护作用,但数据一旦被接收并解密,其保护作用也随之消失。因此,传统的加密技术只能满足有限的要求。
为了解决上述问题,提出了水印技术。依据所嵌入的主媒体不同,水印可分为图像水印、音频水印、视频水印、文本水印和网络水印。与传统的加密技术不同,水印技术应用的目的不是限制信息的传播,而是在信息传播过程中水印不被改变或消除。从视觉效果考虑,有一种水印称谓隐形水印,这叫信息隐藏,就是把一些水印秘密地嵌入到音频、视频、图片等载体中,盗版追踪是这种技术很常见的用途。对不同的用户,在信息里面加上不同的水印,用户视觉上看不到,但可以使用特定算法识别出来,这样可以实现追踪。但是,现有技术将隐形水印嵌入文件的某些位置时,会无法识别到隐形水印。因此,将隐形水印如何从传播的信息中识别出来成为一个突出的问题。
技术实现要素:
为解决现有技术的问题,本发明提出一种隐形水印识别方法、装置以及存储设备,使得隐形水印不管设置在文件任何位置都能够很好的识别出来。
为实现上述目的,本发明提供了一种隐形水印识别方法,包括:
从包含隐形水印的图像中获取分量图像,并对所述分量图像进行划分,获得像素块;
从所述像素块中选择出包含隐形水印信息的像素块;
对包含隐形水印信息的像素块进行qr分解,获得上三角形矩阵;
从所述上三角形矩阵的第一行第四列中提取隐形水印的二进制序列信息;
根据所述隐形水印的二进制序列信息获取水印分量信息;
对所述水印分量信息进行处理,获取隐形水印提取图;
对所述隐形水印提取图进行解码,识别出隐形水印。
优选地,所述包含隐形水印信息的像素块是通过密钥ki的md5-hash伪随机替换算法从所述分量图像的像素块中获得;其中,i=1,2,3;i表示分量图像的编号。
优选地,所述隐形水印的二进制序列信息是通过
优选地,所述隐形水印提取图的获取步骤为:
将获取的每个水印分量信息进行基于密钥kai的arnold逆变换;其中,i=1,2,3;i表示分量图像的编号;
对逆变换结果进行重组,形成隐形水印提取图。
优选地,所述隐形水印的二进制序列信息按照8位一组转换为十进制的像素值,将获得的十进制的像素值构成所述水印分量信息。
为实现上述目的,本发明提供了一种隐形水印识别装置,包括:
处理器,适于实现各指令;以及
存储器,适于存储多条指令,所述指令适于由所述处理器加载并执行:
从包含隐形水印的图像中获取分量图像,并对所述分量图像进行划分,获得像素块;
从所述像素块中选择出包含隐形水印信息的像素块;
对包含隐形水印信息的像素块进行qr分解,获得上三角形矩阵;
从所述上三角形矩阵的第一行第四列中提取隐形水印的二进制序列信息;
根据所述隐形水印的二进制序列信息获取水印分量信息;
对所述水印分量信息进行处理,获取隐形水印提取图;
对所述隐形水印提取图进行解码,识别出隐形水印。
优选地,所述处理器执行获得包含隐形水印信息的像素块的指令为:
通过密钥ki的md5-hash伪随机替换算法从所述分量图像的像素块中获得所述包含隐形水印信息的像素块;其中,i=1,2,3;i表示分量图像的编号。
优选地,所述处理器执行获得隐形水印的二进制序列信息的指令为:
通过
优选地,所述处理器获取隐形水印提取图的指令包括:
将获取的每个水印分量信息进行基于密钥kai的arnold逆变换;其中,i=1,2,3;i表示分量图像的编号;
对逆变换结果进行重组,形成隐形水印提取图。
为实现上述目的,本发明还提供了一种存储设备,所述存储设备存储有多条指令,所述指令适于由处理器加载并执行上述所述的隐形水印识别方法。
上述技术方案具有如下有益效果:
本技术方案对嵌入到任何颜色任何位置的隐形水印快速清晰的识别出来,实现现有的隐形水印无法具备的交互功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提出的一种隐形水印识别方法流程图;
图2为本实施例含有隐形水印的图像示意图之一;
图3为本实施例含有隐形水印的图像示意图之二;
图4为本实施例含有隐形水印的图像示意图之三;
图5为利用本技术方案识别出的隐形水印的结果示意图;
图6为本发明实施例提出的一种隐形水印识别装置方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对上三角形矩阵的第一行第四列的值更改为隐形水印的信息值的嵌入隐形水印的方法,本案提出一种识别隐形水印的技术手段。关键在于:对包含隐形水印信息的上三角形矩阵的第一行第四列的值进行处理获取隐形水印提取图。
基于上述描述,本发明实施例提出一种隐形水印识别方法,如图1所示。包括:
步骤101):从包含隐形水印的图像中获取分量图像,并对所述分量图像进行划分,获得像素块;
在本实施例中,通过手机app扫描含隐形水印的包装图,得到含隐形水印的图像。把含有隐形水印的图像划分成r、g、b三个分量图像,并把划分获得的三个分量图像进一步划分成大小为4*4像素块。
在本实施例中,隐形水印为彩色图像时,其水印信息量将是同尺寸二值图像的24倍,8*8划分的话太过复杂不能较好的满足彩色图像作为水印的要求。而4*4能够满足水印不可见性和和鲁棒性的需要,还能明显提高算法的执行效率。
步骤102):从所述像素块中选择出包含隐形水印信息的像素块;
在本实施例中,利用基于密钥ki的md5-hash伪随机替换算法在分量图像中选择嵌入隐形水印信息的像素块;其中,i=1,2,3;i表示分量图像的编号。
步骤103):对包含隐形水印信息的像素块进行qr分解,获得上三角形矩阵;
步骤104):从所述上三角形矩阵的第一行第四列中提取隐形水印的二进制序列信息;
在本实施例中,所述隐形水印的二进制序列信息是通过
步骤105):根据所述隐形水印的二进制序列信息获取水印分量信息;
在本实施例中,从所有的嵌入隐形水印信息的像素块中提取出隐形水印的二进制序列信息,将所有的隐形水印的二进制序列信息按照每8位一组,并将每一组转换为十进制的像素值,从而获得水印分量信息。
步骤106):对所述水印分量信息进行处理,获取隐形水印提取图;其中,所述隐形水印提取图的获取步骤为:
将获取的每个水印分量信息进行基于密钥kai的arnold逆变换;其中,i=1,2,3;i表示分量图像的编号。
对逆变换结果进行重组,形成隐形水印提取图。
步骤107):对所述隐形水印提取图进行解码,识别出隐形水印。
如图2、图3、图4所示,为含有隐形水印的图像。在图中,隐形水印均设置在方框中。从这些图中可以看出,设置隐形水印时对位置并没有特别的要求。通过专业的识别技术可以识别出隐藏的隐形水印信息,方框的位置中嵌入了编码水印(“cloudcode”),防伪识别效果如图5所示。本技术方案对嵌入到任何颜色任何位置的隐形水印快速清晰的识别出来,实现现有的隐形水印无法具备的交互功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一般计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
本领域技术人员还可以了解到本发明实施例列出的各种功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
如图6所示,为本发明实施例提出的一种隐形水印识别装置方框图。包括:
处理器a,适于实现各指令;以及
存储器b,适于存储多条指令,所述指令适于由所述处理器a加载并执行:
从包含隐形水印的图像中获取分量图像,并对所述分量图像进行划分,获得像素块;
从所述像素块中选择出包含隐形水印信息的像素块;
对包含隐形水印信息的像素块进行qr分解,获得上三角形矩阵;
从所述上三角形矩阵的第一行第四列中提取隐形水印的二进制序列信息;
根据所述隐形水印的二进制序列信息获取水印分量信息;
对所述水印分量信息进行处理,获取隐形水印提取图;
对所述隐形水印提取图进行解码,识别出隐形水印。
在本实施例中,所述处理器a执行获得包含隐形水印信息的像素块的指令为:
通过密钥ki的md5-hash伪随机替换算法从所述分量图像的像素块中获得所述包含隐形水印信息的像素块;;其中,i=1,2,3;i表示分量图像的编号。
在本实施例中,所述处理器a执行获得隐形水印的二进制序列信息的指令为:
通过
在本实施例中,所述处理器a获取隐形水印提取图的指令包括:
将获取的每个水印分量信息进行基于密钥kai的arnold逆变换;其中,i=1,2,3;i表示分量图像的编号;
对逆变换结果进行重组,形成隐形水印提取图。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。