CN105741226B - 基于电子图章的可见数字图像水印的嵌入与检测方法 - Google Patents

基于电子图章的可见数字图像水印的嵌入与检测方法 Download PDF

Info

Publication number
CN105741226B
CN105741226B CN201610069482.5A CN201610069482A CN105741226B CN 105741226 B CN105741226 B CN 105741226B CN 201610069482 A CN201610069482 A CN 201610069482A CN 105741226 B CN105741226 B CN 105741226B
Authority
CN
China
Prior art keywords
watermark
container
circle
seal
coordinate
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
CN201610069482.5A
Other languages
English (en)
Other versions
CN105741226A (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.)
JIANGSU STARTDIMA DATA PROCESSING CO Ltd
Original Assignee
JIANGSU STARTDIMA DATA PROCESSING CO Ltd
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 JIANGSU STARTDIMA DATA PROCESSING CO Ltd filed Critical JIANGSU STARTDIMA DATA PROCESSING CO Ltd
Priority to CN201610069482.5A priority Critical patent/CN105741226B/zh
Publication of CN105741226A publication Critical patent/CN105741226A/zh
Application granted granted Critical
Publication of CN105741226B publication Critical patent/CN105741226B/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

Abstract

本发明提供了一种基于电子图章的可见数字图像水印的嵌入和检测方法,该嵌入方法包括如下步骤:S10:用ASCII码的值表示待嵌入的水印,然后依据预先确立的规则和映射关系对各编码进行变换后得到水印信息;S20:扫描待嵌入水印的电子图章,获得其像素信息;S30:依据所获取的像素信息和水印信息,确认水印嵌入的方式和位置;S40:依据所确认的水印嵌入方式和位置,实现水印的嵌入。

Description

