资源简介
使用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
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- prony 算法
- 蚁群算法论文+源代码
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 协同进化遗传算法求解函数优化问题
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
评论
共有 条评论