主权项 |
1.一种GIS矢量数据图像水印的相似度计算方法,包括以下过程:(1)水印位置校正的过程:步骤一:原始水印W长为L<sub>W</sub>,通过嵌入算法将水印W嵌入载体数据D中,对D进行攻击获得含水印的数据D′,从D′中提取出水印W′长为L<sub>W′</sub>,记Loc=0;步骤二:通过公式(1.1)计算两水印W和W′的长度差d;初始化要校正的水印序列W″,长度为L<sub>W</sub>,W″(i)=′*′,其中′*′表示的是被修改的位置,i=0,1,2,…,L<sub>W</sub>-1;d=|L<sub>W</sub>-L<sub>W′</sub>|(1.1)步骤三:(a)当原始水印长度大于或等于提取的水印长度时,即L<sub>W</sub>≥L<sub>W′</sub>时:i)从提取的水印W′中读取字符W′(i),i=0,1,2,…,L<sub>W</sub>-1;ii)从原始水印W中,从第Loc位开始取d+1个字符,若Loc+d+1>L<sub>W</sub>时,取L<sub>W</sub>-Loc个字符,记为W(dis);iii)将W′(i)与W(dis)进行匹配,若匹配成功,则记录匹配起始位置Pos,进入步骤iv);若匹配不成功,则i=i+1,Loc=Loc+1,进入步骤v);iv)校正水印序列W″第Loc+Pos-1位为:W″(Loc+Pos-1)=W′(i),i=i+1,Loc=Loc+Pos;v)循环i)至iv)的过程,直至原始水印W或提取的水印W′读取完成,保存校正后的水印序列W″,此时序列W″是将提取的水印序列W′中的图像像素校正到正确位置后的水印,并且其长度与水印W的长度相等;(b)当原始水印长度小于提取水印的长度时,即L<sub>W</sub><L<sub>W′</sub>时:i)从原始的水印W中读取字符W(i),i=0,1,2,…,L<sub>W</sub>-1;ii)从提取的水印W′中从第Loc位开始取d+1个字符,若Loc+d+1>L<sub>W′</sub>时,则取L<sub>W′</sub>-Loc个字符,记为W′(dis);iii)将W(i)与W′(dis)进行匹配,若匹配成功,则记录配起始位置Pos,进入步骤iv);若匹配不成功则i=i+1,Loc=Loc+1,进入步骤v);iv)校正的水印序列W″第i位为:W″(i)=W(i),i=i+1,Loc=Loc+Pos;v)循环步骤i)至iv)的过程,直至原始水印W或提取的水印W′读取完成,保存校正后的水印序列W″,此时序列W″是将提取的水印序列W′中的图像像素校正到正确位置后的水印,并且其长度与水印W的长度相等;(2)相似度计算过程:步骤一:令校正后的水印序列W″为模式串,原始水印W为匹配串,根据公式(2.1)生成距离矩阵M,其中,i=0,1,2,...,L<sub>W</sub>;j=0,1,2,...,L<sub>W</sub>;M<sub>i,0</sub>←i,M<sub>j,0</sub>←0<maths num="0001"><![CDATA[<math><mrow><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>←</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>M</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><mi>if</mi><mrow><mo>(</mo><msup><mi>W</mi><mrow><mo>′</mo><mo>′</mo></mrow></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>W</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mn>1</mn><mo>+</mo><mi>min</mi><mrow><mo>(</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow></msub><mo>,</mo><msub><mi>M</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd><mtd><mi>if</mi><mrow><mo>(</mo><msup><mi>W</mi><mrow><mo>′</mo><mo>′</mo></mrow></msup><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>≠</mo><mi>W</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2.1</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤二:设<img file="FDA00001674832900022.GIF" wi="223" he="57" />K表示从校正后的水印序列W″转换为原始水印W的最少编辑次数,当K=0时,表示序列W″与原始水印W完全相同;步骤三:读取<img file="FDA00001674832900023.GIF" wi="129" he="57" />判断K与<img file="FDA00001674832900024.GIF" wi="110" he="57" />的大小,当<img file="FDA00001674832900025.GIF" wi="181" he="57" />时,<img file="FDA00001674832900026.GIF" wi="205" he="57" />j=j+1;步骤四:当j≤L<sub>W</sub>时,循环步骤三,否则进入步骤五;步骤五:计算原始水印W与还原后的水印序列W″的相似度Sim=(1-α)*100%,其中,比值α=K/L<sub>W</sub>表示错误水平,通过它可以对模式串W″容忍错误的能力进行度量。 |