1.一种椭圆型图形特征的数字指纹嵌入与检测方法,包括以下步骤:(1)、设计一组具有标识意义的虚拟椭圆形标识;
(1.1)、确定虚拟椭圆的基准长短轴长度a,b,0≤a,0≤b(1.2)、定义一组具有指纹信息特征的椭圆组an,bn;
(1.3)、定义虚拟椭圆的圆心坐标(Xn,Yn);
(1.4)、由椭圆心坐标(Xn,Yn)、椭圆组长短半径an,bn这一系列变量,构成具有标识意义的特定虚拟椭圆组,此虚拟椭圆组中包含有数字指纹信息;
(1.5)、所述虚拟椭圆数字指纹信息可以通过扩展覆盖矢量图全图;
(2)、制订图形指纹特征点的嵌入策略;
(2.1)、当虚拟椭圆与矢量地图坐标序列中的线段相切,那么切点就作为特征点插入矢量地图坐标序列中;
(2.2)、当虚拟椭圆与矢量图坐标序列的线段相交,且有两个交点时,我们只选取第一个交点,并按正常相交进行特征点的移位处理;
(2.3)、当虚拟椭圆与矢量地图坐标序列正常相交,且交点与线段的端点重合时,那么就不需要做任何的处理,直接把端点作为图形特征点;
(2.4)、当虚拟椭圆与矢量地图坐标序列正常相交,但交点与端点之间距离小于一个限定的误差值d时,那么就删除原来最近的端点,以新的交点代替端点作为图形特征点;
(2.5)、当虚拟椭圆与矢量地图坐标序列中的线段(X1,Y1)-(X2,Y2)正常相交,且只有一个交点时,作为特征点插入,还需要消除三点共线因素,采用交点沿着椭圆左右移动一个限定的误差值d;那么这两个点中,按特定原则选择其中一个特征点作为图形特征点插入矢量地图坐标串;
(3)、虚拟椭圆矢量地图数字指纹嵌入过程,对矢量地图数据中具有2个顶点以上的坐标序列与一组虚拟椭圆图形的每一个虚拟椭圆检测是否有交点,如果存在交点,把相关交点作为图形指纹特征点插入到坐标序列中,具体如下:(3.1)、读取矢量地图坐标序列数据;
(3.2)、输入虚拟椭圆组的圆心坐标(Xn,Yn);
(3.3)、输入虚拟椭圆组的长短轴半径(an,bn);
(3.4)、对坐标序列数据中的相邻两点,判断虚拟椭圆组中的虚拟椭圆与线段(X1,Y1)-(X2,Y2)之间是否有交点;
(3.5)、则设交点为(X,Y),那么其一定是(X1,Y1)-(X2,Y2)线段上的一点,其(X,Y)坐标可以由(X1,Y1)-(X2,Y2)两点决定:
把公式(2)确定的交点(X,Y)代入已知的虚拟椭圆方程 得μ一元二次方程Aμ2+Bμ+C=0;
其中:
根据μ的一元二次方程中的求根判别式Δ,当Δ=0时,线段与虚拟椭圆相切,当Δ>0时,线段与虚拟椭圆相交,且有两个交点;当Δ<0时,线段与椭圆没有交点;再把求得μ代入(2)式,即可求得交点(X,Y)坐标的坐标值;
(3.6)、最后根据虚拟椭圆指纹特征点嵌入策略,把图形特征点插入到矢量地图坐标序列中的(X1,Y1)与(X2,Y2)之间,得到具有虚拟椭圆图形特征指纹特征点分布于整体的矢量地图数据;
(4)制订虚拟椭圆图形特征的数字指纹检测方法,所述检测方法步骤如下:(4.1)、读取矢量地图坐标序列数据;
(4.2)、把二进制版权信息转换成二维图形空间信息;
(4.3)、输入具有含有指纹特征的图形参数;
(4.4)、对坐标序列数据中的相邻两点,判断虚拟椭圆组中的虚拟椭圆与线段(X1,Y1)-(X2,Y2)之间是否有交点;
(4.5)、则设交点为(X,Y),那么其一定是(X1,Y1)-(X2,Y2)线段上的一点,其(X,Y)坐标可以由(X1,Y1)-(X2,Y2)两点决定:
把公式(3)确定的交点(X,Y)代入已知的虚拟椭圆方程 得μ一元2
二次方程Aμ+Bμ+C=0;
其中:
根据μ的一元二次方程中的求根判别式Δ,当Δ=0时,线段与虚拟椭圆相切,当Δ>0时,线段与虚拟椭圆相交,且有两个交点;当Δ<0时,线段与椭圆没有交点;再把求得μ代入(3)式,即可求得交点(X,Y)坐标的坐标值;
(4.6)、根据求得交点(X,Y)坐标的坐标值,线段的端点坐标的(X1,Y1)与(X2,Y2)进行比较;限差在规定范围内,即交点与端点之间距离小于一个限定的误差值d时,此端点作为虚拟椭圆图形特征信息提取出来;
(4.7)、通过对指纹特征信息与非指纹特征信息进行统计分析,判定指纹特征信息的存在性。