资源简介
使用MATLAB运行文件中watermaked文件,就可以进行操作。可在窗口中自由添加噪声攻击等内容以验证算法安全性

代码片段和文件信息
function name_ex=extract(containcontain_markerSORT_INDnameselgausaltjpegfiltang) %%3次嵌入
%%攻击
switch sel
case 1
contain_marker=imnoise(uint8(contain_marker)‘gaussian‘0gau); %高斯
case 2
contain_marker=imnoise(uint8(contain_marker)‘salt & pepper‘salt); %椒盐
case 3
imwrite(uint8(contain_marker)‘temp.jpg‘‘jpg‘‘quality‘jpeg);
file_name=‘temp.jpg‘;
contain_marker=imread(file_name);
case 4
figureimshow(uint8(contain_marker)); %剪切
[XYcontain_marker1rect]=imcrop;
for i=0:round(rect(4))
for j=0:round(rect(3))
contain_marker(round(rect(2))+iround(rect(1))+j)=0;
end
end
case 5
contain_marker=reimrotate(contain_markerang); %旋转
end
%%没有攻击
if sel~=0 && filt==0
psnr=PSNR(containcontain_marker);
figureimshow(uint8(contain_marker));
title_string=strcat(‘处理过的图象 PNSR:‘num2str(psnr));
title(title_string);
end
%%滤波
switch filt
case 1
%%中值滤波
contain_marker=medfilt2(contain_marker[3 3]);
case 2
%均值滤波
filter_temp=fspecial(‘average‘3);contain_marker=filter2(filter_tempcontain_marker);
case 3
%%%%低通滤波
contain_marker=double(contain_marker);
filter_temp=[1 1 1;1 2 1 ;1 1 1]/10;
contain_marker=filter2(filter_tempcontain_marker);
case 4
%%%%高通滤波
contain_marker=double(contain_marker);
filter_temp=[1 1 1;1 1 1 ;1 1 1]/9;
contain_marker=filter2(filter_tempcontain_marker);
case 5
%%锐化滤波
contain_marker=double(contain_marker);
filter_temp=[0 1 0
1 -4 0
0 1 0];
contain_marker_temp=conv2(contain_markerfilter_temp‘same‘);
contain_marker=contain_marker-contain_marker_temp;
end
%%没有滤波
if filt~=0
psnr=PSNR(containcontain_marker);
figureimshow(uint8(contain_marker));
title_string=strcat(‘滤波后的图象 PNSR:‘num2str(psnr));
title(title_string);
end
[CA1_EXCH1_EXCV1_EXCD1_EX]=dwt2(contain_marker‘haar‘);
[CA2_EXCH2_EXCV2_EXCD2_EX]=dwt2(CA1_EX‘haar‘); %二级变换
%%计算均值
[rownum_excolnum_ex]=size(CA2_EX);
[rownum_shuicolnum_shui]=size(name);
AVG_EX=1000*ones(rownum_excolnum_ex);
for(i=2:rownum_ex-1)
if(mod(i2)==0) %隔列
colnum_sta=2;
else
colnum_sta=3;
end
for (j=colnum_sta:2:colnum_ex-1) %隔列
AVG_EX(ij)=1/4*(CA2_EX(i-1j)+CA2_EX(i+1j)+CA2_EX(ij-1)+CA2_EX(ij+1));
end
end
AVG_EX_ARR=reshape(AVG_EX1rownum_ex*colnum_ex);
length=rownum_shui*colnum_shui; %水印长度
for times_ex=0:2
for i=1:length
if CA2_EX(SORT_IND(i+times_ex*length))>AVG_EX_ARR(SORT_IND(i+times_ex*length))
name_temp(i+times_ex*length)=1;
e
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-06-10 12:54 code2\
文件 712 2015-06-05 14:29 code2\LSB.m
文件 2528 2015-06-05 17:02 code2\LSBextract.asv
文件 2499 2015-06-05 15:44 code2\LSBextract.m
文件 405 2015-06-05 14:01 code2\PSNR.m
文件 4061 2015-06-05 14:25 code2\extract.asv
文件 4043 2015-06-05 15:45 code2\extract.m
文件 3602 2015-06-05 14:30 code2\extract_name.asv
文件 3588 2015-06-05 15:44 code2\extract_name.m
文件 190 2015-06-05 13:57 code2\name32x32.bmp
文件 945 2015-06-05 20:58 code2\name32x32.jpg
文件 2572 2015-06-05 13:37 code2\name_imbed.asv
文件 2666 2015-06-05 18:05 code2\name_imbed.m
文件 428 2015-06-05 15:51 code2\nc.m
文件 14987 2015-06-05 11:30 code2\nike.jpg
文件 33859 2015-06-05 15:11 code2\nvlang512x512.jpg
文件 719 2015-06-05 14:41 code2\reimrotate.m
文件 12432 2015-06-05 19:15 code2\temp.jpg
文件 3231 2015-06-05 13:41 code2\testname.m
文件 4854 2015-06-05 20:59 code2\upt.bmp
文件 7483 2015-06-05 20:57 code2\watermaked.fig
文件 25432 2015-06-05 14:38 code2\watermaked.m
- 上一篇:基于matlab的井字棋
- 下一篇:matlab仿真实现MSK
相关资源
- 基于小波变换的数字水印算法115024
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- Dstar(动态路径规划)算法62845
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
评论
共有 条评论