资源简介
别人的小波SVD水印加密,乘性水印算法,有攻击内容代码,增加了代码说明文件,适合初学者。经修改测试完全可运行。

代码片段和文件信息
%% Anti-Rotation Plus
% Kyoshiyou 2012-05-28
clc; clear all; close all;
%% Load Image
I = im2double( imread(‘Lena.BMP‘) ); [ M N ] = size( I );
%% Load Watermark
w = im2double( imread(‘W.bmp‘) ); [ Mw Nw ] = size( w );
w=w(::1);
%% Start Time 1
start_time1 = cputime;
%% embed Watermark
%%R1 = I(::1);
%%G1 = I(::2);
%%B1 = I(::3);
k = 0.5;
[ CA_2 H_2 V_2 D_2 ] = dwt2( I ‘haar‘ );
[ CA H V D ] = dwt2( CA_2 ‘haar‘ );
[ Uw Sw Vw] = svd( w );
[ Uc Sc Vc] = svd( CA );
Sc1 = Sc + k * Sw;
Ccw = Uc * Sc1 * Vc‘;
Ccw_1 = idwt2( Ccw H V D ‘haar‘ );
I_w = idwt2( Ccw_1 H_2 V_2 D_2 ‘haar‘ );
%%I_w = cat( 3 R_w G1 B1);
%% End Time 1
elapsed_time1 = cputime - start_time1;
ksy=0;
%% Attack Tpye
disp(‘攻击类型:1.旋转攻击 2.JP2压缩 3.JPEG压缩 4.均值滤波‘);
disp(‘ 5.圆形均值 6.高斯低通 7.移动模糊 8.对比增强‘);
disp(‘ 9.中值滤波 10.直方图均衡 11.对比度UP 12.高斯噪声‘);
disp(‘ 13.椒盐噪声 14.斑纹噪声 15.泊松噪声 16.缩放攻击‘);
attack = input(‘请输入攻击类型:‘);
switch attack
case 1 % 旋转攻击
angle = input(‘请输入旋转角度:‘);
if angle > 0
I_wa = imrotate( I_w angle ‘crop‘ ‘nearest‘ );
name = strcat( ‘图像旋转‘ num2str(angle) ‘°_‘ ‘.BMP‘);
imwrite( I_wa name ‘BMP‘ );
type = ‘图像旋转‘;
flag = 1; ksy = 1;
else
disp(‘旋转失败‘);
I_wa = I_w;
type = ‘旋转失败‘;
flag = 0;
end
case 2 % JP2压缩
cr = input(‘请输入压缩比例(0-100):‘);
if cr > 0 && cr <= 100
name = strcat( ‘JP2压缩‘ num2str(cr) ‘%_‘ ‘.BMP‘);
imwrite( I_w name ‘JP2‘ ‘CompressionRatio‘ cr );
I_wa = im2double( imread( name ) );
type = ‘JP2压缩‘;
flag = 1;
else
disp(‘压缩失败‘);
I_wa = I_w;
type = ‘压缩失败‘;
flag = 0;
end
case 3 % JPEG压缩
q = input(‘请输入质量因子(0-100):‘);
if q > 0 && q <= 100
name = strcat( ‘JPEG压缩‘ num2str(q) ‘_‘ ‘.BMP‘);
imwrite( I_w name ‘JPG‘ ‘quality‘ q );
I_wa = im2double( imread( name ) );
type = ‘JPEG压缩‘;
flag = 1;
else
disp(‘压缩失败‘);
I_wa = I_w;
type = ‘压缩失败‘;
flag = 0;
end
case 4 % 均值滤波
h = fspecial( ‘average‘ 3 );
I_wa = filter2( h I_w );
imwrite( I_wa ‘均值滤波_.BMP‘ ‘BMP‘ );
type = ‘均值滤波‘;
flag = 1;
case 5 % 圆形均值
h = fspecial( ‘disk‘ 3 );
I_wa = filter2( h I_w );
imwrite( I_wa ‘圆形均值_.BMP‘ ‘BMP‘ );
type = ‘圆形均值‘;
flag = 1;
case 6 % 高斯低通
h = fspecial( ‘gaussian‘ 3 0.5 );
I_wa = filter2( h I_w );
imwrite( I_wa ‘高斯低通_.BMP‘ ‘BMP‘ );
type = ‘高斯低通‘;
flag = 1;
case 7 % 移动模糊
h = fspecial( ‘motion‘ 9 0 );
I_wa = filter2(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9168 2018-03-17 09:58 DWTattack.m
文件 66614 1996-10-24 16:44 Lena.bmp
文件 12342 2018-02-03 15:15 w.bmp
文件 14926 2018-03-17 10:19 程序运行说明.docx
文件 9169 2018-03-17 09:41 DWT_SVD_attack.m
----------- --------- ---------- ----- ----
112219 5
相关资源
- MATLAB小波软阈值去噪代码33473
- 图像小波变换MatLab源代码
- 图像的二进小波分解matlab源码(保证
- 小波神经网络Matlab交通仿真程序
- 同步挤压小波变换分离混沌干扰 mat
- 利用WOA算法优化libsvm中SVDD算法的参数
- 小波滤波,可用于心电信号、脉搏波
- 轴承故障诊断matlab代码四种方法
- 小波变换工具箱
- MATLAB实现k-svd和mod信号处理
- 小波分析与小波相干代码
- 基于遗传算法的小波神经网络在股票
- 基于SVD分解和最近邻算法的高维人脸
- matlab实现一维和二维离散小波变换,
- EWT 经验小波分解 matlab工具箱 toolbox
- 基于运动想象脑电信号的多特征融合
- Matlab小波分析工具箱原理与应用.pdf
- 小波变换图像融合的matlab实现
- 基于MATLAB的系统分析与设计-小波分
- ksvd算法matlab稀疏表示中训练字典
- 中值维纳小波等五种图像去噪方法源
- 小波变换法图像融合MATLAB代码
- MATLAB 6.5 辅助小波分析与应用 飞思科
- 使用Matlab7.3开发的使用整数小波变换
- 基于小波包能量分析的轴承故障诊断
- 小波与傅里叶分析基础扫描版PDF
- MATLAB 6.5 辅助小波分析与应用 飞思科
- 小波变换及其MATLAB工具的应用.pdf
- matlab小波分析工具箱
- Matlab小波分析工具箱原理与应用
评论
共有 条评论