本发明涉及图像处理技术领域,尤其涉及一种图像优化方法、装置、设备及存储介质。
背景技术:
随着经济的快速发展,人们越来越处于一个现代化信息社会,人们可以轻易地使用各种终端,通过网络获取他们所需要的信息数据。但是,信息安全的问题也随之变得越来越严重,人们不希望为外人所知的隐私信息也容易被一些别有用心的人所获取,甚至被曝光在公众的视野中。在这样的背景下,隐写技术又再次开始被人们广泛使用,隐写是通过轻微修改载体数据以将秘密信息嵌入到媒体数据中的技术。人们在传送一些秘密信息的时候,可以将人们需要传送给他人的信息秘密地嵌入到图像中,让秘密信息难以让除接受者以外的人获取。
初期隐写主要通过提高嵌入效率来增加安全性,即在给定嵌入率的前提下尽可能减少对载体数据的修改数量。syndrometrelliscoding编码的出现使得隐写的方向发生了转变。对于给定的嵌入率,syndrometrelliscoding编码能最小化自定义失真代价函数下载体与含密图像间的加性失真。syndrometrelliscoding编码的嵌入效率已十分逼近理论极限,因此隐写的方向转为设计合适的失真代价函数。目前有许多针对未压缩图像隐写的失真代价函数,如hugo、wow、suniward、hill、mvgg等。
当前的失真代价函数都为同一像素的加一与减一操作分配了相同的失真代价,但通过该具有相同失真代价的失真代价函数对图像进行隐写后,会使隐写后的含密图像像素的起伏程度与周围像素差异较大,导致含密图像被隐写分析工具检测出含密的概率升高。因此,现有技术使用失真代价函数对图像进行隐写后的含密图像的抗检测性较差,同时图像隐写的安全性较低的问题是亟待解决的技术问题。
技术实现要素:
本发明的主要目的在于提供一种图像优化方法、装置、设备及存储介质,旨在解决现有技术使用失真代价函数对图像进行隐写后,含密图像的抗检测性较差,同时图像隐写的安全性较低的技术问题。
为实现上述目的,本发明提供一种图像优化方法,所述图像优化方法包括以下步骤:
当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
优选地,所述根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
提取所述图像中所有的所述像素点;
根据所述预设失真代价函数逐一计算各所述像素点的所述图像纹理值。
优选地,所述根据预设失真代价函数逐一计算各所述像素点的所述图像纹理值的步骤包括:
确定与各所述像素点对应的邻域范围,并逐一针对各所述像素点执行以下步骤:
确定与所述像素点对应的所述邻域范围内的待计算像素点,并计算各所述待计算像素点的失真代价值;
将各所述失真代价值进行加和,生成所述像素点的所述图像纹理值,直到各所述像素点均生成所述图像纹理值。
优选地,所述通过各所述像素点的像素值计算局部起伏值的步骤包括:
提取所述图像中各所述像素点的所述像素值;
根据第一预设算法和第二预设算法分别对各所述像素值进行运算,生成各所述像素点的第一局部起伏值和第二局部起伏值。
优选地,所述目标失真代价函数包括第一目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
根据各所述图像纹理值,计算各所述像素点的中间参数,并逐一读取各所述像素点执行以下步骤:
判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行预设运算,以调整所述预设失真代价函数,得到所述第一目标失真代价函数;
若当前读取的所述像素点的所述第一局部起伏值小于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第一目标失真代价函数。
优选地,所述目标失真代价函数还包括第二目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
逐一读取各所述像素点执行以下步骤:
判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第二目标失真代价函数;
若当前读取的所述像素点的所述第一局部起伏值小于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行所述预设运算,以调整所述预设失真代价函数,得到所述第二目标失真代价函数。
优选地,所述当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
检测接收到的所述图像的性质,若所述图像的性质为未压缩图像,则对所述图像进行转换,生成具有灰度属性的所述图像,并根据所述预设失真代价函数计算所述图像中各所述像素点的所述图像纹理值。
为实现上述目的,本发明还提供一种图像优化装置,所述图像优化装置包括:
计算模块,用于当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
调整模块,用于根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
隐写模块,用于基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
进一步地,为实现上述目的,本发明还提供一种图像优化设备,所述图像优化设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的图像优化程序,所述图像优化程序被所述处理器执行时实现上述的图像优化方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有图像优化程序,所述图像优化程序被处理器执行时实现上述的图像优化方法的步骤。
本发明实施例提出的一种图像优化方法、装置、设备及存储介质,当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。本发明的图像优化方法,通过经由图像纹理值和局部起伏值调整后的目标失真代价函数对图像进行隐写,使隐写后的含密图像像素的起伏程度与周围像素的起伏程度相似,进而含密图像被隐写分析工具检测出含密的概率降低。因此,本发明提出的图像优化方法使含密图像具有更好的抗检测性,提高了图像隐写的安全性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的图像优化设备结构示意图;
图2为本发明图像优化方法第一实施例的流程示意图;
图3为本发明图像优化方法第三实施例中图像性质检测流程图;
图4为本发明图像优化装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。本发明的图像优化方法,通过经由图像纹理值和局部起伏值调整后的目标失真代价函数对图像进行隐写,使隐写后的含密图像像素的起伏程度与周围像素的起伏程度相似,进而含密图像被隐写分析工具检测出含密的概率降低。因此,本发明提出的图像优化方法使含密图像具有更好的抗检测性,提高了图像隐写的安全性。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的图像优化设备结构示意图。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本发明实施例图像优化设备可以是pc,也可以是平板电脑、便携计算机等可移动式终端设备。
如图1所示,该图像优化设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的图像优化设备结构并不构成对图像优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及图像优化程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的图像优化程序,并执行以下操作:
当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
进一步地,所述根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
提取所述图像中所有的所述像素点;
根据所述预设失真代价函数逐一计算各所述像素点的所述图像纹理值。
进一步地,所述根据预设失真代价函数逐一计算各所述像素点的所述图像纹理值的步骤包括:
确定与各所述像素点对应的邻域范围,并逐一针对各所述像素点执行以下步骤:
确定与所述像素点对应的所述邻域范围内的待计算像素点,并计算各所述待计算像素点的失真代价值;
将各所述失真代价值进行加和,生成所述像素点的所述图像纹理值,直到各所述像素点均生成所述图像纹理值。
进一步地,所述通过各所述像素点的像素值计算局部起伏值的步骤包括:
提取所述图像中各所述像素点的所述像素值;
根据第一预设算法和第二预设算法分别对各所述像素值进行运算,生成各所述像素点的第一局部起伏值和第二局部起伏值。
进一步地,所述目标失真代价函数包括第一目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
根据各所述图像纹理值,计算各所述像素点的中间参数,并逐一读取各所述像素点执行以下步骤:
判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行预设运算,以调整所述预设失真代价函数,得到所述第一目标失真代价函数;
若当前读取的所述像素点的所述第一局部起伏值小于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第一目标失真代价函数。
进一步地,所述目标失真代价函数还包括第二目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
逐一读取各所述像素点执行以下步骤:
判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第二目标失真代价函数;
若当前读取的所述像素点的所述第一局部起伏值小于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行所述预设运算,以调整所述预设失真代价函数,得到所述第二目标失真代价函数。
进一步地,所述当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
检测接收到的所述图像的性质,若所述图像的性质为未压缩图像,则对所述图像进行转换,生成具有灰度属性的所述图像,并根据所述预设失真代价函数计算所述图像中各所述像素点的所述图像纹理值。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参照图2,本发明第一实施例提供一种图像优化方法的流程示意图。该实施例中,所述图像优化方法包括以下步骤:
步骤s10,当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
本实施例中的图像优化方法应用于服务器,其中服务器与计算机、手机等终端通信连接,以便于当终端用户具有隐写需求时,通过终端将图像发送到服务器进行处理。当服务器接收到经由该类终端发送的图像,并检测到图像的性质为未压缩图像时,将图像预选为待优化的图像。进一步地,服务器提取图像中像素点的信息,其中像素点的信息至少包含有像素点的位置与像素值。此后,服务器调用依据需求所预先设置的预设失真代价函数,并根据预设失真代价函数对提取的图像中的各像素点进行计算,得到用于表示各像素点邻域范围内的纹理复杂程度的图像纹理值。需要说明的是,预设失真代价函数可以为hugo、wow、suniward、hill、mvgg中的任意一项,但结合实际使用效果,本实施例的预设失真代价函数优选为hill。具体地,根据预设失真代价函数计算各像素点的图像纹理值的步骤包括:
步骤s11,提取所述图像中所有的所述像素点;
步骤s12,根据所述预设失真代价函数逐一计算各所述像素点的所述图像纹理值;
进一步地,服务器可通过opencv(opensourcecomputervisionlibrary,开源计算机视觉库)或matlab(matrixlaboratory,矩阵实验室)的方式来提取图像中的像素点。在提取到图像中所有像素点后,根据预设失真代价函数,逐一计算所提取的图像中所有像素点的图像纹理值。具体地,根据预设失真代价函数逐一计算各像素点的图像纹理值的步骤包括:
步骤s121,确定与各所述像素点对应的邻域范围,并逐一针对各所述像素点执行步骤s122和步骤s123;
步骤s122,确定与所述像素点对应的所述邻域范围内的待计算像素点,并计算各所述待计算像素点的失真代价值;
步骤s123,将各所述失真代价值进行加和,生成所述像素点的所述图像纹理值,直到各所述像素点均生成所述图像纹理值。
进一步地,将提取的所有像素点按照各像素点的提取顺序,或者各像素点在图像中的位置关系进行排列,并按照排列顺序对各像素点逐一读取,以计算生成各像素点的图像纹理值。具体地,将当前读取的像素点作为当前像素点,选取以当前像素点为中心的s×s邻域,确定为该当前像素点对应的邻域范围,其中s为可选值,依据测试经验,为取得最佳效果,s的数值优选为7,形成以当前像素点为中心的7×7邻域。进一步地,确定当前像素点的邻域范围内所具有像素点的数量,将邻域范围内所具有的像素点确定为待计算像素点。更进一步地,根据预设失真代价函数,计算当前像素点的邻域范围内每一个待计算像素点的失真代价值,直到该当前像素点的邻域范围内所有待计算像素点均计算出失真代价值。将计算的邻域范围内所有待计算像素点的失真代价值进行加和运算,生成当前像素点的图像纹理值。此后按照排列顺序读取下一个像素点作为新的当前像素点,并计算新的当前像素点的图像纹理值,直到得到所有像素点的图像纹理值。
需要说明的是,本实施例的图像优选为8位灰度图,且对于一幅大小为m×n的8位灰度图像,设第(i,j)个像素为p(i,j),其中p(i,j)∈{0,1,…,255},i∈{1,2,…,m},j∈{1,2,…,n}。其图像纹理值的计算公式如公式(1)所示:
b(i,j)=∑∑ρ(u,v)(1)
其中,ρ(u,v)是p(u,v)经计算的待计算像素点的失真代价值,图像纹理值b(i,j)则是p(u,v)的s×s邻域失真代价值的总和。u∈{i-(s-1)/2,…,i (s-1)/2},v∈{j-(s-1)/2,…,j (s-1)/2}。
更进一步地,本实施例在依据预设失真代价函数计算图像中各像素点的图像纹理值之后,还通过提取的各像素点的像素值计算局部起伏值,其中局部起伏值为表示像素点上像素的起伏程度的数值。具体地,通过各像素点的像素值计算局部起伏值的步骤包括:
步骤s13,提取所述图像中各所述像素点的所述像素值;
步骤s14,根据第一预设算法和第二预设算法分别对各所述像素值进行运算,生成各所述像素点的第一局部起伏值和第二局部起伏值;
进一步地,本实施例各像素点的局部起伏值均包括使用不同方式计算的第一局部起伏值和第二局部起伏值。服务器通过opencv或matlab方式提取图像中所有像素点的像素值,并先根据第一预设算法对各像素值进行运算,以生成各像素点的第一局部起伏值。其中,本实施例中的第一预设算法优选为以预设方式的加一操作。具体地,可按照上述各像素点的排列顺序,针对像素点的像素值均基于第一预设算法逐一计算各像素点的第一局部起伏值,直到所有像素点均基于第一预设算法生成第一局部起伏值。需要说明的是,基于像素点的像素值进行第一局部起伏值的计算计算的第一预设算法的计算公式如公式(2)-(6)所示:
其中f (i,j)为对p(i,j)进行第一预设算法后位置(i,j)处的第一局部起伏值。此外,p (i,j)=p(i,j) 1,r→(i,j)=p(i,j)-p(i,j 1),r←(i,j)=p(i,j)-p(i,j-1),r↓(i,j)=p(i,j)-p(i 1,j),r↑(i,j)=p(i,j)-p(i-1,j)。θ∈{→,↓,←,↑},
进一步地,服务器根据第二预设算法对各像素值进行运算,以生成各像素点的第二局部起伏值。其中,本实施例中的第二预设算法优选为预设方式的减一操作。具体地,可按照上述各像素点的排列顺序,针对各像素点的像素值均基于第二预设算法逐一计算各像素点的第二局部起伏值,直到所有像素点均基于第二预设算法生成了第二局部起伏值。需要说明的是,基于像素点的像素值进行第二局部起伏值计算的第二预设算法的计算公式如公式(7)-(11)所示:
r-→(i,j)=p-(i,j)-p(i,j 1),r-←(i,j)=p-(i,j)-p(i,j-1)(7)
r-↓(i,j)=p-(i,j)-p(i 1,j),r-↑(i,j)=p-(i,j)-p(i-1,j)(8)
f-(i,j)=|∑r-θ(i,j)| σ|r-θ(i,j)| |∑r-ξ(i,j)| ∑|r-ξ(i,j)|(11)
其中f-(i,j)为对p(i,j)进行第二预设算法后位置(i,j)处的第二局部起伏值。此外,p-(i,j)=p(i,j)-1,r→(i,j)=p(i,j)-p(i,j 1),r←(i,j)=p(i,j)-p(i,j-1),r↓(i,j)=p(i,j)-p(i 1,j),r↑(i,j)=p(i,j)-p(i-1,j)。θ∈{→,↓,←,↑},
步骤s20,根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
进一步地,先按照各像素点的排列顺序,判断每一个像素点基于第一预设算法计算的第一局部起伏值与基于第二预设算法计算的第二局部起伏值的大小关系,再对各像素点的图像纹理值进行运算得出的中间参数。进而依据该大小关系和中间参数,调整预设失真代价函数,得到目标失真代价函数。
步骤s30,基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
进一步地,服务器基于上述调整得到的目标失真代价函数,对接收到的图像进行隐写操作。具体地,先选择图像中用于隐写的像素块作为载体数据,再在该载体数据中写入秘密信息,进而通过调整后的目标失真代价函数修改图像中载体数据的信息,如图像纹理复杂程度、像素局部起伏程度等信息,以在将秘密信息嵌入到图像中后难以被检测。
在本实施例中,当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。本发明的图像优化方法,通过经由图像纹理值和局部起伏值调整后的目标失真代价函数对图像进行隐写,使隐写后的含密图像像素的起伏程度与周围像素的起伏程度相似,进而含密图像被隐写分析工具检测出含密的概率降低。因此,本发明提出的图像优化方法使含密图像具有更好的抗检测性,提高了图像隐写的安全性。
进一步地,基于本发明图像优化方法的第一实施例,提出本发明图像优化方法第二实施例,在第二实施例中,所述目标失真代价函数包括第一目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
步骤s21,根据各所述图像纹理值,计算各所述像素点的中间参数,并逐一读取各所述像素点执行步骤s22和步骤s23:
步骤s22,判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行预设运算,以调整所述预设失真代价函数,得到所述第一目标失真代价函数;
步骤s23,若当前读取的所述像素点的所述第一局部起伏值小于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第一目标失真代价函数。
进一步地,在对预设失真代价函数调整过程中,先依据各像素点的图像纹理值,来计算各像素点的中间参数,该中间参数为用于对预设失真代价函数调整的参数。具体地,对各像素点的图像纹理值进行运算得出中间参数的计算公式如(12)所示:
其中,w(i,j)为与b(i,j)成正比的中间参数,βmax与βmin分别为所有b(i,j)的最大值与最小值。公式(12)中将b(i,j)的取值范围优选限定在关于零对称的-α/2到α/2区间,且参数α的取值为得到最佳效果优选为0.05。
更进一步地,按照各像素点的排列顺序逐一读取各像素点,并判断当前读取的像素点的第一局部起伏值和第二局部起伏值之间的大小关系,以依据大小关系来对预设失真代价函数进行调整,得到第一目标失真代价函数。具体地,若经判定当前读取的像素点的第一局部起伏值大于第二局部起伏值,则调用预先设定的预设运算方式,对当前读取的像素点的中间参数进行预设运算,以通过预设运算来调整预设失真代价函数,得到第一目标失真代价函数,表征当前读取的像素点经调整后的第一失真代价值。若当前读取的像素点的第一局部起伏值小于或等于第二局部起伏值,则将预设失真代价函数确定为第一目标失真代价函数,得到当前读取的像素点的第一失真代价值。在依据当前读取的像素点的第一局部起伏值和第二局部起伏值的大小关系,对预设失真代价函数在当前读取的像素点上的第一失真代价值调整后,按照各像素点的排列顺序继续读取下一个像素点作为新的当前读取的像素点,并依据其第一局部起伏值和第二局部起伏值之间的大小关系,对预设失真代价函数在该当前读取的新的像素点上的第一失真代价值进行调整,直到排列顺序中各像素点均经读取,并对预设失真代价函数调整,得到第一目标失真代价函数。
进一步地,将预设失真代价函数调整为第一目标失真代价函数的预设运算,以及将预设失真代价函数确定为第一目标失真代价函数的函数式分别如公式(13)和公式(14)所示:
ρ (i,j)=ρ(i,j)·[1 w(i,j)],f (i,j)>f-(i,j)(13)
ρ (i,j)=ρ(i,j),f (i,j)≤f-(i,j)(14)
其中,其中f (i,j)为对p(i,j)进行第一预设算法后位置(i,j)处的第一局部起伏值,f-(i,j)为对p(i,j)进行第二预设算法后位置(i,j)处的第二局部起伏值,ρ(i,j)为预设失真代价函数,ρ (i,j)为第一目标失真代价函数。
更进一步地,本实施例的目标失真代价函数还包括第二目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
步骤s24,逐一读取各所述像素点执行步骤s25和步骤s26:
步骤s25,判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第二目标失真代价函数;
步骤s26,若当前读取的所述像素点的所述第一局部起伏值小于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行所述预设运算,以调整所述预设失真代价函数,得到所述第二目标失真代价函数。
进一步地,按照各像素点的排列顺序逐一读取各像素点,并判断当前读取的像素点的第一局部起伏值和第二局部起伏值之间的大小关系,以依据大小关系来对预设失真代价函数进行调整,得到第一目标失真代价函数。具体地,若经判定当前读取的像素点的第一局部起伏值大于或等于第二局部起伏值,则将预设失真代价函数确定为第二目标失真代价函数,得到当前读取的像素点的第二失真代价值。若经判定当前读取的像素点的第一局部起伏值小于第二局部起伏值,则通过预设运行方式对当前读取的像素点的中间参数进行预设运算,以依据预设运算来调整预设失真代价函数,得到第二目标失真代价函数,表征当前读取的像素点经调整后的第二失真代价值。在依据当前读取的像素点的第一局部起伏值和第二局部起伏值的大小关系,对预设失真代价函数在当前读取的像素点上的第二失真代价值调整后,按照各像素点的排列顺序继续读取下一个像素点作为新的当前读取的像素点,并依据其第一局部起伏值和第二局部起伏值之间的大小关系,对预设失真代价函数在该当前读取的新的像素点上的第二失真代价值进行调整,直到排列顺序中各像素点均经读取,并对预设失真代价函数调整,得到第二目标失真代价函数。
进一步地,将预设失真代价函数调整为第二目标失真代价函数的预设运算,以及将预设失真代价函数确定为第二目标失真代价函数的函数式分别如公式(15)和公式(16)所示:
ρ-(i,j)=ρ(i,j)·[1 w(i,j)],f (i,j)<f-(i,j)(15)
ρ-(i,j)=ρ(i,j),f (i,j)≥f-(i,j)(16)
其中,其中f (i,j)为对p(i,j)进行第一预设算法后位置(i,j)处的第一局部起伏值,f-(i,j)为对p(i,j)进行第二预设算法后位置(i,j)处的第二局部起伏值,ρ(i,j)为预设失真代价函数,ρ-(i,j)为第二目标失真代价函数。
本实施例通过判断各像素点的第一局部起伏值和第二局部起伏值之间的大小关系,并结合各像素点的中间参数进行预设运算,调整预设失真代价函数,得到目标失真代价函数。相较于对同一像素的加一与减一操作分配相同失真代价的失真代价函数,经调整的目标失真代价函数对图像隐写后,含密图像像素的起伏程度与周围像素的起伏程度相似,具有更好的抗检测性,隐写的安全性高。
进一步的,基于本发明图像优化方法第一实施例或第二实施例,提出本发明图像优化方法的第三实施例,在第三实施例中,当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
步骤s15,检测接收到的所述图像的性质,若所述图像的性质为未压缩图像,则对所述图像进行转换,生成具有灰度属性的所述图像,并根据所述预设失真代价函数计算所述图像中各所述像素点的所述图像纹理值;
本实施例通过服务器检测接收到的图像的性质,其中图像的性质至少包括压缩属性与颜色属性两方面。具体地,参照图3,先判断图像的压缩属性是否为未压缩图像,若图像的压缩属性为未压缩图像,则判断图像的颜色属性。若图像的压缩属性为压缩图像,则结束对该图像的处理流程。在图像颜色属性判断的过程中,检测图像的颜色属性是否为灰度属性,若图像的颜色属性为灰度属性,则直接根据预设失真代价函数计算图像中各像素点的图像纹理值。若图像的颜色属性为非灰度属性,则对图像的颜色属性进行转换,生成具有灰度属性的图像,并根据预设失真代价函数计算图像中各像素点的图像纹理值。
需要说明的是,本实施例也可以不对图像的颜色属性进行判断,在经判定图像的压缩属性为未压缩图像后,均进行图像转换的处理流程。若图像的颜色属性本身为灰度属性,则经转换处理流程后仍然为灰度属性的图像;若图像的颜色属性为非灰度属性,则经转换处理流程后得到灰度属性的图像。
本实施例通过图像的检测与判断,以免出现对本图像优化方案所不支持的图像进行处理,而得不到优化结果的情况,减少对不必要时间的浪费,提高工作效率。
进一步地,本发明还提供一种图像优化装置。
参照图4,图4为本发明图像优化装置第一实施例的功能模块示意图。
所述图像优化装置包括:
计算模块10,用于当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
调整模块20,用于根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
隐写模块30,用于基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
进一步地,所述计算模块10包括:
第一提取单元,用于提取所述图像中所有的所述像素点;
计算单元,用于根据所述预设失真代价函数逐一计算各所述像素点的所述图像纹理值。
进一步地,所述计算单元还用于:
确定与各所述像素点对应的邻域范围,并逐一针对各所述像素点执行以下步骤:
确定与所述像素点对应的所述邻域范围内的待计算像素点,并计算各所述待计算像素点的失真代价值;
将各所述失真代价值进行加和,生成所述像素点的所述图像纹理值,直到各所述像素点均生成所述图像纹理值。
进一步地,所述计算模块10还包括:
第二提取单元,用于提取所述图像中各所述像素点的所述像素值;
运算单元,用于根据第一预设算法和第二预设算法分别对各所述像素值进行运算,生成各所述像素点的第一局部起伏值和第二局部起伏值。
进一步地,所述目标失真代价函数包括第一目标失真代价函数,所述调整模块20还包括:
第一读取单元,用于根据各所述图像纹理值,计算各所述像素点的中间参数,并逐一读取各所述像素点执行以下步骤:
第一判断单元,用于判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行预设运算,以调整所述预设失真代价函数,得到所述第一目标失真代价函数;
确定单元,用于若当前读取的所述像素点的所述第一局部起伏值小于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第一目标失真代价函数。
进一步地,所述目标失真代价函数还包括第二目标失真代价函数,所述调整模块20还包括:
第二读取单元,用于逐一读取各所述像素点执行以下步骤:
第二判断单元,用于判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第二目标失真代价函数;
调整单元,用于若当前读取的所述像素点的所述第一局部起伏值小于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行所述预设运算,以调整所述预设失真代价函数,得到所述第二目标失真代价函数。
进一步地,所述计算模块10还包括:
检测单元,用于检测接收到的所述图像的性质,若所述图像的性质为未压缩图像,则对所述图像进行转换,生成具有灰度属性的所述图像,并根据所述预设失真代价函数计算所述图像中各所述像素点的所述图像纹理值。
本发明风险事件发生概率的预测装置具体实施方式与上述风险事件发生概率的预测方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种存储介质,所述存储介质优选为计算机可读存储介质,其上存储有图像优化程序,所述图像优化程序被处理器执行时实现上述图像优化方法各实施例的步骤。
在本发明图像优化装置和存储介质的实施例中,包含了上述图像优化方法各实施例的全部技术特征,说明和解释内容与上述图像优化方法各实施例基本相同,在此不做累述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
1.一种图像优化方法,其特征在于,所述图像优化方法包括以下步骤:
当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
2.如权利要求1所述的图像优化方法,其特征在于,所述根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
提取所述图像中所有的所述像素点;
根据所述预设失真代价函数逐一计算各所述像素点的所述图像纹理值。
3.如权利要求2所述的图像优化方法,其特征在于,所述根据预设失真代价函数逐一计算各所述像素点的所述图像纹理值的步骤包括:
确定与各所述像素点对应的邻域范围,并逐一针对各所述像素点执行以下步骤:
确定与所述像素点对应的所述邻域范围内的待计算像素点,并计算各所述待计算像素点的失真代价值;
将各所述失真代价值进行加和,生成所述像素点的所述图像纹理值,直到各所述像素点均生成所述图像纹理值。
4.如权利要求1所述的图像优化方法,其特征在于,所述通过各所述像素点的像素值计算局部起伏值的步骤包括:
提取所述图像中各所述像素点的所述像素值;
根据第一预设算法和第二预设算法分别对各所述像素值进行运算,生成各所述像素点的第一局部起伏值和第二局部起伏值。
5.如权利要求4所述的图像优化方法,其特征在于,所述目标失真代价函数包括第一目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
根据各所述图像纹理值,计算各所述像素点的中间参数,并逐一读取各所述像素点执行以下步骤:
判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行预设运算,以调整所述预设失真代价函数,得到所述第一目标失真代价函数;
若当前读取的所述像素点的所述第一局部起伏值小于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第一目标失真代价函数。
6.权利要求5所述的图像优化方法,其特征在于,所述目标失真代价函数还包括第二目标失真代价函数,所述根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数的步骤包括:
逐一读取各所述像素点执行以下步骤:
判断当前读取的所述像素点的所述第一局部起伏值和所述第二局部起伏值之间的大小关系,若当前读取的所述像素点的所述第一局部起伏值大于或等于所述第二局部起伏值,则将所述预设失真代价函数确定为所述第二目标失真代价函数;
若当前读取的所述像素点的所述第一局部起伏值小于所述第二局部起伏值,则基于当前读取的所述像素点的所述中间参数进行所述预设运算,以调整所述预设失真代价函数,得到所述第二目标失真代价函数。
7.如权利要求1-6任一项所述的图像优化方法,其特征在于,所述当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值的步骤包括:
检测接收到的所述图像的性质,若所述图像的性质为未压缩图像,则对所述图像进行转换,生成具有灰度属性的所述图像,并根据所述预设失真代价函数计算所述图像中各所述像素点的所述图像纹理值。
8.一种图像优化装置,其特征在于,所述图像优化装置包括:
计算模块,用于当接收到图像时,根据预设失真代价函数计算所述图像中各像素点的图像纹理值,并通过各所述像素点的像素值计算局部起伏值;
调整模块,用于根据各所述图像纹理值与各所述局部起伏值,调整所述预设失真代价函数,得到目标失真代价函数;
隐写模块,用于基于所述目标失真代价函数对所述图像进行隐写,完成所述图像的优化。
9.一种图像优化设备,其特征在于,所述图像优化设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的图像优化程序,所述图像优化程序被所述处理器执行时实现如权利要求1-7中任一项所述的图像优化方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有图像优化程序,所述图像优化程序被处理器执行时实现如权利要求1-7中任一项所述的图像优化方法的步骤。
技术总结