基于DWT小波变换的数字图像水印算法(Python程序+软件)

这篇具有很好参考价值的文章主要介绍了基于DWT小波变换的数字图像水印算法(Python程序+软件)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、基本原理

1.1 小波变换的基本原理

1.2 图像置乱技术

2、水印的嵌入与提取具体实施步骤

2.1  水印嵌入算法

2.2 水印攻击算法

2.3 水印提取算法

3、算法性能评估

3.1  鲁棒性测试

3.2 不可见性测试


1、基本原理

       本文实现的DWT水印嵌入及提取算法主要包含三部分程序:水印的嵌入、水印的提取、水印图像的攻击,其完成之后的效果如下图所示:

基于DWT的水印嵌入和去除(Python)

        接下来将主要讲述如何使用小波变换给图像添加水印以及去除水印

1.1 小波变换的基本原理

         小波变换是一种窗口面积固定但其形状可变的时频局部化分析方法即在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,这正符合低频信号变化缓慢而高频信号变化迅速的特点所以被称为数学显微镜。因为小波变换具有良好的时频特性,基于小波变换的数字水印技术这几年己成为图像水印技术的热点。

        其优势主要表现在:一是可以保证在“JPEG-2000”有损压缩下水印不会被去除;二是可以将图像编码研究中关于视觉特性的研究成果用于水印技术;三是有可能提供在压缩域中直接嵌入水印的方法。除此之外,选择在小波域中嵌入水印,主要是因为小波的多分辨思想和人类视觉特性是一致的。从小波的特性可知,图像不同的小波分解级反映了不同的图像空间频率特征。

        人类视觉系统也和小波分解一样,将图像信息分成不同的部分,并且各个部分通过不同的通道进入视觉皮层,所分解的各个部分分别具有以下特性:(1)反映了图像的空间位置信息,(2)反映了图像的空间频率信息(3)反映了图像的方向信息水平、垂直、对角。因此在小波域选择适当的水印嵌入位置和嵌入强度是非常重要的。

1.2 图像置乱技术

        图像置乱是一种图像加密技术,就是利用某种算法将一幅图像各像素的次序打乱,但像素的总个数不变,图像的直方图不变。由于对水印进行置乱可以消除水印像素的空间相关性,因此能提高水印抗图像剪裁操作的鲁棒性。

        Arnold变换是在遍历理论中提出的一种变换,又称猫脸变换,设想在平面单位正方形内绘制一张猫脸图像,猫脸变换式为:

                基于DWT小波变换的数字图像水印算法(Python程序+软件)

        通过变换,猫脸图像由清晰变模糊,这实际上是一种点的位置移动,并且这种变换是一一对应的,从采样理论的角度看,数字图像可看作是在二维连续曲面上,按照某种策略进行采样所得到的一个二维离散点的阵列,即一个图像矩阵。对于N×N 的正方形数字图像,可进行离散化的Arnold变换

基于DWT小波变换的数字图像水印算法(Python程序+软件)

         利用上式,对图像中的像素点逐一实施坐标变换,当遍历图像中所有的像素点之后,便产生了置乱后的图像。此外,这个变换可以迭代做下去,以产生不同结果的置乱图像,直到达到要求为止。变换还具有周期性,当迭代到某一步时,将重新得到原始图像。

        

2、水印的嵌入与提取具体实施步骤

2.1  水印嵌入算法

1)、水印嵌入算法步骤原图和水印图像,并灰度化。

2)、对水印图进行Arnold置乱,同时对原始图像进行二级小波变换获取低频区域(本文自适应是通过考虑水印鲁棒性,因此将水印信息嵌入图像低频子带中,即通过二级小波分解做到水印自适应嵌入位置)。

3)、对低频区域进行水印嵌入,然后进行二级小波变换重构,得到嵌入图像。

基于DWT小波变换的数字图像水印算法(Python程序+软件)

      图1  二级小波变换图

2.2 水印攻击算法

使用常见的图像攻击算法:JPEG压缩、图像旋转、图像缩放、图像裁剪、滤波、噪声等

2.3 水印提取算法

1)、对被攻击图像进行二级小波分解,获取低频区域

2)、依据嵌入规则,反计算提取水印

3)、进行Arnold反置乱,对反置乱图进行反逻辑计算得到水印提取图。

3、算法性能评估

3.1  鲁棒性测试

        为了验证与比较该算法的鲁棒性,对含水印的载体图像进行一系列的攻击测试,提取出水印图像,计算与原始水印图像的相似度(NC值)其计算公式如下所示。本文测试用的攻击包括噪声攻击、缩放攻击、滤波攻击、裁剪攻击、旋转攻击。

基于DWT小波变换的数字图像水印算法(Python程序+软件)

        其中,W表示原始水印图像,w' 表示提取出来的水印图像,W(i,j) {0,1}。NC 值越大,水印图像的误码率越低,即相似度越高,鲁棒性越好。

3.2 不可见性测试

        为了公正、客观地评价水印算法,必须选择有效的图像视觉失真度计算准则,以对嵌入水印前后载体图像的差异进行衡量,从而评估算法的保真度。本文采用PSNR (峰值信噪比)来评价图像感知质量,计算公式如下:

