资源简介
别人的小波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基于小波融合的人脸融合
- matlab小波变换合集
- 嵌入式小波零树(ezw)编码matlab程序
- matlab小波复合阂值算法
- 基于小波变换的静态图像数字水印m
- matlab小波信号去噪可用于预测数据预
- 结合维纳滤波的小波域去噪
- matlab下小波图像融合几种代码
- matlab小波变换图像边缘检测源代码
- 有关单层小波分解与重构matlab程序
- 多层小波分解与重构matlab程序
- 小波图像增强matlab源代码
- 多分辨率动态模式分解
- 基于小波变换多尺度边缘检测
- 特征检测小波包matlab程序与数据
- 小波锐化matlab
- matlab中的db小波
- 小波包分解程序
- Matlab图像处理——小波变换去噪声、
- 小波融合代matlab源代码
- 滚动轴承性能退化评估的小波包熵m
- 小波滤波可用于心电信号、脉搏波信
- 信息隐藏,LSB隐写 matlab源代码
- 基于MATLAB小波声音去噪
- 压缩感知离散余弦变换基-小波基MAT
- matlab程序:用提升小波变换进行信号
- Matlab小波分解和重构算法-db2.m
- 基于matlab的小波变换去噪处理三种方
- 小波去噪几种方法对比
- 5/3小波的分解与重构Matlab
评论
共有 条评论