资源简介
武汉理工大学信息理论课程设计代码及报告,选题为数字水印算法,代码已经实现,可重用
代码片段和文件信息
clc;
M=8;
omark=double(imread(‘C:\Users\micheal\Desktop\信息理论课设\new code&picture\3.tif‘))/255;
mo=size(omark1);
no=size(omark2);
% 以下生成水印信息 %
mark=wextend(‘2D‘‘sym‘omarkM); %///////////////////////////////////
[mono]=size(mark);
alpha=30;
rand1=randn(18);
rand2=randn(18);
%%%%%% 读取宿主图像 %%%%%%%%
cimage=imread(‘C:\Users\micheal\Desktop\信息理论课设\new code&picture\2.tif‘);%////////////////////////////////F:\1\nwu.tif F:\1\Cameraman.tif
figure(1);
subplot(231)imshow(cimage[])title(‘直接提取的图像‘);
[mcnc]=size(cimage);
cda0=blkproc(cimage[88]‘dct2‘);
%%%%%%% 嵌入水印 %%%%%%%%%
cda0=wextend(‘2D‘‘sym‘cda0M);%////////////////////////////////////////
cda1=cda0;
for i=M+1:mo-M
for j=M+1:no-M
x=i;y=j;
if mark(ij)==1
k=rand1;
else
k=rand2;
end
cda1(x+1y+8)=cda0(x+1y+8)+alpha*k(1);
cda1(x+2y+7)=cda0(x+2y+7)+alpha*k(2);
cda1(x+3y+6)=cda0(x+3y+6)+alpha*k(3);
cda1(x+4y+5)=cda0(x+4y+5)+alpha*k(4);
cda1(x+5y+4)=cda0(x+5y+4)+alpha*k(5);
cda1(x+6y+3)=cda0(x+6y+3)+alpha*k(6);
cda1(x+7y+2)=cda0(x+7y+2)+alpha*k(7);
cda1(x+8y+1)=cda0(x+8y+1)+alpha*k(8);
end
end
%%%%%% 嵌入水印后图象 %%%%%
cda2=cda1(M+1:mo-MM+1:no-M);
wimage=blkproc(cda2[88]‘idct2‘);
wimage_1=uint8(wimage);
imwrite(wimage_1‘withmark.bmp‘‘bmp‘);
subplot(232)imshow(wimage[])title(‘嵌入水印后图象‘);
%%%%%%%%%%%%%% 进行攻击测试 %%%%%%%%%%%
disp(‘1-->加入白噪声‘);
disp(‘2-->高斯低通滤波‘);
disp(‘3-->剪切图像‘);
disp(‘4-->旋转攻击‘);
disp(‘5-->直接检测‘)
begin=input(‘请选择攻击(1-5):‘)
switch begin
%%%%%%% 加入白噪声 %%%%%%%%
case 1
Aimage1=wimage;
Wnoise=20*randn(size(Aimage1));
Aimage1=Aimage1+Wnoise;
subplot(234)imshow(Aimage1[])title(‘加入白噪声后的图象‘);
att=Aimage1;
imwrite(att‘whitenoiseimage.bmp‘);
%%%%%%% 高斯低通滤波 %%%%%%%
case 2
Aimage2=wimage;
H=fspecial(‘gaussian‘[44]0.5);
Aimage2=imfilter(Aimage2H);
subplot(234)imshow(Aimage2[])title(‘高斯低通滤波后的图象‘);
att=Aimage2;
imwrite(att‘gaussianimage.bmp‘)
%%%%%%%% 剪切攻击 %%%%%%%%
case 3
Aimage3=wimage;
Aimage3(1:1281:128)=256;
subplot(234)imshow(Aimage3[])title(‘剪切后的图象‘);
att=Aimage3;
imwrite(att‘cutpartimage.bmp‘);
%%%%%%%% 旋转攻击 %%%%%%%%
case 4
Aimage4=wimage;
Aimage4=imrotate(Aimage410‘bilinear‘‘crop‘);
Aimage_4=mat2gray(Aimage4);
subplot(234)imshow(Aimage_4[])title(‘旋转10 度后的图象‘);
att=Aimage_4;
imwrite(att‘rotatedimage.bmp‘);
%%%%%%% 没有受到攻击 %%%%%%%
case 5
subplot(234)imshow(wimage[])title(‘直接提取的图像‘);
att=wimage;
imwrite(att‘directimage.bmp‘);
end
%%%%%%%%%%%%% 提取水印 %%%%%%%%%%%%%%
tmark_0=wimage;
tmark_0=wextend(‘2D‘‘sym‘tmark_0M);%///////////////////////////////////
tmark_0=blkproc(tmark_0[88]‘dct2‘);
tmark_1=tmark_0;%//////////////////////////////
pass=zeros(18);
for i=M+1:mo-M
for j=M+1:no-M
x=i;y=j;
pass(1)=tmark_0(x+1y+8);
pass(2)=tmark_0(x+2y+7);
pass(3)=tmark_0(x+3y+6);
pa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6885600 2013-07-02 15:53 数字水印算法.docx
文件 33951 2013-07-01 14:13 new code&picture\2.jpg
文件 66024 2013-07-02 00:24 new code&picture\2.tif
文件 8208 2013-07-02 00:23 new code&picture\3.jpg
文件 14632 2013-07-02 00:24 new code&picture\3.tif
文件 66614 2013-07-02 13:38 new code&picture\cutpartimage.bmp
文件 66614 2013-07-02 13:35 new code&picture\gaussianimage.bmp
文件 130130 2013-07-02 13:43 new code&picture\QQ截图20130702134307.jpg
文件 66614 2013-07-02 13:42 new code&picture\rotatedimage.bmp
文件 6231 2013-07-02 00:28 new code&picture\Unti
文件 4321 2013-07-02 13:32 new code&picture\Unti
文件 1403 2013-07-01 22:58 new code&picture\Unti
文件 66614 2013-07-02 13:32 new code&picture\whitenoiseimage.bmp
文件 66614 2013-07-02 13:42 new code&picture\withmark.bmp
文件 132291 2013-07-02 13:39 new code&picture\剪切.jpg
文件 74632 2013-07-01 22:54 new code&picture\新建文件夹\airplane.jpg
文件 66614 2013-07-02 01:03 new code&picture\新建文件夹\cutpartimage.bmp
文件 66614 2013-07-02 01:04 new code&picture\新建文件夹\directimage.bmp
文件 66614 2013-07-02 01:02 new code&picture\新建文件夹\gaussianimage.bmp
文件 67471 2013-07-01 22:40 new code&picture\新建文件夹\linux.jpg
文件 18675 2013-07-01 22:48 new code&picture\新建文件夹\linux2.jpg
文件 5755 2013-07-01 21:44 new code&picture\新建文件夹\mark2.jpg
文件 66614 2013-07-02 01:04 new code&picture\新建文件夹\rotatedimage.bmp
文件 26659 2013-07-01 22:33 new code&picture\新建文件夹\sea.jpg
文件 8208 2013-07-01 22:34 new code&picture\新建文件夹\simplepanda.jpg
文件 66614 2013-07-02 00:28 new code&picture\新建文件夹\whitenoiseimage.bmp
文件 66614 2013-07-02 01:04 new code&picture\新建文件夹\withmark.bmp
文件 18375 2013-07-01 22:42 new code&picture\新建文件夹\write.jpg
文件 38868 2013-07-02 01:03 new code&picture\新建文件夹\剪切图像.jpg
文件 39382 2013-07-02 01:02 new code&picture\新建文件夹\加入白噪声.jpg
............此处省略11个文件信息
- 上一篇:NS2工作环境安装图文详解
- 下一篇:datagrid
相关资源
- 武汉理工大学EDA实验及考试程序
- 武汉理工大学面向对象与多线程综合
- 武汉理工大学数据结构与算法实验,
- 武汉理工大学数据结构考研资料
- 武汉理工大学计算机马区综合实验3数
-
武汉理工大学xm
l实验报告 - 信息理论与编码.rar
- 武汉理工大学数据结构算法与综合实
- C语言程序设计课件,武汉理工大学
- 武汉理工大学软件构件与中间件重点
- 武汉理工大学 面向对象与多线程综合
- 武汉理工大学信息学院考研历年复试
- 数据结构与算法综合实验—二叉树与
- 数据结构与算法综合实验—图与景区
- 武汉理工大学信号与系统课件
- 武汉理工大学计算机考研历年真题
- 武汉理工大学852数据结构2018试卷复盘
- 武汉理工大学计算机基础综合实验
- 基于LMS 算法的多麦克风降噪
- 武汉理工大学单片机实习日记
- 武汉理工大学专业教育课程设计
- 武汉理工大学自动化学院研究生复试
- 武汉理工大学考研资料.txt
- 武汉理工大学刘军老师操作系统实验
- 武汉理工大学 课程设计 Proteus信号发
- 《通信系统课群综合训练与设计》武
- 武汉理工大学TCPIP及网络编程复习重点
- 武汉理工大学数字语音处理参考题及
- 武汉理工大学中间件实验报告
- 信息理论与编码实验报告
评论
共有 条评论