CN110390620B - 一种基于曲线傅里叶变换的等高线地图数据盲水印方法 - Google Patents

一种基于曲线傅里叶变换的等高线地图数据盲水印方法 Download PDF

Info

Publication number
CN110390620B
CN110390620B CN201910629302.8A CN201910629302A CN110390620B CN 110390620 B CN110390620 B CN 110390620B CN 201910629302 A CN201910629302 A CN 201910629302A CN 110390620 B CN110390620 B CN 110390620B
Authority
CN
China
Prior art keywords
curve
sequence
fourier transform
vertex
coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910629302.8A
Other languages
English (en)
Other versions
CN110390620A (zh
Inventor
章志勇
金剑秋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN201910629302.8A priority Critical patent/CN110390620B/zh
Publication of CN110390620A publication Critical patent/CN110390620A/zh
Application granted granted Critical
Publication of CN110390620B publication Critical patent/CN110390620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Abstract

本发明公开了一种基于曲线傅里叶变换的等高线地图数据盲水印方法。传统水印算法还很难直接应用在等高线地图数据上。本发明方法包括水印信息嵌入和水印信息提取。水印信息嵌入是把用户选择的水印信息嵌入到原始等高线地图中得到一个新的等高线地图,具体包括调制水印信息、对等高线地图数据进行处理和嵌入水印信息。水印信息提取是从待检测的等高线地图中提取水印信息内容,具体包括对待检测的等高线地图数据进行处理、提取水印信息。本发明具有较好的鲁棒性,并且是一种盲检方法,具有较好的实用价值。

Description

一种基于曲线傅里叶变换的等高线地图数据盲水印方法
技术领域
本发明属于多媒体信息安全技术领域,涉及一种针对地理空间数据中等高线地图数据的盲水印方法。
背景技术
数字水印技术是将代表著作权人身份的特定信息,按照某种方式嵌入被保护的信息中,在产生版权纠纷时,通过相应的算法提取出该数字水印,从而验证版权的归属,确保著作权人的合法利益,避免非法盗版的威胁。被保护的信息可以是任何一种数字媒体,如图像、声音、视频或一般性的电子文档等。数字水印技术运用于数据版权保护和数据真伪检测应用中,是一种可在开放的网络环境下实现信息隐藏与跟踪的新型技术。
等高线地图数据水印算法不同于传统的基于图像水印算法,这主要是由于等高线数据不具有图像数据应用的普遍性等原因,同时还在于等高线地图数据在数据结构、存储形式、表现方式、应用环境、使用要求以及可能的攻击行为等方面与图像等多媒体数据都不一样,一般的数字水印算法还很难直接应用在等高线地图数据上,这使得目前针对等高线地图的数字水印技术应用还非常匮乏。
由于等高线地图是地理空间数据的一个重要组成部分,它是描述关于人类赖以生存的地球的重要信息,是国家基础性、公益性设施,是国家基础设施建设和地球科学研究的支撑性成果,是国家经济、国防建设中不可缺少的资源,对社会持续发展起着重要作用,因此对于等高线地图数据的水印技术也具有非常好的使用前景。由此可见,数字水印技术在等高线地图数据上的应用具有更加潜在的用途,而且具有非常好的经济社会效益。
发明内容
本发明针对现有技术的不足,提供了一种基于曲线傅里叶变换的等高线地图数据盲水印方法。
本发明方法的包括水印信息嵌入和水印信息提取。
所述的水印信息嵌入是把用户选择的水印信息嵌入到原始等高线地图中得到一个新的等高线地图,输入为一个等高线地图M和一个包含11个0~9之间整数的序列w,输出为包含水印信息的等高线地图M′,具体步骤为:
步骤(1):曲线傅里叶变换计算
设有一顶点序列D1,D2,...,Di,其对应的坐标序列为(x1,y1),(x2,y2),...,(xi,yi),对于顶点序列D1,D2,...,Di,使用曲线傅里叶变换计算得到一组曲线傅里叶变换系数an,bn,cn和dn
步骤(2):调制水印信息
嵌入的水印信息是一个包含11个整数的序列,每个整数取值在1到9之间,记这个整数序列为w=(w1,w2,...,wm,...,w11)。
画一圆R,其半径为1,在圆R中分别画角度为0度、30度、60度,90度、120度,150度,180度、210度、240度,270度、300度、330度的半径线,这12条半径线与R的交点分别记为A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及A11。其中,A0是0度半径线与R的交点,A1是30度半径线与的R的交点,A3是60度半径线与R的交点,其他以此类推。
把Ak交点在圆R上的坐标分别记为(xk,yk),k=0,1,,...,11那么有:
xk=cos(k×π/6),yk=sin(k×π/6)
将w=(w1,w2,...,wm,...,w11)的11个整数值按从前到后的顺序,分别与A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11一一对应,然后把A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11的横坐标和纵坐标分别除以w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11的整数值。
计算A0和点A1之间线段长度h0;计算A1和点A2之间线段长度h1,计算A2和A3之间的线段长度h2、A3和A4之间的线段长度h3、A4和A5之间的线段长度h4、A5和A6之间的线段长度h5、A6和A7之间的线段长度h6、A7和A8之间的线段长度h7、A8和A9之间的线段长度h8、A9和A10之间的线段长度h9、A10和A11之间的线段长度h10及A11和A0之间的线段长度h11
对A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及A11使用曲线傅里叶变换得到一组曲线傅里叶变换系数,得到系数Wan、Wbn、Wcn和Wdn。这样,根据水印信息w=(w1,w2,...,wm,...,w11),利用曲线傅里叶变换得到一组曲线傅里叶变换系数Wan,Wbn,Wcn,Wdn,n=1,2,...,199,200。
步骤(3):嵌入水印信息
步骤(a):
对等高线地图的所有闭合曲线分别计算其周长,对所有闭合曲线按周长进行排序,周长越大,排序越靠前。
对等高线地图的所有闭合曲线排好序后,在排好序的闭合曲线中选择最靠前的五条闭合曲线作为嵌入数字水印的对象。将排序第一的闭合曲线记为L1,排序第二的闭合曲线记为L2,排序第三,四,五的闭合曲线分别记为L3,L4和L5
将L1的周长记为TL1,L2的周长记为TL2,L3的周长记为TL3,L4的周长记为TL4,L5的周长记为TL5
步骤(b):
对L1,从0度水平开始按逆时针顺序扫描闭合曲线所记录包含的顶点,获得一个顶点序列。对于该顶点序列,使用曲线傅里叶变换得到一组曲线傅里叶变换系数,分别记为L1an、L1bn、L1cn和L1dn,其中n=1,2,...,999,1000。
在使用曲线傅里叶变换计算L1顶点序列的曲线傅里叶系数时,同时保存所有的tj,也就是保存L1第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的计算方法,对于L2计算得到一组曲线傅里叶变换系数L2an,L2bn,L2cn,L2dn,n=1,2,...,999,1000和L2第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的方法,对于L3计算得到一组曲线傅里叶变换系数L3an,L3bn,L3cn,L3dn,n=1,2,...,999,1000和L3第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的方法,对于L4计算得到一组曲线傅里叶变换系数L4an,L4bn,L4cn,L4dn,n=1,2,...,999,1000和L4第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的方法,对于L5计算得到一组曲线傅里叶变换系数L5an,L5bn,L5cn,L5dn,n=1,2,...,999,1000和L5第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
步骤(c):
计算
Figure BDA0002128218470000041
将Wan,Wbn,Wcn,Wdn,n=1,2,...,50的这些系数都分别乘以
Figure BDA0002128218470000042
计算
Figure BDA0002128218470000043
将Wan,Wbn,Wcn,Wdn,n=51,52,...,100的这些系数都分别乘以
Figure BDA0002128218470000044
计算
Figure BDA0002128218470000045
将Wan,Wbn,Wcn,Wdn,n=101,102,...,150的这些系数都分别乘以
Figure BDA0002128218470000046
计算
Figure BDA0002128218470000047
将Wan,Wbn,Wcn,Wdn,n=151,152,...,200的这些系数都分别乘以
Figure BDA0002128218470000048
计算
Figure BDA0002128218470000049
将h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11都分别乘以
Figure BDA00021282184700000410
其中[·]表示取整运算。
步骤(d):
将Wan,n=1,2,...,50这些系数按n的顺序放在L1a1000系数后面,得到L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50序列。将Wan,n=51,52,...,100这些系数按n的顺序放在L2a1000系数后面;将Wan,n=101,102,...,150这些系数按n的顺序放在L3a1000系数后面;将Wan,n=151,152,...,200这些系数按n的顺序放在L4a1000系数后面。
将Wbn,n=1,2,...,50这些系数按n的顺序放在L1b1000系数后面,得到L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50序列;将Wbn,n=51,52,...,100这些系数按n的顺序放在L2b1000系数后面;将Wbn,n=101,102,...,150这些系数按n的顺序放在L3b1000系数后面;将Wbn,n=151,152,...,200这些系数按n的顺序放在L4b1000系数后面。
同样,使用上述Wan和Wbn分片放置的方式,将Wcn的系数分片按顺序放到L1c1000,L2c1000,L3c1000,L4c1000的后面。将Wdn的系数分片按顺序放到L1d1000,L2d1000,L3d1000,L4d1000的后面。
将h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11按顺序分别放在L5a1000,L5b1000,L5c1000和L5d1000的后面,分别得到L5a1,L5a2,...,L5a1000,h0,h1,...,h10,h11序列;L5b1,L5b2,...,L5b1000,h0,h1,...,h10,h11序列;L5c1,L5c2,...,L5c1000,h0,h1,...,h10,h11序列;L5d1,L5d2,...,L5d49,L5d1000,h0,h1,...,h10,h11序列。
步骤(e):
对于L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50;L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50;L1c1,L1c2,...,L1c50,Wc1,Wc2,...,Wc1000;L1d1,L1d2,...,L1d1000,Wd1,Wd2,...,Wd50,采用逆曲线傅里叶变换得到顶点坐标。
由顶点坐标得到一个顶点序列(x(n),y(n)),n=0,1,2,...,N-1。将这个顶点序列依次用线段连接得到一个闭合曲线WL1。把这个闭合曲线WL1替代L1保存到等高线地图中。
对于L2a1,L2a2,...,L2a1000,Wa51,Wa52,...,Wa100;L2b1,L2b2,...,L2b1000,Wb51,Wb52,...,Wb100;L2c1,L2c2,...,L2c1000,Wc51,Wc52,...,Wc100;L2d1,L2d2,...,L2d1000,Wd50,Wd51,...,Wd100,采用与WL1同样的方法,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接得到WL2,将WL2替代L2保存到等高线地图中。
对于L3a1,L3a2,...,L3a1000,Wa101,Wa102,...,Wa150;L3b1,L3b2,...,L3b1000,Wb101,Wb102,...,Wb150;L3c1,L3c2,...,L3c1000,Wc101,Wc102,...,Wc150;L3d1,L3d2,...,L3d1000,Wd101,Wd102,...,Wd150,采用与WL1同样的方法,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接得到WL3,将WL3替代L3保存到等高线地图中。
对于L4a1,L4a2,...,L4a1000,Wa151,Wa152,...,Wa200;L4b1,L4b2,...,L4b50,Wb151,Wb152,...,Wb200;L4c1,L4c2,...,L4c1000,Wc151,Wc152,...,Wc200;L4d1,L4d2,...,L4d1000,Wd151,Wd152,...,Wd200,采用与WL1同样的方法,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接得到WL4,将WL4替代L4保存到等高线地图中。
对于,L5a1,L5a2,...,L5a1000,h0,h1,...,h10,h11;L5b1,L5b2,...,L5b1000,h0,h1,...,h10,h11;L5c1,L5c2,...,L5c1000,h0,h1,...,h10,h11;L5d1,L5d2,...,L5d1000,h0,h1,...,h10,h11,采用与WL1同样的方法,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接可以得到WL5,将WL5替代L5保存到等高线地图中。
这样,经过步骤(a)至步骤(e),将水印信息w=(w1,w2,...,wm,...,w11)嵌入到了等高线地图中。
所述的水印信息的提取是从待检测的等高线地图M′中提取水印信息w的内容,输入为包含水印信息的等高线地图M′,输出为等高线地图里包含的水印信息w,具体包括以下步骤:
步骤(1):
对等高线地图的所有闭合曲线分别计算其周长,对所有闭合曲线按周长进行排序,周长越大,排序越靠前。
对等高线地图的所有闭合曲线排好序后,在排好序的闭合曲线中选择最靠前的五条闭合曲线作为潜入数字水印的对象。将排序第一的闭合曲线记为L1,排序第二的闭合曲线记为L2,排序第三,四,五的闭合曲线分别记为L3,L4和L5。将L1的周长记为TL1,L2的周长记为TL2,L3的周长记为TL3,L4的周长记为TL4,L5的周长记为TL5
步骤(2):
步骤(a):
对L1,从0度水平开始按逆时针顺序扫描闭合曲线所记录包含的顶点,获得一个顶点序列。对于该顶点序列,使用曲线傅里叶变换得到一组曲线傅里叶变换系数,记为L1an、L1bn、L1cn和L1dn,n=1,2,...,1050。
把L1a1001赋值给Wa1,把L1a1002赋值给Wa2,以此类推,这样得到Wa1,Wa2,...,Wa50。把L1b1001赋值给Wb1,把L1b1002赋值给Wb2,以此类推,这样得到Wb1,Wb2,...,Wb50。用同样的方法,利用L1cn和L1dn分别得到Wc1,Wc2,...,Wc50和Wd1,Wd2,...,Wd50
步骤(b):
按如上所述步骤(a)的方法,对于L2计算得到Wan,Wbn,Wcn,Wdn,n=51,52,...,100;对于L3计算得到Wan,Wbn,Wcn,Wdn,n=101,102,...,150;对于L4计算得到Wan,Wbn,Wcn,Wdn,n=151,152,...,200。
步骤(c):
对于L5,采用步骤(a)L1的方法得到顶点序列,然后对于该顶点序列,使用曲线傅里叶变换公式计算得到一组曲线傅里叶变换系数,n=1,2,...,1012。最后把L1a1001赋值给h0,把L1a1002赋值给h1,以此类推,这样得到h0,h1,...,h10,h11
步骤(d):
计算
Figure BDA0002128218470000071
将Wan,Wbn,Wcn,Wdn,n=1,2,...,50的这些系数都分别除以
Figure BDA0002128218470000072
计算
Figure BDA0002128218470000073
将Wan,Wbn,Wcn,Wdn,n=51,52,...,100,这些系数都分别除以
Figure BDA0002128218470000074
计算
Figure BDA0002128218470000075
将Wan,Wbn,Wcn,Wdn,n=101,102,...,150,这些系数都分别除以
Figure BDA0002128218470000076
计算
Figure BDA0002128218470000077
将Wan,Wbn,Wcn,Wdn,n=151,152,...,200,这些系数都分别除以
Figure BDA0002128218470000078
计算
Figure BDA0002128218470000079
将h0,h1,...,h10,h11这些系数都分别除以
Figure BDA00021282184700000710
步骤(3):
按如下公式计算顶点坐标:
Figure BDA00021282184700000711
Figure BDA00021282184700000712
其中,n=0,1,2,...,11。
Figure BDA0002128218470000081
计算
Figure BDA0002128218470000082
n=1,2,...,11,得到一个实数序列。对实数序列L(n),n=1,2,...,11的每个实数分别进行四舍五入计算,然后得到一个Z(n)整数序列。这个整数序列就是提取出来的数字水印信息。
本发明的有益效果:本发明方法具有较好的鲁棒性,并且是一种盲检方法,具有较好的实用价值。
具体实施方式
一种基于曲线傅里叶变换的等高线地图数据盲水印方法,该方法包括水印信息嵌入和水印信息提取两部分。
(一)、所述的水印信息嵌入是把用户选择的水印信息嵌入到原始等高线地图中得到一个新的等高线地图,输入为一个等高线地图M和一个包含11个0~9之间整数的序列w,输出为包含水印信息的等高线地图M′,具体步骤包括:
步骤(1):曲线傅里叶变换计算
设有一顶点序列D1,D2,...,Di,其对应的坐标序列为(x1,y1),(x2,y2),...,(xi,yi),即D1对应了(x1,y1),D2对应了(x2,y2),后面以此类推。
对于顶点序列D1,D2,...,Di,使用公式(1)到公式(4)所示的曲线傅里叶变换计算得到一组曲线傅里叶变换系数an,bn,cn,dn
Figure BDA0002128218470000083
Figure BDA0002128218470000084
Figure BDA0002128218470000085
Figure BDA0002128218470000086
其中,Δxj=xj-xj-1,Δyj=yj-yj-1
Figure BDA0002128218470000087
T=ti
Figure BDA0002128218470000091
n=1,2,3...。实际上,tj是第一个顶点沿着曲线到其他每个顶点的曲线长度。
步骤(2):调制水印信息
嵌入的水印信息w是一个包含11个整数的整数序列,每个整数取值在1到9之间,记这个整数序列为w=(w1,w2,...,wm,...,w11)。
画一圆R,其半径为1,在圆R中分别画角度为0度、30度、60度,90度、120度,150度,180度、210度、240度,270度、300度、330度的半径线,这12条半径线与R的交点分别记为A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及A11。其中,A0是0度半径线与R的交点,A1是30度半径线与的R的交点,A3是60度半径线与R的交点,其他以此类推。
把Ak交点在圆R上的坐标分别记为(xk,yk),k=0,1,,...,11那么有:
xk=cos(k×π/6),yk=sin(k×π/6),k=0,1,...,11。
将w=(w1,w2,...,wm,...,w11)的11个整数值按从前到后的顺序,分别与A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11一一对应,然后把A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11的横坐标和纵坐标分别除以和w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11的整数值。例如A1对应了w1,那么A1的坐标调整为x1=cos(1×π/6)/w1,y1=sin(1×π/6)/w1。A2对应了w2,那么A2的坐标值就调整为x2=cos(2×π/6)/w2,y2=sin(2×π/6)/w2,其他以此类推。
计算A0和点A1之间线段长度h0,计算方法为
Figure BDA0002128218470000092
Δx1=x1-x0,y1=y1-y0。计算A1和点A2之间线段长度h1,计算方法为
Figure BDA0002128218470000093
Δx2=x2-x1,y2=y2-y1。依次类推,计算A2和A3之间的线段长度h2、A3和A4之间的线段长度h3、A4和A5之间的线段长度h4、A5和A6之间的线段长度h5、A6和A7之间的线段长度h6、A7和A8之间的线段长度h7、A8和A9之间的线段长度h8、A9和A10之间的线段长度h9、A10和A11之间的线段长度h10、及A11和A0之间的线段长度h11
对A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及A11使用公式(1)-公式(4)所示的曲线傅里叶变换公式计算,得到一组曲线傅里叶变换系数,其中n=1,2,...,199,200。这里把公式(1)计算得到的系数记为Wan,把公式(2)计算得到的系数记为Wbn,把公式(3)计算得到的系数记为Wcn,把公式(4)计算得到的系数记为Wdn。这样,根据水印信息w=(w1,w2,...,wm,...,w11),利用曲线傅里叶变换可以得到一组曲线傅里叶变换系数Wan,Wbn,Wcn,Wdn,n=1,2,...,199,200。
步骤(3):对等高线地图M嵌入水印信息
水印信息的嵌入可以分为如下子步骤:
步骤(a)
对等高线地图M的所有闭合曲线分别计算其周长,对所有闭合曲线按周长进行排序,周长越大,排序越靠前。如果有曲线周长相同,那么对周长相等的闭合曲线再按顶点数量进行排序,顶点数量越大,排序越前。
对等高线地图M的所有闭合曲线排好序后,在排好序的闭合曲线中选择最靠前的五条闭合曲线作为嵌入数字水印的对象。这里将排序第一的闭合曲线记为L1,排序第二的闭合曲线记为L2,后面以此类推,排序第三,四,五的闭合曲线分别记为L3,L4和L5
将L1的周长记为TL1,L2的周长记为TL2,L3的周长记为TL3,L4的周长记为TL4,L5的周长记为TL5
步骤(b):
对L1,从0度水平开始按逆时针顺序扫描闭合曲线所记录包含的顶点,可以获得一个顶点序列。对于该顶点序列,使用公式(1)-公式(4)所示的曲线傅里叶变换公式计算得到一组曲线傅里叶变换系数,其中n=1,2,...,999,1000。把公式(1)计算得到的系数记为L1an,把公式(2)计算得到的系数记为L1bn,把公式(3)计算得到的系数记为L1cn,把公式(4)计算得到的系数记为L1dn
在使用曲线傅里叶变换计算L1顶点序列的曲线傅里叶系数时,同时保存所有的tj,也就是保存L1第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的计算方法,对于L2计算得到一组曲线傅里叶变换系数L2an,L2bn,L2cn,L2dn,n=1,2,...,999,1000和L2第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的方法,对于L3计算得到一组曲线傅里叶变换系数L3an,L3bn,L3cn,L3dn,n=1,2,...,999,1000和L3第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的方法,对于L4计算得到一组曲线傅里叶变换系数L4an,L4bn,L4cn,L4dn,n=1,2,...,999,1000和L4第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
采用与如上L1同样的方法,对于L5计算得到一组曲线傅里叶变换系数L5an,L5bn,L5cn,L5dn,n=1,2,...,999,1000和L5第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离。
步骤(c):
计算
Figure BDA0002128218470000111
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=1,2,...,50的这些系数都分别乘以
Figure BDA0002128218470000112
计算
Figure BDA0002128218470000113
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=51,52,...,100的这些系数都分别乘以
Figure BDA0002128218470000114
计算
Figure BDA0002128218470000115
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=101,102,...,150的这些系数都分别乘以
Figure BDA0002128218470000116
计算
Figure BDA0002128218470000117
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=151,152,...,200的这些系数都分别乘以
Figure BDA0002128218470000118
计算
Figure BDA0002128218470000119
其中[·]表示取整运算。将h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11都分别乘以
Figure BDA00021282184700001110
步骤(d):
将Wan,n=1,2,...,50这些系数按n的顺序放在L1a1000系数后面,得到L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50序列。将Wan,n=51,52,...,100这些系数按n的顺序放在L2a1000系数后面;将Wan,n=101,102,...,150这些系数按n的顺序放在L3a1000系数后面;将Wan,n=151,152,...,200这些系数按n的顺序放在L4a1000系数后面;
将Wbn,n=1,2,...,50这些系数按n的顺序放在L1b1000系数后面,得到L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50序列;将Wbn,n=51,52,...,100这些系数按n的顺序放在L2b1000系数后面;将Wbn,n=101,102,...,150这些系数按n的顺序放在L3b1000系数后面;将Wbn,n=151,152,...,200这些系数按n的顺序放在L4b1000系数后面;
同样,使用上述Wan和Wbn分片放置的方法,将Wcn的系数分片按顺序放到L1c1000,L2c1000,L3c1000,L4c1000的后面。将Wdn的系数分片按顺序放到L1d1000,L2d1000,L3d1000,L4d1000的后面。
将h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11按顺序分别放在L5a1000,L5b1000,L5c1000和L5d1000的后面,分别得到L5a1,L5a2,...,L5a1000,h0,h1,...,h10,h11序列;L5b1,L5b2,...,L5b1000,h0,h1,...,h10,h11序列;L5c1,L5c2,...,L5c1000,h0,h1,...,h10,h11序列;L5d1,L5d2,...,L5d49,L5d1000,h0,h1,...,h10,h11序列;
步骤(e):
对于L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50;L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50;L1c1,L1c2,...,L1c50,Wc1,Wc2,...,Wc1000;L1d1,L1d2,...,L1d1000,Wd1,Wd2,...,Wd50,按公式(5)和公式(6)所示的逆曲线傅里叶变换公式计算顶点坐标:
Figure BDA0002128218470000121
Figure BDA0002128218470000122
其中,公式中的ak按k值由小到大的顺序依次对应了L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50。同样,bk对应了L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50;ck对应了L1c1,L1c2,...,L1c50,Wc1,Wc2,...,Wc1000;dk对应了L1d1,L1d2,...,L1d1000,Wd1,Wd2,...,Wd50。K是系数序列的系数个数。n=0,1,2,...,N-1,N是L1曲线的顶点个数。T是TL1,t0等于0,t1是L1的起点沿着曲线到第一个顶点的曲线长度,t2是L1的起点沿着曲线到第二个顶点的曲线长度,后面以此类推,实际上tn在步骤(b)中已经计算得到。
将公式(5)和公式(6)计算得到的x(n)作为横坐标,y(n)作为纵坐标,得到一个顶点序列(x(n),y(n)),n=0,1,2,...,N-1。将这个顶点序列依次用线段连接可以得到一个闭合曲线WL1。把这个闭合曲线WL1替代L1保存到等高线地图M中。
对于L2a1,L2a2,...,L2a1000,Wa51,Wa52,...,Wa100;L2b1,L2b2,...,L2b1000,Wb51,Wb52,...,Wb100;L2c1,L2c2,...,L2c1000,Wc51,Wc52,...,Wc100;L2d1,L2d2,...,L2d1000,Wd50,Wd51,...,Wd100,采用与WL1同样的方法,利用逆曲线傅里叶变换可以得到一个顶点序列,将这个顶点序列依次连接得到WL2,将WL2替代L2保存到等高线地图M中。
对于L3a1,L3a2,...,L3a1000,Wa101,Wa102,...,Wa150;L3b1,L3b2,...,L3b1000,Wb101,Wb102,...,Wb150;L3c1,L3c2,...,L3c1000,Wc101,Wc102,...,Wc150;L3d1,L3d2,...,L3d1000,Wd101,Wd102,...,Wd150,采用与WL1同样的方法,利用逆曲线傅里叶变换可以得到一个顶点序列,将这个顶点序列依次连接得到WL3,将WL3替代L3保存到等高线地图M中。
对于L4a1,L4a2,...,L4a1000,Wa151,Wa152,...,Wa200;L4b1,L4b2,...,L4b50,Wb151,Wb152,...,Wb200;L4c1,L4c2,...,L4c1000,Wc151,Wc152,...,Wc200;L4d1,L4d2,...,L4d1000,Wd151,Wd152,...,Wd200,采用与WL1同样的方法,利用逆曲线傅里叶变换可以得到一个顶点序列,将这个顶点序列依次连接得到WL4,将WL4替代L4保存到等高线地图M中。
对于,L5a1,L5a2,...,L5a1000,h0,h1,...,h10,h11;L5b1,L5b2,...,L5b1000,h0,h1,...,h10,h11;L5c1,L5c2,...,L5c1000,h0,h1,...,h10,h11;L5d1,L5d2,...,L5d1000,h0,h1,...,h10,h11,采用与WL1同样的方法,利用逆曲线傅里叶变换可以得到一个顶点序列,将这个顶点序列依次连接可以得到WL5,将WL5替代L5保存到等高线地图M中。
这样,经过步骤(a)至步骤(e),将水印信息w=(w1,w2,...,wm,...,w11)嵌入到了等高线地图M中,得到包含水印信息的等高线地图M′。
(二)、水印信息的提取是从待检测的等高线地图M′中提取水印信息w的内容,输入为包含水印信息的等高线地图M′,输出为等高线地图里包含的水印信息w,具体包括以下步骤:
步骤(1):
对等高线地图M′的所有闭合曲线分别计算其周长,对所有闭合曲线按周长进行排序,周长越大,排序越靠前。如果有曲线周长相同,那么对周长相等的闭合曲线再按顶点数量进行排序,顶点数量越大,排序越前。
对等高线地图M′的所有闭合曲线排好序后,在排好序的闭合曲线中选择最靠前的五条闭合曲线作为潜入数字水印的对象。这里将排序第一的闭合曲线记为L1,排序第二的闭合曲线记为L2,后面以此类推,排序第三,四,五的闭合曲线分别记为L3,L4和L5。将L1的周长记为TL1,L2的周长记为TL2,L3的周长记为TL3,L4的周长记为TL4,L5的周长记为TL5
步骤(2):
步骤(a):
对L1,从0度水平开始按逆时针顺序扫描闭合曲线所记录包含的顶点,可以获得一个顶点序列。对于该顶点序列,使用公式(1)-公式(4)所示的曲线傅里叶变换公式计算得到一组曲线傅里叶变换系数,n=1,2,...,1050。这里把公式(1)计算得到的系数记为L1an,把公式(2)计算得到的系数记为L1bn,把公式(3)计算得到的系数记为L1cn,把公式(4)计算得到的系数记为L1dn
把L1a1001赋值给Wa1,把L1a1002赋值给Wa2,以此类推,这样得到Wa1,Wa2,...,Wa50。把L1b1001赋值给Wb1,把L1b1002赋值给Wb2,以此类推,这样得到Wb1,Wb2,...,Wb50。用同样的方法,利用L1cn和L1dn分别得到Wc1,Wc2,...,Wc50和Wd1,Wd2,...,Wd50
步骤(b):
按如上所述步骤(a)的方法,对于L2计算得到Wan,Wbn,Wcn,Wdn,n=51,52,...,100;对于L3计算得到Wan,Wbn,Wcn,Wdn,n=101,102,...,150;对于L4计算得到Wan,Wbn,Wcn,Wdn,n=151,152,...,200。
步骤(c):
对于L5,采用步骤(a)L1的方法得到顶点序列,然后对于该顶点序列,使用公式(1)-公式(4)所示的曲线傅里叶变换公式计算得到一组曲线傅里叶变换系数,n=1,2,...,1012。最后把L1a1001赋值给h0,把L1a1002赋值给h1,以此类推,这样得到h0,h1,...,h10,h11
步骤(d):
计算
Figure BDA0002128218470000151
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=1,2,...,50的这些系数都分别除以
Figure BDA0002128218470000152
计算
Figure BDA0002128218470000153
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=51,52,...,100,这些系数都分别除以
Figure BDA0002128218470000154
计算
Figure BDA0002128218470000155
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=101,102,...,150,这些系数都分别除以
Figure BDA0002128218470000156
计算
Figure BDA0002128218470000157
其中[·]表示取整运算。将Wan,Wbn,Wcn,Wdn,n=151,152,...,200,这些系数都分别除以
Figure BDA0002128218470000158
计算
Figure BDA0002128218470000159
其中[·]表示取整运算。将h0,h1,...,h10,h11这些系数都分别除以
Figure BDA00021282184700001510
步骤(3):
按公式(7)和公式(8)所示的逆曲线傅里叶变换公式计算顶点坐标:
Figure BDA00021282184700001511
Figure BDA00021282184700001512
其中,n=0,1,2,...,11。
Figure BDA00021282184700001513
计算
Figure BDA00021282184700001514
n=1,2,...,11,得到一个实数序列。对实数序列L(n),n=1,2,...,11的每个实数分别进行四舍五入计算,然后得到一个Z(n)整数序列。这个整数序列就是提取出来的数字水印信息w。

Claims (4)

1.一种基于曲线傅里叶变换的等高线地图数据盲水印方法,其特征在于该方法包括水印信息嵌入和水印信息提取两部分;
所述的水印信息嵌入是把用户选择的水印信息嵌入到原始等高线地图中得到一个新的等高线地图,输入为一个等高线地图M和一个包含11个0~9之间整数的序列w,输出为包含水印信息的等高线地图M′,具体步骤为:
步骤(1):曲线傅里叶变换计算
设有一顶点序列D1,D2,...,Di,其对应的坐标序列为(x1,y1),(x2,y2),...,(xi,yi),对于顶点序列D1,D2,...,Di,使用曲线傅里叶变换计算得到一组曲线傅里叶变换系数an,bn,cn和dn
步骤(2):调制水印信息
嵌入的水印信息是一个包含11个整数的序列,每个整数取值在1到9之间,记这个整数序列为w=(w1,w2,...,wm,...,w11);
画一圆R,其半径为1,在圆R中分别画角度为0度、30度、60度,90度、120度,150度,180度、210度、240度,270度、300度、330度的半径线,这12条半径线与R的交点分别记为A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及A11;其中,A0是0度半径线与R的交点,A1是30度半径线与R的交点,A3是60度半径线与R的交点,其他以此类推;
把Ak交点在圆R上的坐标分别记为(xk,yk),k=0,1,,...,11那么有:
xk=cos(k×π/6),yk=sin(k×π/6)
将w=(w1,w2,...,wm,...,w11)的11个整数值按从前到后的顺序,分别与A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11一一对应,然后把A1、A2、A3、A4、A5、A6、A7、A8、A9、A10、A11的横坐标和纵坐标分别除以w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11的整数值;
计算A0和点A1之间线段长度h0;计算A1和点A2之间线段长度h1,计算A2和A3之间的线段长度h2、A3和A4之间的线段长度h3、A4和A5之间的线段长度h4、A5和A6之间的线段长度h5、A6和A7之间的线段长度h6、A7和A8之间的线段长度h7、A8和A9之间的线段长度h8、A9和A10之间的线段长度h9、A10和A11之间的线段长度h10及A11和A0之间的线段长度h11
对A0、A1、A2、A3、A4、A5、A6、A7、A8、A9、A10及A11使用曲线傅里叶变换得到一组曲线傅里叶变换系数,得到系数Wan、Wbn、Wcn和Wdn;这样,根据水印信息w=(w1,w2,...,wm,...,w11),利用曲线傅里叶变换得到一组曲线傅里叶变换系数Wan,Wbn,Wcn,Wdn,n=1,2,...,199,200;
步骤(3):嵌入水印信息
步骤(a):
对等高线地图的所有闭合曲线分别计算其周长,对所有闭合曲线按周长进行排序,周长越大,排序越靠前;
对等高线地图的所有闭合曲线排好序后,在排好序的闭合曲线中选择最靠前的五条闭合曲线作为嵌入数字水印的对象;将排序第一的闭合曲线记为L1,排序第二的闭合曲线记为L2,排序第三,四,五的闭合曲线分别记为L3,L4和L5
将L1的周长记为TL1,L2的周长记为TL2,L3的周长记为TL3,L4的周长记为TL4,L5的周长记为TL5
步骤(b):
对L1,从0度水平开始按逆时针顺序扫描闭合曲线所记录包含的顶点,获得一个顶点序列;对于该顶点序列,使用曲线傅里叶变换得到一组曲线傅里叶变换系数,分别记为L1an、L1bn、L1cn和L1dn,其中n=1,2,...,999,1000;
在使用曲线傅里叶变换计算L1顶点序列的曲线傅里叶系数时,同时保存所有的tj,也就是保存L1第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离;
采用与如上L1同样的计算方式,对于L2计算得到一组曲线傅里叶变换系数L2an,L2bn,L2cn,L2dn,n=1,2,...,999,1000和L2第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离;
采用与如上L1同样的方式,对于L3计算得到一组曲线傅里叶变换系数L3an,L3bn,L3cn,L3dn,n=1,2,...,999,1000和L3第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离;
采用与如上L1同样的方式,对于L4计算得到一组曲线傅里叶变换系数L4an,L4bn,L4cn,L4dn,n=1,2,...,999,1000和L4第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离;
采用与如上L1同样的方式,对于L5计算得到一组曲线傅里叶变换系数L5an,L5bn,L5cn,L5dn,n=1,2,...,999,1000和L5第一个顶点沿着曲线按逆时针方向到其他每一个顶点的曲线距离;
步骤(c):
计算
Figure FDA0002128218460000031
将Wan,Wbn,Wcn,Wdn,n=1,2,...,50的这些系数都分别乘以
Figure FDA0002128218460000032
计算
Figure FDA0002128218460000033
将Wan,Wbn,Wcn,Wdn,n=51,52,...,100的这些系数都分别乘以
Figure FDA0002128218460000034
计算
Figure FDA0002128218460000035
将Wan,Wbn,Wcn,Wdn,n=101,102,...,150的这些系数都分别乘以
Figure FDA0002128218460000036
计算
Figure FDA0002128218460000037
将Wan,Wbn,Wcn,Wdn,n=151,152,...,200的这些系数都分别乘以
Figure FDA0002128218460000038
计算
Figure FDA0002128218460000039
将h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11都分别乘以
Figure FDA00021282184600000310
其中[·]表示取整运算;
步骤(d):
将Wan,n=1,2,...,50这些系数按n的顺序放在L1a1000系数后面,得到L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50序列;将Wan,n=51,52,...,100这些系数按n的顺序放在L2a1000系数后面;将Wan,n=101,102,...,150这些系数按n的顺序放在L3a1000系数后面;将Wan,n=151,152,...,200这些系数按n的顺序放在L4a1000系数后面;
将Wbn,n=1,2,...,50这些系数按n的顺序放在L1b1000系数后面,得到L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50序列;将Wbn,n=51,52,...,100这些系数按n的顺序放在L2b1000系数后面;将Wbn,n=101,102,...,150这些系数按n的顺序放在L3b1000系数后面;将Wbn,n=151,152,...,200这些系数按n的顺序放在L4b1000系数后面;
同样,使用上述Wan和Wbn分片放置的方式,将Wcn的系数分片按顺序放到L1c1000,L2c1000,L3c1000,L4c1000的后面;将Wdn的系数分片按顺序放到L1d1000,L2d1000,L3d1000,L4d1000的后面;
将h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11按顺序分别放在L5a1000,L5b1000,L5c1000和L5d1000的后面,分别得到L5a1,L5a2,...,L5a1000,h0,h1,...,h10,h11序列;L5b1,L5b2,...,L5b1000,h0,h1,...,h10,h11序列;L5c1,L5c2,...,L5c1000,h0,h1,...,h10,h11序列;L5d1,L5d2,...,L5d49,L5d1000,h0,h1,...,h10,h11序列;
步骤(e):
对于L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50;L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50;L1c1,L1c2,...,L1c50,Wc1,Wc2,...,Wc1000;L1d1,L1d2,...,L1d1000,Wd1,Wd2,...,Wd50,采用逆曲线傅里叶变换得到顶点坐标;
由顶点坐标得到一个顶点序列(x(n),y(n)),n=0,1,2,...,N-1;将这个顶点序列依次用线段连接得到一个闭合曲线WL1;把这个闭合曲线WL1替代L1保存到等高线地图中;
对于L2a1,L2a2,...,L2a1000,Wa51,Wa52,...,Wa100;L2b1,L2b2,...,L2b1000,Wb51,Wb52,...,Wb100;L2c1,L2c2,...,L2c1000,Wc51,Wc52,...,Wc100;L2d1,L2d2,...,L2d1000,Wd50,Wd51,...,Wd100,采用与WL1同样的方式,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接得到WL2,将WL2替代L2保存到等高线地图中;
对于L3a1,L3a2,...,L3a1000,Wa101,Wa102,...,Wa150;L3b1,L3b2,...,L3b1000,Wb101,Wb102,...,Wb150;L3c1,L3c2,...,L3c1000,Wc101,Wc102,...,Wc150;L3d1,L3d2,...,L3d1000,Wd101,Wd102,...,Wd150,采用与WL1同样的方式,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接得到WL3,将WL3替代L3保存到等高线地图中;
对于L4a1,L4a2,...,L4a1000,Wa151,Wa152,...,Wa200;L4b1,L4b2,...,L4b50,Wb151,Wb152,...,Wb200;L4c1,L4c2,...,L4c1000,Wc151,Wc152,...,Wc200;L4d1,L4d2,...,L4d1000,Wd151,Wd152,...,Wd200,采用与WL1同样的方式,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接得到WL4,将WL4替代L4保存到等高线地图中;
对于,L5a1,L5a2,...,L5a1000,h0,h1,...,h10,h11;L5b1,L5b2,...,L5b1000,h0,h1,...,h10,h11;L5c1,L5c2,...,L5c1000,h0,h1,...,h10,h11;L5d1,L5d2,...,L5d1000,h0,h1,...,h10,h11,采用与WL1同样的方式,利用逆曲线傅里叶变换得到一个顶点序列,将这个顶点序列依次连接可以得到WL5,将WL5替代L5保存到等高线地图中;
这样,经过步骤(a)至步骤(e),将水印信息w=(w1,w2,...,wm,...,w11)嵌入到了等高线地图中;
所述的水印信息的提取是从待检测的等高线地图M′中提取水印信息w的内容,输入为包含水印信息的等高线地图M′,输出为等高线地图里包含的水印信息w,具体包括以下步骤:
步骤(1):
对等高线地图的所有闭合曲线分别计算其周长,对所有闭合曲线按周长进行排序,周长越大,排序越靠前;
对等高线地图的所有闭合曲线排好序后,在排好序的闭合曲线中选择最靠前的五条闭合曲线作为潜入数字水印的对象;将排序第一的闭合曲线记为L1,排序第二的闭合曲线记为L2,排序第三,四,五的闭合曲线分别记为L3,L4和L5;将L1的周长记为TL1,L2的周长记为TL2,L3的周长记为TL3,L4的周长记为TL4,L5的周长记为TL5
步骤(2):
步骤(a):
对L1,从0度水平开始按逆时针顺序扫描闭合曲线所记录包含的顶点,获得一个顶点序列;对于该顶点序列,使用曲线傅里叶变换得到一组曲线傅里叶变换系数,记为L1an、L1bn、L1cn和L1dn,n=1,2,...,1050;
把L1a1001赋值给Wa1,把L1a1002赋值给Wa2,以此类推,这样得到Wa1,Wa2,...,Wa50;把L1b1001赋值给Wb1,把L1b1002赋值给Wb2,以此类推,这样得到Wb1,Wb2,...,Wb50;用同样的方式,利用L1cn和L1dn分别得到Wc1,Wc2,...,Wc50和Wd1,Wd2,...,Wd50
步骤(b):
按如上所述步骤(a)的方式,对于L2计算得到Wan,Wbn,Wcn,Wdn,n=51,52,...,100;对于L3计算得到Wan,Wbn,Wcn,Wdn,n=101,102,...,150;对于L4计算得到Wan,Wbn,Wcn,Wdn,n=151,152,...,200;
步骤(c):
对于L5,采用步骤(a)L1的方式得到顶点序列,然后对于该顶点序列,使用曲线傅里叶变换公式计算得到一组曲线傅里叶变换系数,n=1,2,...,1012;最后把L1a1001赋值给h0,把L1a1002赋值给h1,以此类推,这样得到h0,h1,...,h10,h11
步骤(d):
计算
Figure FDA0002128218460000061
将Wan,Wbn,Wcn,Wdn,n=1,2,...,50的这些系数都分别除以
Figure FDA0002128218460000062
计算
Figure FDA0002128218460000063
将Wan,Wbn,Wcn,Wdn,n=51,52,...,100,这些系数都分别除以
Figure FDA0002128218460000064
计算
Figure FDA0002128218460000065
将Wan,Wbn,Wcn,Wdn,n=101,102,...,150,这些系数都分别除以
Figure FDA0002128218460000066
计算
Figure FDA0002128218460000067
将Wan,Wbn,Wcn,Wdn,n=151,152,...,200,这些系数都分别除以
Figure FDA0002128218460000071
计算
Figure FDA0002128218460000072
将h0,h1,...,h10,h11这些系数都分别除以
Figure FDA0002128218460000073
步骤(3):
按如下公式计算顶点坐标:
Figure FDA0002128218460000074
Figure FDA0002128218460000075
其中,n=0,1,2,...,11;
Figure FDA0002128218460000076
计算
Figure FDA0002128218460000077
n=1,2,...,11,得到一个实数序列;对实数序列L(n),n=1,2,...,11的每个实数分别进行四舍五入计算,然后得到一个Z(n)整数序列;这个整数序列就是提取出来的数字水印信息。
2.根据权利要求1所述的一种基于曲线傅里叶变换的等高线地图数据盲水印方法,其特征在于:曲线傅里叶变换计算采用如下公式(1)到公式(4)
Figure FDA0002128218460000078
Figure FDA0002128218460000079
Figure FDA00021282184600000710
Figure FDA00021282184600000711
其中,Δxj=xj-xj-1,Δyj=yj-yj-1
Figure FDA00021282184600000712
T=ti
Figure FDA00021282184600000713
n=1,2,3...。
3.根据权利要求1所述的一种基于曲线傅里叶变换的等高线地图数据盲水印方法,其特征在于:在嵌入水印信息的步骤(a)中,如果有曲线周长相同,那么对周长相等的闭合曲线再按顶点数量进行排序,顶点数量越大,排序越前。
4.根据权利要求1所述的一种基于曲线傅里叶变换的等高线地图数据盲水印方法,其特征在于:在嵌入水印信息的步骤(e)中逆曲线傅里叶变换采用如下公式:
Figure FDA0002128218460000081
Figure FDA0002128218460000082
其中,公式中的ak按k值由小到大的顺序依次对应L1a1,L1a2,...,L1a1000,Wa1,Wa2,...,Wa50;同样,bk对应L1b1,L1b2,...,L1b1000,Wb1,Wb2,...,Wb50;ck对应L1c1,L1c2,...,L1c50,Wc1,Wc2,...,Wc1000;dk对应L1d1,L1d2,...,L1d1000,Wd1,Wd2,...,Wd50;K是系数序列的系数个数;n=0,1,2,...,N-1,N是L1曲线的顶点个数;T是TL1,t0等于0,t1是L1的起点沿着曲线到第一个顶点的曲线长度,t2是L1的起点沿着曲线到第二个顶点的曲线长度,以此类推。
CN201910629302.8A 2019-07-12 2019-07-12 一种基于曲线傅里叶变换的等高线地图数据盲水印方法 Active CN110390620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910629302.8A CN110390620B (zh) 2019-07-12 2019-07-12 一种基于曲线傅里叶变换的等高线地图数据盲水印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910629302.8A CN110390620B (zh) 2019-07-12 2019-07-12 一种基于曲线傅里叶变换的等高线地图数据盲水印方法

Publications (2)

Publication Number Publication Date
CN110390620A CN110390620A (zh) 2019-10-29
CN110390620B true CN110390620B (zh) 2022-12-23

Family

ID=68286613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910629302.8A Active CN110390620B (zh) 2019-07-12 2019-07-12 一种基于曲线傅里叶变换的等高线地图数据盲水印方法

Country Status (1)

Country Link
CN (1) CN110390620B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111563835B (zh) * 2020-03-16 2021-06-22 北京完美知识科技有限公司 一种为矢量地图嵌入水印的方法与装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154571A (en) * 1998-06-24 2000-11-28 Nec Research Institute, Inc. Robust digital watermarking
WO2003056515A1 (en) * 2001-12-21 2003-07-10 The University Of Surrey Digital watermarking
CN101383042A (zh) * 2008-10-07 2009-03-11 北京理工大学 一种基于分数阶傅里叶域滤波器组的数字水印技术
CN101847250A (zh) * 2010-04-27 2010-09-29 浙江工商大学 一种基于dct变换的矢量地图数据盲水印方法
CN103390261A (zh) * 2013-07-05 2013-11-13 兰州交通大学 基于误差缩小的矢量地理空间数据全盲水印方法
CN104978706A (zh) * 2014-04-11 2015-10-14 深圳中兴力维技术有限公司 基于傅里叶描述子的水印嵌入与提取方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154571A (en) * 1998-06-24 2000-11-28 Nec Research Institute, Inc. Robust digital watermarking
WO2003056515A1 (en) * 2001-12-21 2003-07-10 The University Of Surrey Digital watermarking
CN101383042A (zh) * 2008-10-07 2009-03-11 北京理工大学 一种基于分数阶傅里叶域滤波器组的数字水印技术
CN101847250A (zh) * 2010-04-27 2010-09-29 浙江工商大学 一种基于dct变换的矢量地图数据盲水印方法
CN103390261A (zh) * 2013-07-05 2013-11-13 兰州交通大学 基于误差缩小的矢量地理空间数据全盲水印方法
CN104978706A (zh) * 2014-04-11 2015-10-14 深圳中兴力维技术有限公司 基于傅里叶描述子的水印嵌入与提取方法、装置及系统

Also Published As

Publication number Publication date
CN110390620A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
Liu et al. Coverless steganography based on image retrieval of DenseNet features and DWT sequence mapping
Bas et al. Geometrically invariant watermarking using feature points
Bravo-Solorio et al. Automated detection and localisation of duplicated regions affected by reflection, rotation and scaling in image forensics
Simitopoulos et al. Robust image watermarking based on generalized radon transformations
Li et al. Geometrically invariant image watermarking using polar harmonic transforms
Cao et al. Nonlinear scrambling-based reversible watermarking for 2D-vector maps
CN104794671A (zh) 抗投影攻击的矢量空间数据盲水印方法
CN110223213B (zh) 一种gd-pbibd编码的矢量空间数据数字指纹方法
CN110390620B (zh) 一种基于曲线傅里叶变换的等高线地图数据盲水印方法
Kaushik A novel approach for digital watermarking of an image using DFT
CN108876694B (zh) 基于Schur分解的三维模型盲数字水印算法
Zope-Chaudhari et al. Copyright protection of vector data using vector watermark
CN101847250B (zh) 一种基于dct变换的矢量地图数据盲水印方法
CN111242825B (zh) 一种基于水深特征的enc电子航海图零水印方法
CN104504645A (zh) 基于圆谐傅里叶矩的鲁棒图像水印嵌入及检测方法
Sakib et al. A basic digital watermarking algorithm in discrete cosine transformation domain
Luo et al. A reversible data hiding scheme for 3D point cloud model
Rui-mei et al. A watermarking algorithm by modifying AC coefficies in DCT domain
CN104103031A (zh) 基于归一化的矢量空间数据盲水印方法
KR20090030454A (ko) 방위각을 이용한 벡터 데이터 워터마크 삽입방법 및검출방법
Hosam et al. Watermarking 3d triangular mesh with high visual quality
Zheng et al. Research on vector map digital watermarking technology
Jia et al. A watermark algorithm based on SVD and image geometric correction
CN103390261A (zh) 基于误差缩小的矢量地理空间数据全盲水印方法
Jadav Comparison of LSB and Subband DCT Technique for Image Watermarking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant