基于DCT的图像数字水印算法

【图像隐藏】基于DCT算法实现数字水印嵌入提取附Matlab代码 1 简介 随着计算机网络的迅猛发展,信息安全越来越受关注.信息隐藏技术是一种重要的信息安全技术,而数字图像水印算法又是信息隐藏技术研究的一个热点.水印加密和水印嵌入是水印算法的关键问题.本文提出一种新的混沌置乱水印加密算法:首先使用Arnold映射对水印置乱,然后和Logistic生成的混沌序列进行异或运算,即克服了Arnold的周期性带来的不安全性,又达到了抗剪切目的.在水印加密的基础上,本文又提出一种基于DCT的水印嵌入算法,该算法以二值图像为水印,水印嵌入前对水印进行信息扩大映射,增加了嵌入的灵活. 阅读详情

基于DCT的图像数字水印算法

【摘要】:信息革命使人类的社会与生活产生了深刻的变化。数字产品知识产权保护问题尤为突出,使用加密、数字签名等技术已经不能够有效的解决这一问题。本文结合隐蔽通信和数字水印两个主要的应用背景,对图像压缩编码算法进行研究,选取MATLAB进行实验仿真,研究了图象信息隐藏的理论模型和若干技术。

【关键词】:信息隐藏     数字水印     DCT  

目录

河南农业大学

1引言

2知识点

2.1离散余弦变换(DCT)

2.2 离散小波变换(DWT)

2.3 数字水印技术

3水印嵌入及提取过程

3.1  matlab函数介绍

3.2基于DCT数字水印算法的matlab实现源代码实例

4   结论

5  参考文献

附录

1引言

信息隐藏的两个主要技术分支是数字水印和信息伪装。数字水印以版权保护为基本应用点,已得到深入的研究和广泛的应用,并逐渐走向产业化。信息伪装以隐蔽通信为应用背景,通过隐藏秘密消息的存在性来保证通信的安全性。

数字水印技术是用信号处理的方法在声音,图像或视频等数字化多媒体数据中嵌入隐蔽信息的行为。通过隐藏在多媒体内容中的信息,可以达到确认内容创建者,购买者或判断内容是否真实完整的目的。是保护数字媒体信息安全的有效方法。关于数字水印的研究开始于二十世纪九十年代中期,随着网络和多媒体技术的发展,数字水印技术也得到了人们越来越多的关注。

2知识点

2.1离散余弦变换(DCT)      在视频压缩中,最常用的变换方法是DCT,DCT被认为是性能接近K-L变换的准最佳变换,变换编码的主要特点有:
(1)在变换域里视频图像要比空间域里简单。
(2)视频图像的相关性明显下降,信号的能量主要集中在少数几个变换系数上,采用量化和熵编码可有效地压缩其数据。
(3)具有较强的抗干扰能力,传输过程中的误码对图像质量的影响远小于预测编码。通常,对高质量的图像,DMCP要求信道误码率,而变换编码仅要求信道误码率。
  对图像进行压缩,给高频系数大间隔量化,低频部分小间隔量化。DCT是正交变换,它可以将8×8图像空间表达式转换为频率域,只需要用少量的数据点表示图像;DCT产生的系数很容易被量化,因此能获得好的块压缩;DCT算法的性能很好,它有快速算法,如采用快速傅立叶变换可以进行高效的运算,因此它在硬件和软件中都容易实现;而且DCT算法是对称的,所以利用逆DCT算法可以用来解压缩图像。

为什么采用8x8的图像块,其原因是由于计算量和像素之间关系的数量,许多研究表明,在15或20个像素之后,像素间的相关性开始下降。就是说,一列相似的像素通常会持续15到20个像素那么长,在此之后,像素就会改变幅度水平(或反向)。

一维DCT正交变换的公式为:

二维DCT逆变换公式:

 

2.2 离散小波变换(DWT)

 DWT具有很好的时域—频域特性,在DWT域嵌入数字水印具有明显的优点。原始图像经过一级小波分解后分成4个频率带,分别是低频LL1、水平HL1、垂直LH1 及对角线HH1。以此类推,第二小波分解对低频频率带LL1 进一步分解成以上4 个频率带。本文将原始图像进行三级小波分解,得到HLi,LHi,HHi 和LL3 共10 个频率带,其中i=1…3,LL3 为低频频率带.

2.3 数字水印技术   

 所谓数字水印技术就是将数字、序列号、文字、图像标志等版权信息嵌入到多媒体数据中,以起到保护版权、秘密通信、数据文件的真伪鉴别和产品标志等作用。数字水印技术自1993 年被提出以来,由于其在信息安全和经济上的重要地位,发展较为迅速。目前,数字水印技术已经在数字产品版权保护、票据防伪、数据隐藏、隐藏通信等方面均均得到广泛应用

