CN101504758A - 基于dct算法数字图像水印嵌入方法 - Google Patents
基于dct算法数字图像水印嵌入方法 Download PDFInfo
- Publication number
- CN101504758A CN101504758A CNA2009100215642A CN200910021564A CN101504758A CN 101504758 A CN101504758 A CN 101504758A CN A2009100215642 A CNA2009100215642 A CN A2009100215642A CN 200910021564 A CN200910021564 A CN 200910021564A CN 101504758 A CN101504758 A CN 101504758A
- Authority
- CN
- China
- Prior art keywords
- image
- sigma
- piece
- pixel
- sub
- 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.)
- Pending
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
一种基于DCT算法数字图像水印嵌入方法,包括如下步骤:第一步,将原始公开图像和黑白水印图像分别读取到二维数组I和W;第二步,将原始公开图像I和水印图像W分别分割为互不覆盖的2N×2N个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换;第三步,取黑白水印图像中的一个元素W(p,q)嵌入纹理复杂的子块中;第四步,对嵌入水印信息后的图像块进行反DCT变换;第五步,合并图像块,得到嵌入黑白水印后的图像;具有防伪、防篡改、认证、保障数据安全和完整性的特点。
Description
技术领域
本发明属于图像水印嵌入技术领域,特别涉及一种基于DCT(离散余弦变换)算法数字图像水印嵌入方法。
背景技术
随着时代的进步,网络和通信技术的迅猛发展给人类的信息交流带来了极大的便利,而多媒体数据的数字化更是推动了多媒体信息的存取,使信息的交流传播达到了前所未有的广度和深度,然而随之而来数字产品版权保护和安全认证问题也变得十分严重,传统的加密技术和数字签名技术不能完全解决版权保护问题,难以满足当今时代的要求。变换域算法嵌入的水印信号能量能够分布到空域所有像素上,是应用较为广泛的一类算法,但其嵌入位置为整个图像,不利于水印的不可见性。
发明内容
为了克服上述现有技术的不足,本发明的目的在于提出了一种基于DCT(离散余弦变换)算法数字图像水印嵌入方法,具有防伪、防篡改、认证、保障数据安全和完整性的特点。
为了实现上述目的,本发明采用的技术方案是:一种基于DCT算法数字图像水印嵌入方法,包括如下步骤:
第一步,将原始公开图像和黑白水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的2N×2N个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
由于本发明采用DCT算法数字图像水印嵌入方法,该算法将水印嵌入到DCT域感觉容量最重要的系数DC分量上,具有防伪、防篡改、认证、保障数据安全和完整性的特点。
附图说明
图1为本发明水印信息嵌入流程图。
图2为本发明原始水印信息样图。
图3为样图,其中(a)水印嵌入前的样图;(b)为水印嵌入后的样图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
参见附图1、2、3,一种基于DCT算法数字图像水印嵌入方法,包括如下步骤:
第一步,将原始公开图像和黑白水印图像读取到二维数组I与W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的2N×2N个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
实施例一
以128×128像素点大小的原始图像、30×30像素点大小的黑白水印图像为例说明本实施例的实施步骤:
第一步,将128×128像素点大小的原始图像、30×30像素点大小的黑白水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的32×32个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
实施例二:
以256×256像素点大小的原始图像、30×30像素点大小的水印图像为例说明本实施例的实施步骤:
第一步,将256×256像素点大小的原始图像、30×30像素点大小的黑白水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的32×32个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
实施例三:
以512×512像素点大小的原始图像、58×58像素点大小的水印图像为例说明本实施例的实施步骤:
第一步,将512×512像素点大小的原始图像、58×58像素点大小的水印图像分别读取到二维数组I和W。
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的64×64个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
实施例四:
以512×512像素点大小的原始图像、32×32像素点大小的水印图像为例说明本实施例的实施步骤:
第一步,将512×512像素点大小的原始图像、32×32像素点大小的水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的64×64个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
Claims (5)
1、一种基于DCT算法数字图像水印嵌入方法,其特征在于,包括如下步骤:
第一步,将原始公开图像和黑白水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的2N×2N个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
2、根据权利要求1所述的一种基于DCT算法数字图像水印嵌入方法,其特征在于,包括如下步骤:
第一步,将128×128像素点大小的原始图像、30×30像素点大小的黑白水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的32×32个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
其中vi、分别是修改前和修改后的频域系数,α是拉伸系数,ωi是第i个信息位水印;
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
3、根据权利要求1所述的一种基于DCT算法数字图像水印嵌入方法,其特征在于,包括如下步骤:
第一步,将256×256像素点大小的原始图像、30×30像素点大小的黑白水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的32×32个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
4、根据权利要求1所述的一种基于DCT算法数字图像水印嵌入方法,其特征在于,包括如下步骤:
以512×512像素点大小的原始图像、58×58像素点大小的水印图像为例说明本实施例的实施步骤:
第一步,将512×512像素点大小的原始图像、58×58像素点大小的水印图像分别读取到二维数组I和W。
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的64×64个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
5、根据权利要求1所述的一种基于DCT算法数字图像水印嵌入方法,其特征在于,包括如下步骤:
第一步,将512×512像素点大小的原始图像、32×32像素点大小的水印图像分别读取到二维数组I和W;
第二步,将原始公开图像I和黑白水印图像W分别分割为互不覆盖的64×64个图像块,计算子块的平均灰度m和方差σ2,并对原始图像子块进行DCT变换:
其中,N代表自然数;m代表子块的平均灰度;n代表子块中包含像素点数;i代表像素的横坐标;j代表像素的纵坐标;x代表位于(i,j)位置的像素的灰度值;σ2代表子块灰度的方差;
第三步,取黑白水印图像W中的一个元素W(p,q)嵌入纹理复杂的子块中,当σ2小于等于0.01,认为块均匀,反之认为块包含着复杂的纹理:
嵌入规则如下:
加法准则
或乘法准则
第四步,对嵌入水印信息后的图像块进行反DCT变换:
式中u,v=0,1,...,N-1,m,n=0,1,...,N-1,f(m,n)是空域二维向量中的元素,c(u,v)是变换后系数阵列的元素,阵列的大小为N×N。
对每一个频域点按上式进行运算,得到包含黑白水印信息的空间域像素点;
第五步,合并图像块,得到嵌入黑白水印后的图像:
将经过DCT变换的像素点,依然放置在原始位置(x,y)上,即完成了嵌入水印信息的图像的重构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100215642A CN101504758A (zh) | 2009-03-17 | 2009-03-17 | 基于dct算法数字图像水印嵌入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100215642A CN101504758A (zh) | 2009-03-17 | 2009-03-17 | 基于dct算法数字图像水印嵌入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101504758A true CN101504758A (zh) | 2009-08-12 |
Family
ID=40976993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100215642A Pending CN101504758A (zh) | 2009-03-17 | 2009-03-17 | 基于dct算法数字图像水印嵌入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101504758A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662686B (zh) * | 2009-09-07 | 2011-06-15 | 江南大学 | 基于纹理特性的dct域视频水印处理方法 |
CN102096893A (zh) * | 2010-12-28 | 2011-06-15 | 浙江工商大学 | Dct域抗二次打印-扫描鲁棒零水印算法 |
CN103049880A (zh) * | 2012-12-19 | 2013-04-17 | 焦点科技股份有限公司 | 基于离散余弦变换的数字水印方法 |
CN108765256A (zh) * | 2018-07-10 | 2018-11-06 | 天津工业大学 | 基于人类视觉掩盖的一种dct变换的数字水印嵌入方法 |
CN109919822A (zh) * | 2019-01-24 | 2019-06-21 | 南京大学 | 一种数字水印嵌入系统及其实现方法 |
WO2023169516A1 (zh) * | 2022-03-11 | 2023-09-14 | 咪咕视讯科技有限公司 | 一种水印嵌入方法、装置、设备及可读存储介质 |
-
2009
- 2009-03-17 CN CNA2009100215642A patent/CN101504758A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662686B (zh) * | 2009-09-07 | 2011-06-15 | 江南大学 | 基于纹理特性的dct域视频水印处理方法 |
CN102096893A (zh) * | 2010-12-28 | 2011-06-15 | 浙江工商大学 | Dct域抗二次打印-扫描鲁棒零水印算法 |
CN103049880A (zh) * | 2012-12-19 | 2013-04-17 | 焦点科技股份有限公司 | 基于离散余弦变换的数字水印方法 |
CN108765256A (zh) * | 2018-07-10 | 2018-11-06 | 天津工业大学 | 基于人类视觉掩盖的一种dct变换的数字水印嵌入方法 |
CN109919822A (zh) * | 2019-01-24 | 2019-06-21 | 南京大学 | 一种数字水印嵌入系统及其实现方法 |
CN109919822B (zh) * | 2019-01-24 | 2023-03-24 | 南京大学 | 一种数字水印嵌入系统及其实现方法 |
WO2023169516A1 (zh) * | 2022-03-11 | 2023-09-14 | 咪咕视讯科技有限公司 | 一种水印嵌入方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xuehua | Digital watermarking and its application in image copyright protection | |
CN101504758A (zh) | 基于dct算法数字图像水印嵌入方法 | |
Azeroual et al. | Real-time image tamper localization based on fragile watermarking and Faber-Schauder wavelet | |
CN101093574A (zh) | 基于整数小波变换的矢量地理空间数据水印方法 | |
CN102147912A (zh) | 一种基于自适应差值扩展的可逆图像水印方法 | |
CN104268823A (zh) | 一种基于图像内容的数字水印算法 | |
CN101719265B (zh) | 基于计算机全息的数字图像水印嵌入方法及其系统 | |
CN107067363B (zh) | 一种基于像素序关系不变的非盲鲁棒空域图像水印方法 | |
CN103310403B (zh) | 手写特征与数字文件浮水印融合方法 | |
CN103123719B (zh) | 一种图像认证和篡改定位的零水印方法 | |
CN103854652A (zh) | 基于svd和ann的鲁棒盲音频水印算法 | |
CN103366335A (zh) | 基于格网划分的矢量点空间数据全盲水印方法 | |
CN103020496A (zh) | 一种数学水印加密实现方法 | |
Kumar et al. | A hybrid digital watermarking approach using wavelets and LSB | |
Barr et al. | Wavelet transform modulus maxima‐based robust logo watermarking | |
Li et al. | Study on copyright authentication of GIS vector data based on Zero-watermarking | |
CN102750699B (zh) | 一种基于信息熵的图像置乱程度衡量方法 | |
CN104008519A (zh) | 一种基于分数阶混沌映射和加权平均的图像水印方法 | |
CN103971324A (zh) | 一种保护矢量地图数据版权的非对称水印方法 | |
CN101504759A (zh) | 基于dct算法数字图像水印提取方法 | |
CN103971322A (zh) | 宿主图像的水印嵌入方法及含水印图像的水印提取方法 | |
CN101847250A (zh) | 一种基于dct变换的矢量地图数据盲水印方法 | |
CN104036450A (zh) | 一种抗几何攻击的数字水印处理方法 | |
Zhang et al. | A semi-fragile digital watermarking algorithm for 2D vector graphics tamper localization | |
Behravan et al. | Introducing a new method of image reconstruction against crop attack using sudoku watermarking algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090812 |