基于电子图章的可见数字图像水印的嵌入与检测方法
技术领域
本发明涉及电子图章的水印实现方法,尤其涉及一种基于电子图章的可见数字图像水印的嵌入与检测方法。
背景技术
由于各种电子表单的使用也越来越频繁,对电子表单的真实性和合法性的鉴别是一个无法回避的课题。本发明针对电子表单中广泛使用的电子图章提出可见数字图像水印技术,该技术旨在通过对电子表单中的电子图章嵌入可见的数字图像水印来对电子表单的真实性和合法性提供鉴别依据。
通常数字图像水印存在以下问题:1)不可见的数字图像水印不能给合法的文件是否经过水印嵌入一个比较直观的感受;2)通常的可见数字图像水印的鲁棒性一般比较弱,尤其是针对特定情况下的旋转、缩放、压缩和噪声的鲁棒性很脆弱。
发明内容
为了解决以上提到的不足,本发明提供了一种基于电子图章的可见数字图像水印的嵌入方法,包括如下步骤:
S10:用ASCII码的值表示待嵌入的水印,然后依据预先确立的规则和映射关系对各编码进行变换后得到水印信息;
S20:扫描待嵌入水印的电子图章,获得其像素信息;
S30:依据所获取的像素信息和水印信息,确认水印嵌入的方式和位置;
S40:依据所确认的水印嵌入方式和位置,实现水印的嵌入。
可选的,在所述步骤S00中,对各编码进行变换所依据的规则和映射关系通过以下步骤确立:
S001:基于ASCII表,选取一ASCII码区间33-127的95个字符,将其依次置于一个字符表容器V中;
S002:针对每个字符随机生成一个互不重复的整数,且所有整数均落在[0,94]内;
S003:依据每个字符所对应生成的整数,将各字符换至该整数所示的次序位置;进而生成映射表M,其中M[i]=Ω(V[i]),Ω(V[i])是ASCII码为V[i]的字符,Ω为映射规则;
在所述步骤S10中,先将待嵌入的水印转换成对应的ASCII码,存储得到水印字符容器L,对其中每个ASCII码的码值减去32,然后依据步骤S003确立的映射规则对水印字符容器L中的元素进行映射变换,得到水印容器W,其中,W[i]=Ω(V[L[i]]),最后将水印容器中的字符用二进制数表示,存入二进制水印容器realCode,从而得到所述水印信息。
可选的,所述步骤S20进一步包括:
S201:对待嵌入水印的印章图像进行扫描,分别从左到右、从右到左、从上到下、从下到上检测得到印章图章中圆的四条切线;
S202:根据所确定的切线确定印章图像圆心的坐标(c、r)和印章图像的圆环的外圈半径R;
S203:沿着过圆心的直线的方向进行检测,确定印章图像的圆环的环宽realborder;
所述像素信息至少包括步骤S202确定的圆心的坐标(c、r)和印章图像圆环的外圈半径R,以及步骤S203确定的环宽。
可选的,所述步骤S203进一步包括:
沿着过圆心的直线依次检测直线上点的颜色,自第一个检测到的具有图章颜色的点开始:
每检测到一个点,无论其是图章颜色还是白色,累积叠加计算一个宽度值;其中,每当在具有颜色的点后检测到一个白色点时,则开始计算一个间隔值,且针对后续连续出现的每个白色点累积叠加计算一个间隔值,直至出现新的非白色点,或连续累积计算的间隔值达到预先自定义的阈值,若达到预先自定义的阈值,则停止检测,利用累积计算得到的宽度值减去本次累积计算得到的间隔值,最终得到所述环宽realborder。
可选的,所述步骤S30进一步包括:
若所述环宽realborder小于一预设的值,则确认该印章图像的圆环只适合嵌入一圈水印,且该水印的嵌入半径为:
R1=R-realborder/2;
水印嵌入的坐标为(x,y),其中:
x=Cosα*R1+c;y=Sinα*R1+r
realCode_num为二进制水印容器realCode中数码的个数;
i为二进制水印容器realCode中数码的序号;
得到二进制水印容器realCode中每个数码对应的坐标;
在所述步骤S40中,依据所确定的各坐标进行水印的嵌入。
可选的,所述步骤S30进一步包括:
若所述环宽realborder不小于一预设的值,则确认该印章图像的圆环适合嵌入两圈水印,且该水印的嵌入半径为:
R1=R-realborder/3;R2=R-(realborder/3)*2
第一圈水印嵌入的坐标为(x,y),其中:
x=Cosα*R1+c;y=Sinα*R1+r
第二圈水印嵌入的坐标为(x,y),其中:
x=cosα*R2+c,y=sinα*R2+r
realCode_num为二进制水印容器realCode中数码的个数;
i为二进制水印容器realCode中数码的序号;
得到二进制水印容器realCode中每个数码对应的坐标;
在所述步骤S40中,依据所确定的各坐标进行水印的嵌入。
可选的,在所述步骤S30中,确认水印嵌入的位置与方式时,包括确认水印嵌入印章图像的具体坐标(x,y);在所述步骤S40中,依据所确定的坐标将二进制水印容器中水印信息的0或1数码依据顺序嵌入到印章图像;
嵌入时,若对应的数码为1,则对应的坐标(x,y)处不做变化,若对应的数码为0,则将以对应坐标(x,y)为中心的一个边长为N的正方形区域内的所有点变为白色。
本发明还提供了一种基于电子图章的可见数字图像水印的检测方法,用以实现对本发明提供的基于电子图章的可见数字图像水印的嵌入方法嵌入的电子印章进行检测,包括如下步骤:
S0:扫描待检测的电子图章,获得其像素信息;
S1:依据嵌入时的规则提取水印信息;
S2:将所提取的水印信息与原始的水印信息进行比对,根据两者的相似度判断所检测的电子印章的水印是否合法。
可选的,所述步骤S0进一步包括:
S01:对待嵌入水印的印章图像进行扫描,分别从左从左到右、从右到左、从上到下、从下到上检测得到印章图章中圆的四条切线;
S02:根据所确定的切线确定印章图像圆心的坐标(c、r)和印章图像的圆环的外圈半径R;
S03:沿着过圆心的直线的方向进行检测,确定印章图像的圆环的环宽realborder;
所述像素信息至少包括步骤S02确定的圆心的坐标(c、r)和印章图像圆环的外圈半径R,以及步骤S03确定的环宽。
可选的,所述步骤S1包括:
S11:依据所确立的环宽确立水印的圈数,进而得到每圈水印的半径;
S12:针对每圈水印,依据其半径和圆心,查找圆环的白色的点,依据白色的点找到边长为N的正方形区域,进而确认其水印信息为1;
S13:将这些水印信息依次记录于检测水印容器F。
可选的,在所述步骤S12中,若所找到的边长为N的正方形区域中白色点的个数满足以下公式:
则确认其水印信息为1,在步骤S13中进行记录。
可选的,在所述步骤S1中,至少包括依据所提取的水印信息得到检测水印容器F;所述步骤S2进一步包括:
依次将检测水印容器F中每8位二进制组成一个单字节数Bi存入比较容器B中,其中:
Bi=b0*27+b1*26+b2*25+b3*24+b4*23+b5*22+b6*21+b7*20
依次比较检测水印容器B和原始水印信息对应的容器W中每个相同位置的元素,针对每个8位二进制数:
累积计算字符相同的元素个数si
对应的相似度Si通过以下公式计算:
Si=si*8/realcode_num;
进而得到相似度容器S;
最后选择相似度容器S中最大的一个元素Sm,将其与预设的置信相似度ST进行比较,若大于ST,则认为该水印合法。
可见,本发明提供了一种基于电子图章的可见数字图像水印实现方法,可以理解为包括水印信息嵌入过程和水印信息检测过程,其中:
水印信息嵌入的过程为:对需要嵌入水印的电子图章进行扫描检测,获得其像素信息,根据图章的信息确定水印嵌入的方式及嵌入的具体位置。临时生成一张随机的映射表,对需要嵌入图章中的水印信息使用该映射表进行随机映射,得到实际用于嵌入的水印信息,然后将该水印信息嵌入待嵌入位置;
水印信息检测的过程为:对待检测的电子图章进行扫描,获得其具体的像素信息,根据水印的嵌入规则从中提取像素信息,将提取到的像素信息以旋转匹配以及阈值处理的方法生成待验证水印与原始的水印信息进行对比,判断该图章是否合法。
本发明的非盲水印实现方法可以抵抗旋转、缩放、JPEG压缩、噪声等常规单一攻击,并且在抵抗联合攻击上也表现出较强的鲁棒性。
附图说明
图1是本发明一实施例中水印嵌入的流程示意图;
图2是本发明一实施例中水印检测的流程示意图。
具体实施方式
以下将结合图1和图2对本发明提供的基于电子图章的可见数字图像水印的嵌入与检测方法进行详细的描述,其为本发明可选的实施例,可以认为,本领域技术人员在不改变本发明精神和内容的范围内,能够对其进行修改和润色。
下文针对每一步骤,以两种方式对本发明的技术方案进行描述,以期待更全面、细致、准确地描述本发明请求保护以及所公开的方案。
本发明提供了一种基于电子图章的可见数字图像水印的嵌入方法,包括如下步骤:
S00:通过以下步骤确立各编码进行变换所依据的规则和映射关系:
S001:基于ASCII表,选取一ASCII码区间33-127的95个字符,将其依次置于一个字符表容器V中;
S002:针对每个字符随机生成一个互不重复的整数,且所有整数均落在[0,94]内;
S003:依据每个字符所对应生成的整数,将各字符换至该整数所示的次序位置;进而生成映射表M,其中M[i]=Ω(V[i]),Ω(V[i])是ASCII码为V[i]的字符,Ω为映射规则;
进一步具体来说,其又可区分为以下几个步骤进行描述:
步骤1.1基于ASCII表,选取可输入的有意义字符的ASCII码区间33~127,一共95字符,将他们的ASCII码依次置于一个字符表容器V中。
步骤1.2从V中的第一个元素开始,以当前系统时间T为种子,对每个元素生成一个随机整数k,k=random(T).(0,94),随机整数的范围是k∈[0,94];
步骤1.3将元素V[i]与元素V[k]在容器中的位置作交换,直到V中的最后一个元素结束,其中元素V[i]与元素V[k]分别是字符表容器V中的第i个和第k个元素;
步骤1.4用字符表容器V中的元素生成一张映射表M,M[i]=Ω(V[i]),其中Ω(V[i])是ASCII码为V[i]的字符,Ω为映射规则;
S10:用ASCII码的值表示待嵌入的水印,然后依据预先确立的规则和映射关系对各编码的值进行变换后得到水印信息;
在本发明可选的实施例中,在所述步骤S10中,先将待嵌入的水印转换成对应的ASCII码,存储得到水印字符容器L,对其中每个ASCII码的码值减去32,然后依据步骤S003确立的映射规则对水印字符容器L中的元素进行映射变换,得到水印容器W,其中,W[i]=Ω(V[L[i]]),最后将水印容器中的字符用二进制数表示,存入二进制水印容器realCode,从而得到所述水印信息。
进一步具体来说,步骤S10又可区分为以下几个步骤进行描述:
步骤1.5将待嵌入的水印转换成对应的ASCII码值存入水印字符容器L中,对容器L中的元素L[i]做变换L[i]=L[i]-32,其中L[i]是L中的第i个元素;
步骤1.6将L中的元素用映射表M进行映射,得到预处理之后实际嵌入图章中的水印容器W,其中W[i]=Ω(V[L[i]]),W[i]是W中的第i个元素;
步骤1.7将实际嵌入的字符的ASCII码值用8位二进制数表示,存入二进制水印容器realCode。
S20:扫描待嵌入水印的电子图章,获得其像素信息;
可选的,所述步骤S20进一步包括:
S201:对待嵌入水印的印章图像进行扫描,分别从左从左到右、从右到左、从上到下、从下到上检测得到印章图章中圆的四条切线;
S202:根据所确定的切线确定印章图像圆心的坐标(c、r)和印章图像的圆环的外圈半径R;
S203:沿着过圆心的直线的方向进行检测,确定印章图像的圆环的环宽realborder;
所述像素信息至少包括步骤S202确定的圆心的坐标(c、r)和印章图像圆环的外圈半径R,以及步骤S203确定的环宽。
其中,所述步骤S203进一步包括:
沿着过圆心的直线依次检测直线上点的颜色,自第一个检测到的具有图章颜色的点开始:
每检测到一个点,无论其是图章颜色还是白色,累积叠加计算一个宽度值;其中,每当在具有颜色的点后检测到一个白色点时,则开始计算一个间隔值,且针对后续连续出现的每个白色点累积叠加计算一个间隔值,直至出现新的非白色点,或连续累积计算的间隔值达到预先自定义的阈值,若达到预先自定义的阈值,则停止检测,利用累积计算得到的宽度值减去本次累积计算得到的间隔值,最终得到所述环宽realborder。
进一步具体来说,步骤S20又可区分为以下几个步骤进行描述:
步骤1.8将待嵌入水印的图章进行扫描,分别从左到右、从右到左、从上到下、从下到上检测图章中圆的四条切线,分别为cmin、cmax、rmin、rmax;
步骤1.9根据圆的四条切线计算圆心的横坐标c和纵坐标r, 计算圆环的外圈半径R,R=r-rmin;
步骤1.10沿着过圆心的直线检测圆环的宽度,圆环的宽度定义为border,依次检测直线上每个点的颜色,从第一个检测到图章颜色为红色的点开始,其中红色为图章中圆环的颜色;
步骤1.11每遇到一个颜色为红色的点,border就加一,直到检测到一个颜色为白色的点,gap设为1,其中gap为防止噪声的抖动值;
步骤1.12检测到一个点为白色,gap加一同时border加一,若gap<6,则继续检测下一个点P,否则进行步骤1.13。若P的颜色为红色则进行步骤1.11,否则进行步骤1.12。
步骤1.13圆环的环宽检测完毕,实际的环宽定义为realborder,realborder=border-6;
S30:依据所获取的像素信息和水印信息,确认水印嵌入的方式和位置;
在本发明一可选实施例中,所述步骤S30进一步包括:
若所述环宽realborder小于一预设的值,则确认该印章图像的圆环只适合嵌入一圈水印,且该水印的嵌入半径为:
R1=R-realborder/2;
水印嵌入的坐标为(x,y),其中:
x=Cosα*R1+c;y=Sinα*R1+r
realCode_num为二进制水印容器realCode中数码的个数;
i为二进制水印容器realCode中数码的序号;
得到二进制水印容器realCode中每个数码对应的坐标;
在本发明另一可选的实施例中,所述步骤S30进一步包括:
若所述环宽realborder不小于一预设的值,则确认该印章图像的圆环适合嵌入两圈水印,且该水印的嵌入半径为:
R1=R-realborder/3;R2=R-(realborder/3)*2
第一圈水印嵌入的坐标为(x,y),其中:
x=Cosα*R1+c;y=Sinα*R1+r
第二圈水印嵌入的坐标为(x,y),其中:
x=cosα*R2+c,y=sinα*R2+r
realCode_num为二进制水印容器realCode中数码的个数;
i为二进制水印容器realCode中数码的序号;
得到二进制水印容器realCode中每个数码对应的坐标;
在所述步骤S40中,依据所确定的各坐标进行水印的嵌入。
进一步具体来说,步骤S30又可区分为以下几个步骤进行描述:
步骤1.14若realborder<20则该圆环只适合嵌入一圈水印,否则转入步骤1.15。嵌入一圈水印时水印的嵌入半径R1=R-realborder/2,从第一个嵌入水印的位置开始,水印嵌入的坐标为(x,y),x=Cosα*R1+c;y=Sinα*R1+r。其中realCode_num为容器realCode中元素的个数,i为容器realCode中元素的序号。得到每个水印嵌入的坐标(x,y)后转入步骤1.16进行水印的嵌入。
步骤1.15若realborder≥20则该圆环只适合嵌入两圈水印。嵌入两圈水印时水印 的嵌入半径R1=R-realborder/3;R2=R-(realborde/r3)*2,从第一个嵌入水印的位置开 始,第一圈水印嵌入的坐标为(x,y),x=Cosα*R1+c;y=Sinα*R1+r。其中realCode_num为容器realCode中元素的个数,i为容器realCode 中元素的序号。第二圈水印嵌入的坐标为(x,y),x=cosα*R2+c,y=sinα*R2+r。其中realCode_num为容器realCode中元素的个数, i为容器realCode中元素的序号。得到每个水印嵌入的坐标(x,y)后转入步骤1.16进行水印 的嵌入。
S40:依据所确认的水印嵌入方式和位置,实现水印的嵌入。
本发明可选的实施例中,在所述步骤S40中,依据所确定的坐标将二进制水印容器中水印信息的0或1数码依据顺序嵌入到印章图像;
嵌入时,若对应的数码为1,则对应的坐标(x,y)处不做变化,若对应的数码为0,则将以对应坐标(x,y)为中心的一个边长为N的正方形区域内的所有点变为白色。
进一步具体来说,步骤S30又可区分为以下几个步骤进行描述:
步骤1.16根据坐标(x,y)处对应的待嵌入水印W[i]进行水印嵌入,若Wi=0则对应的坐标(x,y)处不做变化,若Wi=1则将以对应坐标(x,y)为中心的一个边长为5的正方形内的所有点变为白色。将所有待嵌入的水印按序嵌入之后就完成了水印信息嵌入过程。
完成水印嵌入之后,可得到嵌入水印后的图章,然后将原始水印信息和映射表进行保存,作为水印提取时的依据,以备提取使用。
本发明还提供了一种基于电子图章的可见数字图像水印的检测方法,用以实现对本发明提供的基于电子图章的可见数字图像水印的嵌入方法嵌入的电子印章进行检测,其方式其实可以参照嵌入时的方式进行操作,本实施例给出一具体方案:
包括如下步骤:
S0:扫描待检测的电子图章,获得其像素信息;
所述步骤S0进一步包括:
S01:对待嵌入水印的印章图像进行扫描,分别从左从左到右、从右到左、从上到下、从下到上检测得到印章图章中圆的四条切线;
S02:根据所确定的切线确定印章图像圆心的坐标(c、r)和印章图像的圆环的外圈半径R;
S03:沿着过圆心的直线的方向进行检测,确定印章图像的圆环的环宽realborder;
所述像素信息至少包括步骤S02确定的圆心的坐标(c、r)和印章图像圆环的外圈半径R,以及步骤S03确定的环宽。
进一步具体来说,步骤S0又可区分为以下几个步骤进行描述:
步骤2.1将待检测水印的图章进行扫描,分别从左到右、从右到左、从上到下、从下到上检测图章中圆的四条切线,分别为cmin、cmax、rmin、rmax;
步骤2.2根据圆的四条切线计算圆心的横纵坐标(c,r), 圆的外圈半径R=r-rmin;
步骤2.3沿着过圆心的直线检测圆环的宽度,圆环的宽度定义为border,依次检测直线上每个点的颜色,从第一个检测到图章颜色为红色的点开始,其中红色为图章中圆环的颜色;
步骤2.4每遇到一个颜色为红色的点,border就加一,直到检测到一个颜色为白色的点,gap设为1,其中gap为防止噪声的抖动值;
步骤2.5检测到一个点为白色,gap加一同时border加一,若gap<6,则继续检测下一个点P,否则进行步骤2.6。若P的颜色为红色则进行步骤2.4,否则进行步骤2.5。
步骤2.6环宽检测完毕,实际的环宽realborder=border-Nc
S1:依据嵌入时的规则提取水印信息;
本发明一可选的实施例中,所述步骤S1包括:
S11:依据所确立的环宽确立水印的圈数,进而得到每圈水印的半径;
S12:针对每圈水印,依据其半径和圆心,查找圆环的白色的点,依据白色的点找到边长为N的正方形区域,进而确认其水印信息为1;
S13:将这些水印信息依次记录于检测水印容器F。
再进一步可选实施例中,在所述步骤S12中,若所找到的边长为N的正方形区域中白色点的个数满足以下公式:
则确认其水印信息为1,在步骤S13中进行记录。
进一步具体来说,步骤S1又可区分为以下几个步骤进行描述:
步骤2.7根据圆环的宽度realborder判断水印嵌入的圈数,若realborder<20,则嵌入了一圈,则嵌入半径为R1=R-realborder/2,从以(c,r)为圆心R1为半径的圆的最左端的点p0(c-R1,r)开始,判断p0是否为白色的点。转入步骤2.9。
步骤2.8水印嵌入了两圈,则水印嵌入的半径分别为R1=R-realborder/3;R2=R-(realborder/3)*2。
步骤2.9若p0是白色的点,则转入步骤2.13。否则找另外三个点pu,pr,pur,其中 pu.X=p0.X,pu.Y=p0.Y+1,pr.X=p0.X+1,pr.Y=p0.Y(其中p0.X+1≤c,否则转入步骤 2.10),pur.X=p0.X+1,pur.Y=p0.Y+1。分别计算这三个点与圆心的距离Du,Dr,Dur, p0重新置为距离最小的那个点。转入步骤2.9。
步骤2.10若p0是白色的点,则转入步骤2.13否则找另外三个点pr,pd,prd,其中 pr.X=p0.X+1,pr.Y=p0.Y,pd.X=p0.X,pd.Y=p0.Y-1(其中p0.Y-1≤r,否则转入步骤 2.12),prd.X=p0+1,prd.Y=p0.Y-1。分别计算这三个点与圆心的距离Dr,Dd,Drd, p0重新置为距离最小的那个点。转入步骤2.10。
步骤2.11若p0是白色的点,则转入步骤2.13否则找另外三个点pl,pd,pld,其中 pd.X=p0.X,pd.Y=p0.Y-1,pl.X=p0.X-1,pr.Y=p0.Y(其中p0.X-1≥c,否则转入步骤 2.12)pld.X=p0.X-1,pld.Y=p0.Y-1。分别计算这三个点与圆心的距离Dl,Dd,Dld, p0重新置为距离最小的那个点。转入步骤2.11。
步骤2.12若p0是白色的点,则转入步骤2.13否则找另外三个点pl,pu,plu,其中 pl.X=p0.X-1,pr.Y=p0.Y,pu.X=p0.X,pu.Y=p0.Y+1(其中p0.Y+1≤r,否则转入步骤 2.18)pld.X=p0.X-1,pld.Y=p0.Y-1。分别计算这三个点与圆心的距离Dl,Du,Dlu, p0重新置为距离最小的那个点。转入步骤2.12。
步骤2.13p0为白点,以(p0.X,p0.Y-N/2)为中心N为边长的正方形为一个嵌入水印信息为1的位置,可以计算出第一个嵌入水印信息为1的位置与圆心构成的直线与直线y=r的夹角γ=Atan2(r-p0.Y-2,c-p0.X)。
步骤2.14根据水印信息的字符个数num计算出实际嵌入的二进制位数realCode_num=num*8。如果水印嵌入了一圈,则从找到的第一个白点p0开始检测坐标(x,y)为中心N为边长的正方形处的点的像素,其中x=cosα*R1+c,y=sinα*R1+r,α=-π+γ+2*i*π/realcode_num;如果水印嵌入了两圈,则外圈从找到的第一个白点p0开始检测坐标(x,y)为中心N为边长的正方形处的点的像素,其中x=cosα*R1+c,y=sinα*R1+r,α=-π+γ+4*i*π/realcode_num;内圈检测坐标(x,y)为中心N为边长的正方形处的点的像素,其中x=cosα*R2+c,y=sinα*R2+r,α=-π+γ+4*i*π/realcode_num+2*π/realcode_num。
步骤2.15统计上述每个位置处的正方形中像素点为白色的个数,若白色点的个数 wp_num满足则该位置处水印信息记为1,否则 记为0,将每个水印信息依次记录进检测水印容器F。
在本发明可选的实施例中,可以在嵌入时存储相关信息,在另一可选实施例中也可以据原始水印信息实时进行计算,从而获得原始水印信息,具体来说:
将保存的原始水印转换成对应的ASCII码值存入水印字符容器L中,对容器L中的元素L[i]做变换L[i]=L[i]-32,其中L[i]为L中的第i个元素。将L中的元素用保存的对应的映射表M进行映射,得到预处理之后实际嵌入图章中的水印存入水印容器W中,其中W[i]=Ω(V[L[i]]),其中W[i]为水印容器W中的第i个元素。
S2:将所提取的水印信息与原始的水印信息进行比对,根据两者的相似度判断所检测的电子印章的水印是否合法。
在本发明可选的实施例中,所述步骤S2进一步包括:
依次将检测水印容器F中每8位二进制组成一个单字节数Bi存入比较容器B中,其中:
Bi=b0*27+b1*26+b2*25+b3*24+b4*23+b5*22+b6*21+b7*20
依次比较检测水印容器B和原始水印信息对应的容器W中每个相同位置的元素,针对每个8位二进制数:
累积计算字符相同的元素个数si;
对应的相似度Si通过以下公式计算:
Si=si*8/realcode_num;
进而得到相似度容器S;
最后选择相似度容器S中最大的一个元素Sm,将其与预设的置信相似度ST进行比较,若大于ST,则认为该水印合法。
进一步具体来说,步骤S2又可区分为以下几个步骤进行描述:
步骤2.16依次将容器F中每8位二进制bi(i=0,1,...7)组成一个单字节数Bi存入比较容器B中,其中Bi=b0*27+b1*26+b2*25+b3*24+b4*23+b5*22+b6*21+b7*20,依次比较容器B和容器W中每个相同位置的元素,每有一个相同位置的元素相同则字符相同的个数si加一,其中si为比较结果容器s中的第i个元素,即第i次比较时容器B和容器W中对应位置元素相同的元素的个数,最后计算两个容器字符的相似度Si=si*8/realcode_num,其中Si为相似度容器S中的第i个元素,即第i次比较时的相似度。将容器F中最后一个元素移到第一个元素处,其他元素相应后移一位。如果此时元素容器F中的元素次序与F中初始的次序不同则转入步骤2.16。
步骤2.17选择容器S中最大的一个元素,即为检测出的水印信息的相似度Sm,根据Sm判断检测出的水印信息是否合法,转入步骤2.19。
步骤2.18水印检测失败,完成水印信息检测过程。
步骤2.19若Sm≥0.9,则水印检测成功且水印信息合法,否则水印信息不合法。完成水印信息检测过程。
可见,本发明提供了一种基于电子图章的可见数字图像水印实现方法,可以理解为包括水印信息嵌入过程和水印信息检测过程,其中:
水印信息嵌入的过程为:对需要嵌入水印的电子图章进行扫描检测,获得其像素信息,根据图章的信息确定水印嵌入的方式及嵌入的具体位置。临时生成一张随机的映射表,对需要嵌入图章中的水印信息使用该映射表进行随机映射,得到实际用于嵌入的水印信息,然后将该水印信息嵌入待嵌入位置;
水印信息检测的过程为:对待检测的电子图章进行扫描,获得其具体的像素信息,根据水印的嵌入规则从中提取像素信息,将提取到的像素信息以旋转匹配以及阈值处理的方法生成待验证水印与原始的水印信息进行对比,判断该图章是否合法。
本发明的非盲水印实现方法可以抵抗旋转、缩放、JPEG压缩、噪声等常规单一攻击,并且在抵抗联合攻击上也表现出较强的鲁棒性。
综上所述,本发明基于电子图章的可见数字图像水印实现方法,在水印信息预处理过程中使用映射表加密水印信息可以防止大量的机器实验模拟出水印的嵌入规则防止水印的伪造。在嵌入过程中根据图章的环宽和嵌入水印信息量的大小确定水印的嵌入规则是的嵌入更佳灵活难以伪造。在水印信息提取过程中使用旋转匹配的方法以及阈值处理的方法可以增强水印信息的识别率。本发明的技术方案在鲁棒性上,可以抵抗旋转、缩放、JPEG压缩、噪声等常规单一攻击,并且在抵抗联合攻击上也表现出较强的鲁棒性。