数字水印的分类方法有很多种,按数字水印的隐藏位置划分,可以将其分为空间域数字水印和变换域数字水印。

3水印嵌入及提取过程

3.1  matlab函数介绍

数据输入输出函数

imread()和imwrite():可以读写bmp,jpg/jpeg, tif/tiff, png, hdf, pcx, wxd格式文件。读索引文件时,还可以得到相应的调色板数据。

auread()、auwrite()、wavread()和wavwrite():可以方便地读写au和wav文件,并可控制其中的位及频率。

②  图像显示

imshow():显示一幅图像;imfinfo():可以得到读入图像的信息。如文件的大小、格式、格式版本号、图像的高度、宽度、颜色类型(真彩色,灰度图还是索引图)等。

③  变换频函数

对信号采用不同的变换,是实现频域法水印的至关重要的一步,MATLAB中对一维信号和二维信号分别提供了各种变换和逆变换函数。

④攻击函数

旋转:rotate()可以对图像进行任意角度的旋转;

剪裁:imcrop()可以按精确定位的各点坐标进行剪裁;

滤波:filter()和filter2()可实现对一维信号和二维信号的滤波;

抖动:dither()对图像进行抖动;抖动攻击考验水印鲁棒性的一个很好的攻击;

jpeg压缩:imwrite()中jpg和quality参数能对图像进行可控jpg压缩;

加各种噪声:imnoise()可以对图像加入各种噪声,如白噪声、椒盐噪声等,加入噪声是对水印鲁棒性考验的一种常见的攻击;

放大/缩小:imresize()可以以指定的插值方法来对图像进行放大和缩小。

3.2基于DCT数字水印算法的matlab实现源代码实例  

        

  1.                                                   ( b )    

如上图所示图A 为原始图片,图B为原始水印图片  

打开matlab程序进行DCT压缩,选择正确的操作方法(选用附录中第一个源代码)进行实验,可得到如下图所示的结果。进行比较分析,可得到理想的结果,符合实验目的。

在matlab经DCT运算后生成的结果如上图所示    

( 通过对比观察,在电脑上分析原图像整体比水印后的图片黯淡)

4   结论

总之,信息隐藏技术是多媒体通信和多媒体信号处理领域中近年来新兴的研究方向,他为信息安全提供了一种新的思路,为我们研究信息安全提供了一个新的方向。

虽然信心隐藏技术已经兴起,但是没有发展到可实用的阶段,使用密码加密仍是网络信息传输的安全手段,虽然目前对信息隐藏的研究有了很大的进展,如何建立不可感知性的数学度量模型,信息隐藏的容量上限如何 计算等等,信息隐藏的对立面—-隐藏分析如何得到同步发展;如何对信息隐藏进行分析和分类;如何找到信息隐藏技术自己的理论依据,形成完善和科学的理论体系等等。在信息隐藏这门技术上我们仍然任重而道远啊 。

信息隐藏是一项崭新的技术领域,也是多媒体技术、网络技术研究的前沿,应用前景十分广阔,必将吸引广大图像、语音、网络、人工智能等领域的研究者加入到这一行列,从而推动信息安全技术更快的发展。

5  参考文献

[1] 金聪.数字水印理论与技术.北京:清华大学出版社,2008.8

[2] 董长虹等.Matlab 图像处理与应用.北京:国防工业出版社,2004.1

[3] 杨义先.数字水印基础教程.北京:人民邮电出版社,2007.6

[4] 黄达人,刘九芬,黄继武.小波变换域图像水印嵌入对策和算法.软件学报,2002,13(07)

[5]张军,等.数字图像的自适应公开水印技术.计算机学报.2002(12)

[6]郭文强,张宗橙.信息论与编码. 第2版. 北京:清华出版社.2009

[7]王丽娜、张焕国,信息隐藏技术与应用,北京:北京师范大学中文图书基藏库,2003

附录

Matlab程序 DCT压缩代码如下:

M=256;  %原图像长度

N=32;   %水印图像长度

K=8;

I=zeros(M,M);

II=zeros(K,K);

B=zeros(M,M);

Idct=zeros(K,K);

D=zeros(M,M);

%读取原图像

I=imread('C:\Users\Administrator\Desktop\liu.jpg');

subplot(2,2,1);

%显示原图像

imshow(I);

title('原图像');

%读取原图像

G=imread('C:\Users\Administrator\Desktop\niu.bmp');

subplot(2,2,2);

%显示原图像

imshow(G);

title('水印序列');

%嵌入水印

T=1;

for m=1:N

    for n=1:N

        x=(m-1)*K+1;

        y=(n-1)*K+1;

       II=I(x:x+K-1,y:y+K-1);%将原图分成8*8的子块

      Idct=dct2(II);%对子块进行DCT变换

