一、简介

随着互联网普及,信息通讯技术的飞速发展,多媒体技术得到了充分的应用。但是开放的互联网使这些多媒体信息的传输变得不安全,而数字水印技术恰恰能保护这些多媒体信息的传输。数字水印技术通过一定的嵌入算法将一些可以用来标识多媒体数据的来源、版本、作者等标志性信息嵌入到多媒体数据中来保护多媒体数据的版权,但是不影响原始数据的使用和价值,并且不易被人察觉 。根据嵌入位置的不同,数字水印算法分为空域和变换域水印算法。一般而言,变换域水印算法稳健性较好,主要的变换域有离散余弦变换 ( discrete cosine transform DCT)、离散小波变换 ( discrete wavelet transform DWT)和离散傅立叶变换 ( discrete fourier transform DFT)。在变换域中奇异值分解(singular value decomposition SVD) 是一种将矩阵对角化的方法。图像的奇异值有较好的稳定性,利用这个原理可将水印信息嵌入到图像经过奇异值变换后的系数。
1 离散余弦变换和奇异值分解
1.1 离散余弦变换
离散余弦变换(Discrete Cosine Transform, DCT)是 一组不同 频率和幅值的余弦函数和来近似衣服图像,实际上是傅里叶变换的实数部分。由于离散余弦变量对于衣服图像,其大部分可视化信息都集中在少数的变换系数上。因此,离散余弦变量是数据压缩常用的一个变换编码方法,它能将高相关数据能量集中,使得它非常适用于图像压缩。一维离散信号f(x) 的离散余弦正变换为:

二维离散信号 f(x) 的离散余弦正变换为:

1.2 奇异值分解( SVD)

矩阵经过SVD 分解得到 1个奇异值矩阵 2个正交矩阵。图像的奇异值有很强的稳定性,图像受到轻微的扰动时不会有显著改变。利用奇异值的这种特性,如果将水印嵌入在载体图像 SVD 分解后的奇异值上,当攻击者对含水印图像进行攻击扰乱时,我们仍能从分解的奇异值中提取出水印信息。并且,奇异值对应于图像的亮度特性,而非视觉特性,因此,在奇异值上嵌入水印能保证水印的透明性,保障了水印算法的隐蔽性与安全性。奇异值表征图像矩阵元素的相互关系,在轻微扰动时不会发生变化,因此,在奇异值上嵌入水印不会损害图像的几何特性。 SVD 分解是线性代数中一种非常重要的分解方式其定义如 下。设矩阵 A RRm×n,R表示实数域, m×n表示矩阵大小, A进行 SVD 处理的公式为
A = USVT (3)
式中: U V 都是正交矩阵,S是对角矩阵,奇异值就是矩阵 S 的对角线元素 且这些对角线元素满足 : σ1≥σ2≥σ3≥…σr≥σr+1 =…= σm =0 (其中 ,r表示 A的秩 )。
2 打印和扫描的应用分析
图像水印应用这种应用的挑战包括建立一种鲁棒的水印技术,以从印刷媒体中提取水印。该技术应该能够抵抗由于打印过程而发生的数字到模拟转应该能够抵抗由于打印过程而发生的数字到模拟转换,然后是扫描打印的水印图像时发生的模拟换,然后是扫描打印的水印图像时发生的模拟 - 数数字转换。字转换。 在打印过程中,带水印的图像是模拟格式。在打印过程中,带水印的图像是模拟格式。 为了提取水印,应使用打印扫描过程中的扫描仪或为了提取水印,应使用打印扫描过程中的扫描仪或打印凸轮过程中的相机(移动相机或数码相机)通打印凸轮过程中的相机(移动相机或数码相机)通过捕获过程将模拟数据数字化过捕获过程将模拟数据数字化。。由于引入的攻击,由于引入的攻击,包括几何攻击(例如旋转,缩放,切割和剪切)以包括几何攻击(例如旋转,缩放,切割和剪切)以及由设备引起的扭曲,打印和捕获过程可能具有挑及由设备引起的扭曲,打印和捕获过程可能具有挑战性。战性。 这些失真通常是由在移动电话中存储图像时这些失真通常是由在移动电话中存储图像时的打印和压缩过的打印和压缩过程引起的。一些研究已经研究了这程引起的。一些研究已经研究了这些仍处于初期阶段的应用些仍处于初期阶段的应用。

3 基 于 D C T —SV D 压缩量化的数字 水印
3.1 水印算法
由于具有以下主要特性,SVD能应用于数字水印算法中。 ① 图像的奇异值具有良好的稳定性,即当图像发生微小变化时,其奇异值不会显著变化;② 图像奇异值发生较小改变时,原图像也不会发生较大的变化。因此,在图像的奇异值上嵌入水印,不会对原图像的质量产生太大的影响。 SVD 嵌入水印能有效抵抗几何攻击,但传统 SVD 数字水印算法在提取水印时需要原始载体图像,增加了载体图像在传输时的不安全性,降低了算法的效率。本文算法在嵌入水印过程中没有用到原图 SVD 分解后的正交矩阵,所以,提取水印时不需要原始载体图像。同时,DCT 变换能很好地适应人眼的视觉特性,本文先对载体图像分块,可以将原图的变化集中在每一块中,对每一块 DCT 变换得到近似分量 ;再将近似分量 进行 SVD 分解求得其奇异值矩阵。最后用量化方法得到含水印图像。