Claims (8)

1.一种基于电子图章的可见数字图像水印的嵌入方法,其特征在于:包括如下步骤:
S10:用ASCII码的值表示待嵌入的水印,然后依据预先确立的规则和映射关系对各编码进行变换后得到水印信息;
S20:扫描待嵌入水印的电子图章,获得其像素信息;
S30:依据所获取的像素信息和水印信息,确认水印嵌入的方式和位置;
S40:依据所确认的水印嵌入方式和位置,实现水印的嵌入;
对各编码进行变换所依据的规则和映射关系通过以下步骤确立:
S001:基于ASCII表,选取一ASCII码区间33-127的95个字符,将其依次置于一个字符表容器V中;
S002:针对每个字符随机生成一个互不重复的整数,且所有整数均落在[0,94]内;
S003:依据每个字符所对应生成的整数,将各字符换至该整数所示的次序位置;进而生成映射表M,其中M[i]=Ω(V[i]),Ω(V[i])是ASCII码为V[i]的字符,Ω为映射规则;
在所述步骤S10中,先将待嵌入的水印转换成对应的ASCII码,存储得到水印字符容器L,对其中每个ASCII码的码值减去32,然后依据步骤S003确立的映射规则对水印字符容器L中的元素进行映射变换,得到水印容器W,其中,W[i]=Ω(V[L[i]]),最后将水印容器中的字符用二进制数表示,存入二进制水印容器realCode,从而得到所述水印信息;
所述步骤S20进一步包括:
S201:对待嵌入水印的印章图像进行扫描,分别从左从左到右、从右到左、从上到下、从下到上检测得到印章图章中圆的四条切线;
S202:根据所确定的切线确定印章图像圆心的坐标(c、r)和印章图像的圆环的外圈半径R;
S203:沿着过圆心的直线的方向进行检测,确定印章图像的圆环的环宽realborder;
所述像素信息至少包括步骤S202确定的圆心的坐标(c、r)和印章图像圆环的外圈半径R,以及步骤S203确定的环宽;
所述步骤S30进一步包括:
若所述环宽realborder小于一预设的值,则确认该印章图像的圆环只适合嵌入一圈水印,且该水印的嵌入半径为:
R1=R-realborder/2;
水印嵌入的坐标为(x,y),其中:
x=Cosα*R1+c;y=Sinα*R1+r
若所述环宽realborder不小于一预设的值,则确认该印章图像的圆环适合嵌入两圈水印,且该水印的嵌入半径为:
R1=R-realborder/3;R2=R-(realborder/3)*2
第一圈水印嵌入的坐标为(x,y),其中:
x=Cosα*R1+c;y=Sinα*R1+r
第二圈水印嵌入的坐标为(x,y),其中:
x=cosα*R2+c,y=sinα*R2+r
realCode_num为二进制水印容器realCode中数码的个数;
i为二进制水印容器realCode中数码的序号;
得到二进制水印容器realCode中每个数码对应的坐标;
在所述步骤S40中,依据所确定的各坐标进行水印的嵌入。
2.如权利要求1所述的基于电子图章的可见数字图像水印的嵌入方法,其特征在于:所述步骤S203进一步包括:
沿着过圆心的直线依次检测直线上点的颜色,自第一个检测到的具有图章颜色的点开始:
每检测到一个点,无论其是图章颜色还是白色,累积叠加计算一个宽度值;其中,每当在具有颜色的点后检测到一个白色点时,则开始计算一个间隔值,且针对后续连续出现的每个白色点累积叠加计算一个间隔值,直至出现新的非白色点,或连续累积计算的间隔值达到预先自定义的阈值,若达到预先自定义的阈值,则停止检测,利用累积计算得到的宽度值减去本次累积计算得到的间隔值,最终得到所述环宽realborder。
3.如权利要求1所述的基于电子图章的可见数字图像水印的嵌入方法,其特征在于:在所述步骤S30中,确认水印嵌入的位置与方式时,包括确认水印嵌入印章图像的具体坐标(x,y);在所述步骤S40中,依据所确定的坐标将二进制水印容器中水印信息的0或1数码依据顺序嵌入到印章图像;
嵌入时,若对应的数码为1,则对应的坐标(x,y)处不做变化,若对应的数码为0,则将以对应坐标(x,y)为中心的一个边长为N的正方形区域内的所有点变为白色。
4.一种基于电子图章的可见数字图像水印的检测方法,其特征在于:用以实现对通过如权利要求1至3任意之一所述的基于电子图章的可见数字图像水印的嵌入方法嵌入的电子印章进行检测,包括如下步骤:
S0:扫描待检测的电子图章,获得其像素信息;
S1:依据嵌入时的规则提取水印信息;
S2:将所提取的水印信息与原始的水印信息进行比对,根据两者的相似度判断所检测的电子印章的水印是否合法。
5.如权利要求4所述的基于电子图章的可见数字图像水印的检测方法,其特征在于:
所述步骤S0进一步包括:
S01:对待嵌入水印的印章图像进行扫描,分别从左到右、从右到左、从上到下、从下到上检测得到印章图章中圆的四条切线;
S02:根据所确定的切线确定印章图像圆心的坐标(c、r)和印章图像的圆环的外圈半径R;
S03:沿着过圆心的直线的方向进行检测,确定印章图像的圆环的环宽realborder;
所述像素信息至少包括步骤S02确定的圆心的坐标(c、r)和印章图像圆环的外圈半径R,以及步骤S03确定的环宽。
6.如权利要求5所述的基于电子图章的可见数字图像水印的检测方法,其特征在于:所述步骤S1包括:
S11:依据所确立的环宽确立水印的圈数,进而得到每圈水印的半径;
S12:针对每圈水印,依据其半径和圆心,查找圆环的白色的点,依据白色的点找到边长为N的正方形区域,进而确认其水印信息为1;
S13:将这些水印信息依次记录于检测水印容器F。
7.如权利要求6所述的基于电子图章的可见数字图像水印的检测方法,其特征在于:在所述步骤S12中,若所找到的边长为N的正方形区域中白色点的个数满足以下公式:
则确认其水印信息为1,在步骤S13中进行记录。
8.如权利要求4所述的基于电子图章的可见数字图像水印的检测方法,其特征在于:在所述步骤S1中,至少包括依据所提取的水印信息得到检测水印容器F;所述步骤S2进一步包括:
依次将检测水印容器F中每8位二进制组成一个单字节数Bi存入比较容器B中,其中:
Bi=b0*27+b1*26+b2*25+b3*24+b4*23+b5*22+b6*21+b7*20
依次比较检测水印容器B和原始水印信息对应的容器W中每个相同位置的元素,针对每个8位二进制数:
累积计算字符相同的元素个数si
对应的相似度Si通过以下公式计算:
Si=si*8/realcode_num;
进而得到相似度容器S;
最后选择相似度容器S中最大的一个元素Sm,将其与预设的置信相似度ST进行比较,若大于ST,则认为该水印合法。
CN201610069482.5A 2016-02-01 2016-02-01 基于电子图章的可见数字图像水印的嵌入与检测方法 Active CN105741226B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610069482.5A CN105741226B (zh) 2016-02-01 2016-02-01 基于电子图章的可见数字图像水印的嵌入与检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610069482.5A CN105741226B (zh) 2016-02-01 2016-02-01 基于电子图章的可见数字图像水印的嵌入与检测方法

