水印鲁棒性的分析matlab程序,图像数字水印+matlab程序

第三章 图像数字水印的方案

3.1 图像数字水印的技术方案

在数据库中存储在国际互联网上传输的水印图像一般会被压缩,有时达到很高的压

缩比。因此,数字水印算法所面临的第一个考验就是压缩。JPEG和EZW(Embedded Zero-Tree Wavelet)压缩是最常见的两种压缩方法。JPEG是基于离散余弦变换域的压缩方法,而EZW是基于小波变换域的压缩方法。前人的研究证明采用与压缩算法相同的变换域水印方法,对于压缩的稳健性较强。因此,我研究图像文件水印算法主要集中在变换域算法及利用人眼视觉特性上。

数字水印的嵌入要求即要考虑视觉透明性,又要保证嵌入水印后图像的稳健性,这

两个方面存在着矛盾。保证视觉透明性,就要将水印嵌入到人眼不敏感区,也就是嵌入到图像的高频分量中。而多数图像处理方法对于图像高频部分的损坏程度较高,如有损压缩、高频滤波等。水印很容易在经历图像处理的过程中丢失。这样,则无法保证图像数字水印的稳健性。如果要获得很好的稳健性,数字水印应加在人眼敏感的低频部分,图像的大部分能量集中在低频部分,如果对于低频部分进行处理,水印固然会失去,而图像也没有了利用价值,然而,水印的嵌入会对图像的质量有非常大的影响,这又无法保证视觉透明性。

数字水印算法的实现基本分为三个部分:宿主图像的变换,水印的嵌入和水印的检

测,分别描述如下。

3.2 基于DCT域的图像数字水印技术

离散余弦变换(Discrete Cosine Transform)属于正交变换图像编码方法中的一种。正交变换图像编码始于1968年。当时安德鲁斯(Andrews)等人发现大多数自然图像的高频分量相对幅度较低,可完全舍弃或者只用少数码字编码,提出不对图像本身编码,只对其二维傅立叶(DFT)系数进行编码和传输。但DFT是一种正交变换,运算量很大,常常使实时处理发生困难,第二年他们就用Walsh-Hadamard变换(WHT)取代DFT可以使运算量明显减少,这是因为WHT变换只有加减法而无需乘法。但是更有意义的是离散余弦变换和离散正旋变换的出现,它们具有快速算法,精确度高。其中最重要的是1974年提出的DCT,因为其变换矩阵的基向量很近似于托伯利兹矩阵的特征向量,而托伯利兹矩阵又体现了人类语言及图像信号的相关性。因此,DCT常常被认为是语音与图像信号变换的准最佳变换。

图像是二维的,所以在研究时主要用到二维DCT,以及二维IDCT来对图像进行处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

又一个绝对棒的对话框插件fancybox v1.3.4

http://www.jsfoot.com/jquery/demo/2011-07-30/fancybox/index.html jquery插件:fancybox Fancybox的特点如下: 可以支持图片、html文本、flash动画、iframe以及ajax的支持可以自定义播放器的CSS样式可以以组的形式进行播放如果将鼠标滚动插件&#xff…

php this validate,php扩展ZF——Validate扩展

php扩展ZF——Validate扩展更新时间:2008年01月10日 20:27:49 作者:php扩展ZF——Validate扩展之前写了一片文章关于如何在ZF0.6版本下扩展ZF的。这篇应该说是类似的文章,但环境换成ZF1.0RC1版本了。在开始ZF扩展之前,推荐先看看…

大数据资源收集

数据可视化 工具: https://github.com/showcases/data-visualization https://github.com/mbostock/d3 https://github.com/ecomfe/echarts http://www.bootstrapstage.com/admin-lte/ 研究组: http://idl.cs.washington.edu/ 转载于:https://www.cnblog…

php 中间表示语言,[转载]php 底层 探究之php编译过程及中间语言 opcode