基于DWT小波变换的数字图像水印算法(Python程序+软件)

        其中D为信号的峰值其中,8位深度图像像素的峰值为 255。峰值信噪比对图像失真的衡量效果较好且计算效率较高,故本文采用PSNR来计算原始图像与含水印图像之间的差别情况。

3.3 知识付费

需要私聊

参考文献

[1] 李欣. 基于DWT的数字图像水印技术及MATLAB实现[J]. 电脑知识与技术:学术版, 2010, 6(10):3.

[2] 吴翩卉, 王春枝. 基于DWT数字图像水印技术研究[J]. 电脑与电信, 2012(5):3.

[3] 张宝来. 小波变换在数字图像水印技术中的应用研究[D]. 东北石油大学, 2017.

        文章来源地址https://www.toymoban.com/news/detail-449325.html

到了这里,关于基于DWT小波变换的数字图像水印算法(Python程序+软件)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (数字图像处理MATLAB+Python)第四章图像正交变换-第四、五节:Radon变换和小波变换

    Radon变换 :是一种用于将图像从空间域转换到投影域的数学工具,其基本思想是将图像中每个点的灰度值投影到一组直线上,然后将这些投影合并在一起形成投影域。Radon变换可以用于多种图像处理任务,包括图像重建、特征提取、图像分割等 Radon变换原理 :给定一个函数

    2023年04月20日
    浏览(34)
  • Matlab 离散小波变换函数 dwt2() 原理介绍与实验

    离散小波变换(DWT)的原理介绍和说明请参考文章: 【DWT笔记】傅里叶变换与小波变换 这篇文章写的通俗易懂,小白也能看懂。 1.1 小波变换简介 离散小波变换(DWT)的原理介绍和说明请参考文章:【DWT笔记】傅里叶变换与小波变换 这篇文章写的通俗易懂,小白也能看懂。

    2024年02月04日
    浏览(30)
  • 类EMD的“信号分解方法”及MATLAB实现(第八篇)——离散小波变换DWT(小波分解)

    在之前的系列文章里,我们介绍了EEMD、CEEMD、CEEMDAN、VMD、ICEEMDAN、LMD、EWT,我们继续补完该系列。 今天要讲到的是小波分解,通常也就是指离散小波变换(Discrete Wavelet Transform, DWT)。在网上有一些介绍该方法的文章,但是总感觉不够通俗或不够透彻,希望读完这篇能让你有

    2024年02月07日
    浏览(36)
  • 基于小波变换的图像融合(附加视频融合)代码

    小波分析是一个比较难的分支,用户采用小波变换,可以实现图像压缩,振动信号的分解与重构等,因此在实际工程上应用较广泛。小波分析与Fourier变换相比,小波变换是空间域和频率域的局部变换,因而能有效地从信号中提取信息。小波变换通过伸缩和平移等基本运算,实

    2023年04月21日
    浏览(40)
  • 计算机视觉 | 基于二值图像数字矩阵的距离变换算法

    Hi,大家好,我是半亩花海。 本实验基于 OpenCV 实现了二值图像数字矩阵的距离变换算法。首先生成一个 480x480 的黑色背景图像(定义黑色为0,白色为1),在其中随机选择了三个白色像素点作为距离变换的原点,利用 OpenCV 中 distanceTransform 等相关函数计算并输出这些原点到其

    2024年04月11日
    浏览(30)
  • 【语音隐写】DCT+DWT+SVD音频数字水印嵌入提取【含Matlab源码 1408期】

    获取代码方式1: 完整代码已上传我的资源:【语音隐写】基于matlab DCT+DWT+SVD音频数字水印嵌入提取【含Matlab源码 1408期】 点击上面蓝色字体,直接付费下载,即可。 获取代码方式2: 付费专栏Matlab语音处理(初级版) 备注: 点击上面蓝色字体 付费专栏Matlab语音处理(初级

    2024年02月22日
    浏览(38)
  • 【红外与可见光图像融合】离散平稳小波变换域中基于离散余弦变换和局部空间频率的红外与视觉图像融合方法(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码及文献 基于

    2024年02月07日
    浏览(34)
  • 【MATLAB图像处理实用案例详解(8)】—— 图像数字水印算法

    数字水印技术作为信息隐藏技术的一个重要分支,是将信息(水印)隐藏于数字图像、视频、音频及文本文档等数字媒体中,从而实现隐秘传输、存储、标注、身份识别、版权保护和防篡改等目的。 随着 1996 年第一届信息隐藏国际学术研讨会的召开,数字水印技术的研究得到了迅

    2024年02月10日
    浏览(43)
  • 图像处理01 小波变换

    连续小波分解,通过改变分析窗口大小,在时域上移动窗口和基信号相乘,最后在全时域上整合。通过离散化连续小波分解可以得到 伪离散小波分解, 这种离散化带有大量冗余信息且计算成本较高。 小波变换的公式如下: ​ ​​ ​​ ​ ​ 更直观的可以用下面的图片来表

    2024年02月05日
    浏览(28)
  • 基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 matlab2022a 水印嵌入原理        LABS方法 在这里不太明确,如果指的是色彩空间转换,可能是在嵌入或提取阶段将RGB图像转换至LAB色彩空间,因为LAB空间更适合人眼对颜色的感

    2024年04月27日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包