if x==1&y==1

    alfa=0.002;

else

    alfa=0;

end                                    

  B=Idct*(1+alfa*mark(T));%嵌入水印

 Bidct=idct2(B);%进行DCT反变换

I(x:x+K-1,y:y+K-1)=Bidct;

 T=T+1;

end

end

subplot(2,2,3);

imshow(I);%显示嵌入水印后的图像

title('tu');imwrite(I,'嵌入后的图像.bmp');

%进行相关性比较

     figure;

for i=1:50

    if  i==10;

       mark2=mark1';

    else

      mark2=randn(1024,1);

    end

    %计算相关值

   c=(mark2'*mark)/sqrt(mark2'*mark2);

stem(i,c);

    hold on;

end

【图像隐藏】基于DCT算法实现数字水印嵌入提取附matlab代码 1 简介 随着计算机网络的迅猛发展,信息安全越来越受关注.信息隐藏技术是一种重要的信息安全技术,而数字图像水印算法又是信息隐藏技术研究的一个热点.水印加密和水印嵌入是水印算法的关键问题.本文提出一种新的混沌置乱水印加密算法:首先使用Arnold映射对水印置乱,然后和Logistic生成的混沌序列进行异或运算,即克服了Arnold的周期性带来的不安全性,又达到了抗剪切目的.在水印加密的基础上,本文又提出一种基于DCT的水印嵌入算法,该算法以二值图像为水印,水印嵌入前对水印进行信息扩大映射,增加了嵌入的灵活. 阅读详情

相关推荐

【图像隐藏】基于DCT算法实现数字水印嵌入+检测+攻击含Matlab源码

1 简介 介绍了数字水印的产生、发展及其应用,讨论了数字水印的分类,提出了图像的预处理思想,利用MATLAB中的剪切函数、缩放函数,以及调整图像直方图的方法对图像进行预处理,并用MATLAB进行了仿真.实验结果表明:预处理在DCT数字水印算法的前期工作中有较好作用. 随着计算机网络的迅猛发展,信息安全越来越受关注.信息隐藏技术是一种重要的信息安全技术,而数字图像水印算法又是信息隐藏技术研究的一个热点.水印加密和水印嵌入是水印算法的关键问题.本文提出一种新的混沌置乱水印加密算法:首先使用Arnold映射.

qq_59747472的博客 1086

【图像隐藏】基于DCT的数字图像水印防伪附matlab代码

1 前言1.1 背景随着数字技术和互联网的发展,很多艺术作品纷纷通过网络媒体发表。但数字媒体的便利性和不安全性是互相矛盾的。不安全性体现在,数字作品可以很轻易地被复制和篡改。基于此,采用多种手段对这些作品进行版权保护是非常有意义的。而水印技术便是在这种要求下迅速发展起来的。1.2 图像点的频率低频:指图像强度的平缓处,也就是图像大片色块的地方,它形成了图像的基本灰度等级,对图像结构的决定作用较小高频:指图像强度变化剧烈的地方,也就是边缘或者轮廓处。中频:相对高低频而言,它决定了图像的基本结构。

m0_57702748的博客 1542

【图像隐藏】基于DWT+DCT+LSB三种算法实现数字水印隐藏提取含Matlab源码

1 简介 基于LSB+DWT+DCT三种算法实现图像和音频水印嵌入提取。 1.1 LSB算法 根据LSB算法简单易实现的特点,结合在图像置乱技术中很好特性的Arnold变换。利用变化产生影子图像。通过LSB算法将影子图像嵌入到掩饰图像中,再利用LSB算法将图像的影子图像提取出来。将提取出来的影子图像经过文中设计的Arnold反变换恢复出原始。该方法不但有效地无损伤隐藏了图像,同样还保证了隐藏图像的安全性,无损伤性。 1.2 小波变换算法 **2 基于DWT的音频水印算法**

qq_59747472的博客 1800

信息隐藏与数字水印实验3-DCT 域图像水印

一、 实验目的 了解频域水印的特点,掌握基于DCT系数关系的图像水印算法原理,设计并实现一种基于DCT域的图像水印算法,嵌入二值图像水印信息,掌握水印图像的归一化函数的计算方法,并对携秘图像进行攻击,提取攻击后的水印二值图像,计算NC的值。二、 实验环境 (1) Windows或Linux换作系统 (2) Python3 环境 (3) Python的 opencv-python、 numpy、 matplotlib、 pycrypto 库 (4)原始载体图像文件和二值水印图像文件三、 实验要求 (1)利用文

taylorswift的博客 4908

深入解析与实现DCT域图像数字水印算法