Opcode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL,举个例子,比如你写下了如下的PHP代码:echo"Hello World";$a 1 1;echo$a;?>PHP执行这段代码会经过如下4个步骤(确切的来说,应该…

浅谈数据结构-选择排序(简单、堆排序)

选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更…

php 去掉多维数组的键名,去除多维数组的最外层key 保留值

如果你是要将JSON转成PHP数组,方法如下首先,你这个数据格式是JSON的,要先转成PHP数组。$a json_decode($a, TRUE);json_decode第二个参数为TRUE表示保留键名,否则JSON转PHP数组之后,PHP数组的键名会重新排序。然后将你…

安装php7的mysql扩展,php7安装mysql扩展的方法是什么

php7安装mysql扩展的方法:1、下载mysql扩展并解压;2、使用phpize工具初始化并进行configure;3、执行【make && make install】命令;4、编辑php.ini文件;5、重启服务。本文环境:windows10系统、php7…

什么是简单的分析SQL注入漏洞

如今非常多人在入侵的过程中基本都是通过SQL注入来完毕的,可是有多少人知道为什么会有这种注入漏洞呢?有的会随口说着对于字符的过滤不严造成的。可是事实是这样吗?我们学这些。不仅要知其然。更要知其所以然!理论联系实际&#x…

python发布服务,Python服务发现:在本地n上发布服务

在本地网络上执行服务通告/发现的一个简单方法是广播UDP包。常数:PORT 50000MAGIC "fna349fn" #to make sure we dont confuse or get confused by other programs公告:from time import sleepfrom socket import socket, AF_INET, SOCK_DGR…

[codevs1262] 不要把球传我 数论+组合数学

没什么好说的,很容易分析出递推公式f[n](n-2)*(n-1)*(n-3) div 6; 代码 beginreadln(n);     writeln((n-2)*(n-1)*(n-3) div 6);end. 巨短,就是这样233() 我不会告诉你这一张是…

php可以用水晶报表吗,什么是水晶报表与水晶报表功能分析

水晶报表水晶报表(Crystal Report)是业内最专业、功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口。在VS.Net平台做过报表开发的程序员,一定都对水晶报表强大、高效、集成等特性留下了深刻…

大数据笔记11:MapReduce的运行流程

1.基本概念 (1)Job & Task (2)JobTracker (3)TaskTracker转载于:https://www.cnblogs.com/hebao0514/p/4825280.html

php 表格分页代码,[Php]分页及表格样式

writer:web wu 2007/11/29这个分页代码比较简单一些.操作用户列表include "conn.php"; //连接数据库文件mysql_select_db("admin"); //打开数据表$ssqlmysql_query("select count(*) as amcount from alluser",$con); //统计记录数if($my…

iPhone屏幕尺寸、分辨率及适配

目录(?)[-] iPhone尺寸规格单位inch英吋iPhone手机宽高屏幕尺寸像素密度PPI缩放因子scale factor between logic point and device pixel1Scale起源 2UIScreenscale 3UIScreennativeScale 4机型判别Resolutions Rendering2x3x以及高倍图适配12x 23x 3高倍图文件…

oracle中的and用法,Oracle bitand( )函数简介

Oracle bitand( )函数在Oracle数据库中是很常见的,下面就为您详细介绍Oracle bitand( )函数的用法,如果您感兴趣的话,不妨一看。Oracle bitand( )函数:返回两个数值型数值在按位进行AND 运算后的结果。语法BITAND(nExpression1, n…

Nagios显示器mysql定从库: libmysqlclient.so.18: cannot open shared object file: No such

做mysql的slave时间监控,必须check_mysql文字,check当误差:error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory1,错误信息例如以下:[rootslave…

oracle包如何进入编辑,修改 Oracle 的process和Session

1.process 和session的概念:process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计算在内.此外,共享 服务器进程与调度进程的数目…

Head First Python学习笔记4——处理数据

有这么几组数据需要你处理: James  2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22 Julia   2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21 Mikey  2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38 Sarah  2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55 这…

oracle ora 00910,NVARCHAR2字段超长问题:ORA-00910: specified length too long for its datatype

NVARCHAR2字段超长问题:ORA-00910: specified length too long for its datatype前几天在IMP的时候遇到了个问题:IMP-00017: following statement failed with ORACLE error 910:"CREATE TABLE "T_CSL_DYNAITEMDATAENTRY" ("FID&quo…

Swift - 触摸事件(点击,移动,抬起等)说明及用例

在iOS开发中,UIGestureRecognizer可以方便的响应处理手势事件。 而如果要想更精细的处理,我们还需要借助touchesBegan,touchesMoved,touchesEnded等触摸方法。这些方法 都是UIResponder中的方法。视图控制器和视图类,都…