Publications (2)

Publication Number Publication Date
CN105741226A CN105741226A (zh) 2016-07-06
CN105741226B true CN105741226B (zh) 2019-01-08

Family

ID=56242143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610069482.5A Active CN105741226B (zh) 2016-02-01 2016-02-01 基于电子图章的可见数字图像水印的嵌入与检测方法

Country Status (1)

Country Link
CN (1) CN105741226B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106803230A (zh) * 2017-01-16 2017-06-06 浙江工业大学 一种基于数字水印的图像加密方法
CN110415153A (zh) * 2018-04-27 2019-11-05 北京大学 一种水印嵌入方法、系统以及一种水印提取方法和系统
CN109190340A (zh) * 2018-09-13 2019-01-11 中国农业银行股份有限公司 一种网页数字水印生成、识别、打印方法及装置
CN110619597A (zh) * 2018-11-06 2019-12-27 北京时光荏苒科技有限公司 一种半透明水印去除方法、装置、电子设备及存储介质
CN109460757A (zh) * 2018-11-16 2019-03-12 上海中信信息发展股份有限公司 印章位置识别方法及装置
CN111339995B (zh) * 2020-03-16 2024-02-20 合肥闪捷信息科技有限公司 一种基于神经网络的敏感图像识别方法
CN113784011B (zh) * 2020-06-10 2024-01-23 深圳艾派网络科技股份有限公司 公文流程印章图片的防伪方法
CN111784554A (zh) * 2020-06-15 2020-10-16 江苏诚印科技有限公司 印章嵌入信息的处理方法、数字水印提取方法和印章处理系统
CN112634119B (zh) * 2020-12-24 2022-07-29 深圳壹账通智能科技有限公司 水印添加方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192001A (ja) * 2003-12-26 2005-07-14 Toshiba Corp 電子透かし埋め込み方法および電子透かし埋め込み装置
CN101082981A (zh) * 2007-05-22 2007-12-05 中山大学 一种二值图像的水印嵌入和提取方法
CN103136718A (zh) * 2013-03-13 2013-06-05 上海理工大学 抗几何变换的实用彩色图数字水印技术

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005192001A (ja) * 2003-12-26 2005-07-14 Toshiba Corp 電子透かし埋め込み方法および電子透かし埋め込み装置
CN101082981A (zh) * 2007-05-22 2007-12-05 中山大学 一种二值图像的水印嵌入和提取方法
CN103136718A (zh) * 2013-03-13 2013-06-05 上海理工大学 抗几何变换的实用彩色图数字水印技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"数字博物馆中的图像盲水印技术";周季峰 等;《计算机应用研究》;20061231;正文第2节