3.2 水印的嵌入过程
基于 DCT 和 SVD 的鲁棒性数字水印算法的水印嵌入 算法 过程 ,具体步骤如下
(1) 选取 尺寸为 512˟512大小的图片 颜色模式为 RGB模式的图像 I。
(2) 分离出图像的绿色通道 A。
(3) 对绿色通道进行 DCT变换 ADCT。并对ADCT进行 SVD分解:

(4) 读取水印图片,进行灰度化处理。
(5) 对水印图片进行 DCT变换得矩阵 W。
(6) 将水印嵌入到矩阵 S中,即;

(7) 对 图像

【图像隐写】基于matlab GUI DWT与SVD数字水印 【含Matlab源码 253期】相关推荐

  1. 【运动学】基于matlab GUI三体运动模拟【含Matlab源码 871期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[运动学]基于matlab GUI三体运动模拟[含Matlab源码 871期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  2. 【音乐播放】基于matlab GUI动感音乐播放【含Matlab源码 778期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[音乐播放]基于matlab GUI动感音乐播放[含Matlab源码 778期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  3. 【雷达通信】基于matlab GUI相控阵雷达方向图【含Matlab源码 1048期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab GUI相控阵雷达方向图[含Matlab源码 1048期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  4. 【数据分析】基于matlab GUI齿轮箱振动数据分析【含Matlab源码 2122期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数据分析]基于matlab GUI齿轮箱振动数据分析[含Matlab源码 2122期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  5. 【光学】基于matlab GUI维达尔之眼计算【含Matlab源码 2545期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI维达尔之眼计算[含Matlab源码 2545期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  6. 【光学】基于matlab GUI双孔干涉【含Matlab源码 2119期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI双孔干涉[含Matlab源码 2119期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  7. 【光学】基于matlab GUI双缝干涉和牛顿环【含Matlab源码 2165期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI双缝干涉和牛顿环[含Matlab源码 2165期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  8. 【数字信号】基于matlab GUI电话按键识别【含Matlab源码 2382期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[数字信号]基于matlab GUI电话按键识别[含Matlab源码 2382期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  9. Matlab GUI/APP 浅谈(附计算器源码)

    Matlab GUI/APP 浅谈(附计算器源码) 今天没有什么段子,也没有心灵鸡汤.毒鸡汤啥的,纯粹聊一聊这些年从有关MATLAB GUI/APP开发中悟出的一点道理,顺便把计算器的源代码给大家. ...

  10. 【课程设计】基于java GUI实现学生个人信息管理系统(源码+论文+ppt+视频)

    源码资料 免费下载 不经常在线,需要源码和资料的留言私信我,主页有联系方式 技术架构 开发语言 主要用的是Java语言中的GUI(图形用户界面)和AWT(抽象窗口工具包)编程. (1) GUI 图形用 ...

最新文章

  1. 我在React Native中构建时获得的经验教训
  2. 模型-视图-提供器 模式
  3. SQL Server 分区表的创建方法与管理
  4. NYOJ--927--dfs--The partial sum problem
  5. java面向对象(引用类型--参数传递)
  6. idea 生成自己项目 API (跟jdk api 一样的界面) 香吧
  7. 发点牢骚,关于微软,关于WPF/E
  8. 使用jpeglib直接把NV12转为jpeg文件的代码
  9. java贪吃蛇代码_求Java贪吃蛇代码
  10. 【刘润五分钟商学院】-166几乎所有知识,都始于归纳法
  11. 同义词词林或哈工大词林扩展的词类.
  12. SecureCRT Ver 8.1.4 整合汉化绿色版一体包
  13. CAD手机端怎么将DWG格式的图纸文件转换成PDF格式?
  14. java中文转英文_eclipse英文转中文怎么设置 eclipse中英文切换图文教程
  15. 搞懂微服务,从捕捉一头野猪说起
  16. 【机器学习】鸢尾花分类问题
  17. 中介者模式的实际应用
  18. 如何查询快递信息,教你一招高效查找包裹物流
  19. Jackson转换JSON字符串
  20. 【自然语言处理】潜在语义分析【下】概率潜在语义分析

热门文章

  1. 自定义getElementByClass
  2. 怎么向Xcode6 IOS8之后向项目中添加预编译文件
  3. Swift开发经验——外部参数名
  4. 堆栈小应用(一):括号匹配程序
  5. Android中应用锁的实现之账号盗取
  6. GridView 遍历每一行,两种写法
  7. Node.js与V8引擎
  8. 传智播客 朴素贝叶斯 算法评估 交叉验证与网格搜索 学习
  9. Unity清除一个物体所有的子物体
  10. 181209每日一句