精华内容
下载资源
问答
  • 基于小波分解的图像数字水印算法,全文包括数字水印嵌入和提取
  • 利用离散余弦变换的DCT对图像像素值频域系数矩阵进行变换,实现了盲水印嵌入和提取。 成功后,图像会受到白噪声高斯低通滤波的攻击。 结果表明,基于DCT算法嵌入水印信号具有较强的鲁棒性,可以有效抵抗...
  • 基于小波变换的数字水印嵌入和提取,李栩,刘达通,本文是应用小波分析知识处理数字水印问题的一个初步尝试。文章先简要介绍了数字水印的基本原理,然后着重讨论了小波理论在数字水
  • DCT数字水印嵌入提取过程 还有几种攻击方式 毕业设计可以使用 各位毕业设计课题相关的可以看看 有不明白的地方可以留言 我看到会尽快回答
  • 里面有具体实现代码以及图片资源,需要的可以下载
  • 行业分类-嵌入式设备-基于像元扩充的全息数字水印嵌入和提取方法.zip
  • 基于小波变换的数字水印嵌入提取_matlab代码,小波变换,水印嵌入,水印提取,MATLAB
  • 行业分类-嵌入式设备-基于量子杂草寻优机制的小波数字水印嵌入和提取方法.zip
  • 基于DWT的数字水印嵌入提取 思路清晰 有MATLAB代码,原理介绍详细;
  • 完整的离散余弦变换实现数字水印嵌入提取 MATLAB代码 内含调用程序 有需要请进
  • 本报告重点介绍数字水印嵌入提取算法。数字水印根据水印的嵌入技术不同分为空间域数字水印和变换域数字水印。本报告将分别介绍数字水印的空间域算法变换域算法,并结合图像质量评价参数峰值信噪比(PSNR)分析...

    数字水印嵌入与提取

    //本篇报告所有内容已上传csdn我的资源中(包括源码与报告word和ppt),欢迎大家下载进行进一步修改研究。
    

    摘要:本报告重点介绍数字水印的嵌入与提取算法。数字水印根据水印的嵌入技术不同分为空间域数字水印和变换域数字水印。本报告将分别介绍数字水印的空间域算法和变换域算法,并结合图像质量评价参数峰值信噪比(PSNR)分析这两种算法的优缺点。

    1. 引言

           随着互联网的普及和数字技术的广泛应用,数字产品变得极大丰富并且传播便捷,同时版权保护问题也日益突出。传统的信息安全技术在数字产品版权保护方面存在的不足,促成了数字水印技术的发展。数字水印技术将数字水印隐藏于数字媒体中,以便在版权纠纷中为版权所有者提供版权证明。数字水印根据水印的嵌入技术不同分为空间域数字水印和变换域数字水印。空间域算法包含叠加法和最低有效位(LSB)图像水印法等,变换域算法包含小波变换法等。实验部分使用Matlab软件进行,并分别用这三种方法对图像数字水印进行嵌入与提取。最后在相同的水印信号条件下,结合这三种方法所产生的含水印图像的峰值信噪比,分析了这三种方法的优缺点。

    2. 数字图像水印算法

           数字水印技术是一种基于内容的、非密码机制的计算机信息隐藏技术。它可以将一些标识信息直接嵌入数字载体当中,且不影响原载体的使用价值,也不容易被探知和再次修改,从而实现保护版权、信息隐藏的功能。数字水印按照特性可以分为鲁棒数字水印和脆弱数字水印。本部分重点研究脆弱数字水印的应用,同时分别分析三种水印算法的机理和效果。

    2.1 数字图像水印算法的基本框架

           如图一所示的是水印嵌入与提取流程图,根据密钥和水印产生算法生成水印信号,通过水印嵌入算法,将水印信号和原始图像进行结合, 得到嵌入了水印的作品。然后,在水印信号提取过程中,可以在相同的密钥下,通过水印产生算法恢复出水印信号。需要注意的是,特定的密钥对水印的嵌入和提取至关重要。

    图1

    图一:水印嵌入与提取流程图

    2.2 叠加法

            叠加法通过对原始图像灰度值进行处理,将其按照某个权重叠加上水印图像灰度值即可得到加入水印的图像。同理,若想恢复出水印图像,可以直接将加入水印的图像减去原始图像。实验结果如图二所示。
    在这里插入图片描述

    图二:叠加法效果图

         在Matlab中对图像灰度值进行处理要先将图像变换成double类型,然后再进行简单叠加操作。代码如下所示:

    imNew=uint8(double(imOri)+0.01*double(imWat)) ;%水印图像灰度权重设为0.01
    

    2.3 最低有效位(LSB)图像水印法

              最低有效位算法是一种典型的空间域信息隐藏算法。对于一张8位灰度图像,它的灰度数值可以表示为0到255,那么可以将其分割为从低到高的8位比特平面。因为高位比特平面所占的灰度权重较高,由此可以直接将水印信号的高位比特平面替换原始图像的低位比特平面,从而达到水印嵌入的效果。对于水印提取的过程可以根据加入水印图像的低位比特平面直接进行恢复提取。
             将lena图像的第六位到第八位比特平面特换掉cameraman图像比特平面的第一位到第三位,同时保留cameraman图像原本的高位比特平面。实验结果如图三所示。
    在这里插入图片描述

    图三:最低有效位算法效果图

            由于低位比特平面所占像素权重不高,所以加入水印的图像不仅效果较好,而且可以很好地隐藏信息。通过代码可以实现低位比特平面恢复水印图像,代码如下,结果如图三所示。

    newimgW=newimgW+bitPlaneRec(:,:,i)*2^(4+i); %低位比特平面转移到高位比特平面
    

    在这里插入图片描述

    图四:低位比特平面水印复原图像

    2.4小波变换法

            小波变换是空间时间和频率的局部变换,能有效地从信号中提取信息,通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,达到高频处时间细分和低频处频率细分。一般来说,在数字图像处理中使用的是离散小波变换对图像进行处理,图像被变换成低频域(代表图像的概貌)和高频域(代表图像的细节)两部分,并且高频部分可以分为代表图像水平方向分量的HL,代表图像垂直方向分量LH,以及代表图像对角线方向分量的HH三部分区域。低频系数代表它所在的小波块对应的图像块的平均亮度,高频系数代表图像的纹理和边缘部分。如果对低频区域再进一步进行小波变换,则低频域将按照上述原则递归生成更高一级的低频和高频区域。如图四为图像进行三级分解的结构示意图。
    在这里插入图片描述

    图五:三级小波分解结构图与示例图

            图像经过小波变换后生成的小波图像的数据总量与原图像的数据总量相等, 通过将原始图像和水印信号的小波变换低频系数相加,最终可以得到新的小波域系数,再经过一次小波反变换最终可以获得嵌入水印的图像。水印恢复可以表示为水印信号减去原始信号。图五为小波变换法效果图。
    核心代码如下所示:

    imNew =uint8(ihaart2(LLwatermarked,LHorig,HLorig,HHorig)); %添加水印图像
    imagesc(double(imNew)-double(imOri));%恢复水印
    

    在这里插入图片描述

    图六:小波变换法效果图

    3. 水印图像质量评价与分析

    图像质量评价通常从两个方面进行,分别是主观评价和客观评价,客观评价通常借由一些特定的指标进行,如PSNR(峰值信噪比)和SSIM(结构相似性)。本部分结合图像质量评价参数峰值信噪比(PSNR)分析前一部分介绍的三种图像水印算法的优缺点。

    3.1 峰值信噪比(PSNR)

            PSNR定义公式为:
    在这里插入图片描述

            其中MSE为两幅图像像素点之间的均方误差,MAX表示为灰度最大值,对于一幅8位灰度图像,MAX为255。对于一般的水印图像,更高的PSNR值意味着图像有更好的性能。

    3.2 三种水印算法比较与分析

            将原始图像设置为lena图,加入水印图像为一张qq头像,确保水印嵌入比例均为0.01,表一结合三种水印算法的matlab仿真结果,对比了三种算法加入水印图像与原始图像之间的PSNR值。

    表一:三种水印算法PSNR值对比
    水印算法叠加法LSB图像水印法小波变换法
    PSNR/dB43.3636.1143.85

          由表分析可得,通过小波变换法加入水印图像比LSB水印法加入水印图像的PSNR值要高将近8个dB,具有更好的表现性能。同时,相较于叠加法,小波变换法更利于水印信号的隐蔽,它能将水印信息分布到空域的所有像素当中去,有利于保证水印的不可感知性,鲁棒性更强。

    参考文献

    [1] 尹浩,林闯,邱锋,丁嵘.数字水印技术综述[J].计算机研究与发展,2005(07):1093-1099.
    [2] 韦志辉,秦鹏,欧阳宏彬,富煜清.基于小波域中视觉门限模型的数字水印技术[J].东南大学学报,1998(05):46-50.
    [3] 杜江. 信息隐藏与数字水印技术研究[D].西安电子科技大学,2001.
    [4] 易开祥. 数字图象加密与数字水印技术研究[D].浙江大学,2001.
    [5] 董卫军. 基于小波变换的图像处理技术研究[D].西北大学,2006.
    [6] 边杏宾. 数字水印技术及应用研究[D].电子科技大学,2009.

    展开全文
  • 数字水印程序,包括多分辨嵌入水印、提取水印程序,盲水印嵌入提取程序,以及滤波攻击JPEG攻击程序,PSNR相似度计算公式(MATLAB)。
  • 在前面博文讲解位平面分解的时候,我们就提到过可以通过位平面分解的方式给图像添加水印。而数值水印是图片版权用到最多的加密方式。 通过在最低有效位的位平面分解图中隐藏二值图像信息,具有极高的隐蔽性。所以,...

    前言

    在前面博文讲解位平面分解的时候,我们就提到过可以通过位平面分解的方式给图像添加水印。而数值水印是图片版权用到最多的加密方式。

    通过在最低有效位的位平面分解图中隐藏二值图像信息,具有极高的隐蔽性。所以,友情提示各位程序员,不要以为网上的图像可以随便用,现在的加密方式真是让你防不胜防。就算你知道了添加数值谁水印的原理,恐怕也无法找到其哪个是秘密的信息。(尊重版权,不要存在侥幸心理)

    数字水印的处理过程

    从位平面来看,数字水印的处理过程分为如下几步:

    (1)嵌入过程:将载体图像的第0个位平面替换为数字水印信息。

    (2)提取过程:将载体图像的最低有效位平面提取出来,得到数字水印信息。

    代码实现嵌入与提取数字水印

    原理我们都清楚之后,我们可以直接开始编写代码:

    import cv2
    import numpy as np
    
    img = cv2.imread("4.jpg", 0)
    watermark = cv2.imread("watermark.jpg", 0)
    #因为水印图像就是让人不易察觉也不影响原图像,所以要将水印非0位全部替换位最小值1
    w = watermark[:, :] > 0
    watermark[w] = 1
    #嵌入水印
    r, c = img.shape
    #生成元素都是254的数组
    img254=np.ones((r,c),dtype=np.uint8)*254
    #获取高7位平面
    imgH7=cv2.bitwise_and(img,img254)
    #将水印嵌入即可
    water_img=cv2.bitwise_or(imgH7,watermark)
    cv2.imshow("1",img)
    cv2.imshow("2",watermark*255)
    cv2.imshow("3",water_img)
    #生成都是1的数组
    img1=np.ones((r,c),dtype=np.uint8)
    #提取水印
    water_extract=cv2.bitwise_and(water_img,img1)
    
    #将水印里面的1还原成255
    w=water_extract[:,:]>0
    water_extract[w]=255
    cv2.imshow("4",water_extract)
    
    cv2.waitKey()
    cv2.destroyAllWindows()
    

    前面我们介绍过,图像的最低位平面就是00000001,而其他7个位平面合并就是11111110,也就是254,所以我们创建了一个全部为254的数组。通过它获取高7个位平面,然后与数字水印图合并即可。

    同样的,提取图像中数字水印,我们只需要获取最低有效位平面,然后将其1值,全部换成255,就可以显示出原水印图。

    运行之后,显示的效果如下图所示:
    数字水印

    展开全文
  • DWT数字水印嵌入提取过程 还有几种攻击方式 毕业设计可以使用 各位毕业设计课题相关的可以看看 有不明白的地方可以留言 我看到会尽快回答
  • 基于小波变换的数字水印嵌入提取_matlab代码,小波变换,水印嵌入,水印提取,MATLAB亲测可用, 谢谢支持。
  • 使用matlab实现的小波变换彩色图像水印嵌入和提取程序,里面有素材,可以直接运行。亲测可用, 谢谢支持。
  • // WaterMark.h : main header file for the WATERMARK application // #if !defined(AFX_WATERMARK_H__6895B557_4450_4088_810E_A87674673BCB__INCLUDED_) #define AFX_WATERMARK_H__6895B557_4450_4088_810E_A...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,978
精华内容 791
关键字:

数字水印的嵌入和提取