Also Published As

Publication number Publication date
CN105741226A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN105741226B (zh) 基于电子图章的可见数字图像水印的嵌入与检测方法
CN106447590B (zh) 数字图像中水印的加入及提取方法
Yang et al. Binary image authentication with tampering localization by embedding cryptographic signature and block identifier
CN108229596B (zh) 组合二维码、电子证书载体、生成、识读装置及方法
Amano et al. A feature calibration method for watermarking of document images
CN103761702B (zh) 一种基于秘密共享的图像隐藏和认证方法
CN107742272B (zh) 一种基于图像篡改定位及恢复的半脆弱性水印方法
CN101197678B (zh) 图片验证码生成方法和图片验证码生成装置
CN102306305B (zh) 一种基于生物特征水印的安全身份认证方法
CN103761799A (zh) 一种基于纹理图像特征的票据防伪方法和装置
CN102722737B (zh) 一种纸质文档防篡改方法
CN105550730B (zh) 一种安全二维码制作方法、解码方法及安全二维码标识
CN105488434B (zh) 一种基于标记的矢量地图完整性认证方法
CN101393635B (zh) 水印信息的嵌入、提取方法和装置、以及处理系统
CN108010097A (zh) 验证码图像的生成、验证方法及装置
CN105701757A (zh) 基于数字水印和图形码的产品防伪方法及装置
KR20070052332A (ko) 화상 처리 방법 및 화상 처리 장치
Saikia et al. Image authentication under geometric attacks via concentric square partition based image hashing
Dadkhah et al. Efficient digital image authentication and tamper localization technique using 3lsb watermarking
He et al. Self-recovery fragile watermarking using block-neighborhood tampering characterization
CN110349072B (zh) 一种矢量地理数据水印嵌入和检测过程中的水印同步方法
CN105741222A (zh) 一种基于像素子集嵌入率估计的隐写信息定位方法
CN1710610A (zh) 一种抗数模模数变换过程的数字水印防伪方法
CN108959898B (zh) 一种基于图形加算法的图形解锁密码认证方法
CN111898558B (zh) 一种多维度加密隐藏顺序的多重签名保护和识别方法

Legal Events

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