主权项 |
一种基于保角变换的图像哈希方法,其特征在于,按照以下步骤实施: 步骤1、提取特征 输入大小为N<sub>o1</sub>×N<sub>o2</sub>的图像I<sub>0</sub>,先将图像I<sub>0</sub>转换成灰度图像,然后对该灰度图像进行保角变换得到直径为N<sub>o</sub>的圆形图像<img file="dest_path_FDA0000541342680000011.GIF" wi="79" he="82" />用一级DB2小波变换处理<img file="dest_path_FDA0000541342680000012.GIF" wi="77" he="76" />得到小波低频重构图,称为W<sub>0</sub>;将W<sub>0</sub>划分成半径为<img file="dest_path_FDA0000541342680000013.GIF" wi="166" he="129" />的圆形区域,简称为子圆,G是预先设定的,设相邻两个子圆的圆心相对于图像中心的圆心角为α,每一个子圆用B<sub>ok</sub>表示,其中k=1,...,M,M由r<sub>o</sub>和α决定,令B<sub>ok</sub>(x,y)代表子圆B<sub>ok</sub>中空间位置(x,y)的灰度值,用N<sub>ok</sub>表示子圆B<sub>ok</sub>包含的像素点数量,计算每一个子圆B<sub>ok</sub>的灰度均值:<img file="dest_path_FDA0000541342680000014.GIF" wi="387" he="164" />用Canny算子对每一个B<sub>ok</sub>提取边缘,设E<sub>ok</sub>表示边缘图像,令E<sub>ok</sub>(x,y)表示E<sub>ok</sub>中空间位置在(x,y)的灰度值值,计算边缘点在E<sub>ok</sub>中所占的比例: <img file="dest_path_FDA0000541342680000015.GIF" wi="389" he="159" />步骤2、生成中间Hash 令C<sub>o</sub>=(μ<sub>o1</sub>,p<sub>o1</sub>,...,μ<sub>oM</sub>,p<sub>oM</sub>),C<sub>o</sub>中元素的排列顺序是由对应的图像块,逆时针从图像的最外层向里,依次排列,C<sub>0</sub>即为图像I<sub>0</sub>的中间Hash; 步骤3、生成密钥 使用logistic映射产生混沌序列,设K∈(0,1)是由接收方与发送方共享的初始密钥,令L(·)表示映射:<img file="dest_path_FDA0000541342680000016.GIF" wi="301" he="85" />令k<sub>1</sub>=K,<img file="dest_path_FDA0000541342680000017.GIF" wi="798" he="79" />令k=(k<sub>1</sub>,k<sub>2</sub>,...,k<sub>2M</sub>),k的长度为l=2M; 步骤4、加密 令<img file="dest_path_FDA0000541342680000021.GIF" wi="1472" he="91" /><img file="dest_path_FDA0000541342680000022.GIF" wi="71" he="82" />即为图像I<sub>0</sub>经过加密的Hash值;步骤5、压缩数据 对<img file="dest_path_FDA0000541342680000023.GIF" wi="67" he="83" />进行Huffman编码,生成Haffman树HT<sub>o</sub>,<img file="dest_path_FDA0000541342680000024.GIF" wi="77" he="85" />中的每一个元素用其在Haffman树所对应的Haffman编码来取代,生成最终图像哈希H<sub>o</sub>。 |