图像水印技术是一种在数字图像中隐藏信息的方法,主要用于版权保护、信息认证等应用。它通过在图像中嵌入特定的水印信息,而不影响图像的正常使用质量,以实现对原图的保护或跟踪。离散余弦变换(Discrete Cosine Transform, DCT)是信号处理领域中广泛应用的一种变换技术,尤其是用于图像和视频信号的压缩处理。DCT变换将信号从空间域转换至频率域,能够有效地分离信号的高频和低频成分。

weixin_33193177的博客 1379

基于DCT变换的数字水印算法

DCT离散余弦变换实现数字水印算法;在进行水印嵌入时,先对水印用了Arnold变换;包含了几种不同的水印攻击

基于DWT-DCT-SVD的图像数字水印算法

数字水印技术作为知识产权保护及认证的重要手段,正得到广泛研宄与应用。数字水印技术是在数字产品中嵌入秘密信息,以便保护产品的版权、证明产品的真实可靠性、跟踪盗版行为或提供产品的附加信息。这个秘密信息被称为数字水印。本文通过基于DWT-DCT-SVD 数字水印算法,首先对载体图像进行2级小波分解,在HH2分量上进行分块,再结合DCT和SVD技术嵌入水印,该算法具有更好的不可见性和鲁棒性。提示:以下是本篇文章正文内容,下面案例可供参考。

m0_52363973的博客 5680

LabVIEW 调用MATLAB 进行图像处理的实现

程机械及设备的变形、振动、冲击、粗糙度、刚度和强度等特性,还可用在土木结构、水利设施的变形测量[4][5]。因此,该技术在机械、土木、水利、电器、航空航天、兵器工业及生物医学等领域的检测中具有非常重要的地位。将物面前方空间的散斑用摄像设备记录下来,当物体运动或由于受力而变形时,这些随机分布的散斑图也随之在空间按一定的规律运动,因此能用记录的散斑图在计算机上分析物体的运动和变形,这就是电子散斑技术。当物体的漫反射表面被激光照射时,漫反射的光波在物体表面的前方相互干涉,由于漫反射光的。

qq_37971227的博客 3874

【图像隐藏】DCT算法彩色数字水印嵌入提取Matlab源码

【图像隐藏】DCT算法彩色数字水印嵌入提取Matlab源码 【下载地址】图像隐藏DCT算法彩色数字水印嵌入提取Matlab源码 这是一个基于DCT(离散余弦变换)算法的彩色数字水印嵌入与提取的Matlab开源项目。通过该项目,用户可以轻松学习并实践如何在彩色图像中嵌入数字水印,并在不影响图像质量的前提下准确提取水印。项目...

gitblog_06784的博客 318

银河麒麟V10安装docker

最近在做的一个信创项目使用的操作系统是银河麒麟高级服务器V10,在安装docker时,会遇到下面的错误。 nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.0-3.el7.x86_64 经过分析,以下依赖包是centos系统中的包,所以需要给kylinos创建一个合适的centos源。经过实验,Kylin Linux Advanced Server V1

m0_38004228的博客 4908

HALCON深度学习模型部署新选择:一份详细的OpenVINO 2021.4 LTS集成与配置避坑指南

本文详细介绍了如何将HALCON深度学习模型与OpenVINO 2021.4 LTS集成,提供环境配置、硬件加速优化及故障排除的实用指南。特别针对Intel独立显卡的AI加速器接口进行优化,帮助机器视觉工程师提升AI推理效率,适用于工业检测等高要求场景。

weixin_42531779的博客 238

图像隐藏DCT算法彩色数字水印嵌入提取Matlab源码

图像隐藏DCT算法彩色数字水印嵌入提取Matlab源码 【下载地址】图像隐藏DCT算法彩色数字水印嵌入提取Matlab源码 这是一个基于DCT(离散余弦变换)算法的彩色数字水印嵌入与提取的Matlab开源项目。通过该项目,用户可以轻松学习并实践如何在彩色图像中嵌入数字水印,并在不影响图像质量的前提下准确提取水印。项目提供...

gitblog_06747的博客 311

从零构建:如何用MATLAB打造你的第一个Stewart平台运动学仿真器

本文详细介绍了如何使用MATLAB从零构建一个六自由度Stewart平台运动学仿真器,涵盖基础理论、环境配置、运动学建模、动态轨迹规划和实时可视化实现。通过MATLAB的Robotics System Toolbox和Simulink等工具,读者可以掌握六自由度Stewart平台的逆运动学求解、正运动学求解及仿真系统集成,适用于飞行模拟器和精密定位等应用场景。

peach的博客 865
上一篇: 基于DCT的图像数字水印算法
下一篇: 关于Matlab在信息加密技术方面应用的报告
GPT_code
博客等级 码龄3年 3543粉丝 338原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值