标题:关于基于小波变换的数字水印技术一段代码不明白,请教高手
只看楼主
俊小杉
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-4-21
 问题点数:0 回复次数:0 
关于基于小波变换的数字水印技术一段代码不明白,请教高手
%嵌入水印算法  
clc;
clear;
%载入宿主图像
file_name1='suzhu256.bmp';
p=imread(file_name1);
%获得宿主图像的宽和高
x=double(imread(file_name1));
mc=size(x,1);
nc=size(x,2);
%对宿主图像进行三层小波分解
[ca1,ch1,cv1,cd1]=dwt2(x,'haar');
[ca2,ch2,cv2,cd2]=dwt2(ca1,'haar');
[ca3,ch3,cv3,cd3]=dwt2(ca2,'haar');
%载入原始水印
file_name2='shuiyin64.bmp';
q=imread(file_name2);
%显示原始的水印
figure(1)
imshow(q),title('原始水印');
%获得水印的宽和高
y=double(imread(file_name2));
mo=size(y,1);
no=size(y,2);
%对水印进行一层小波分解
[ca5,ch5,cv5,cd5]=dwt2(y,'haar');
a=0.01;
%嵌入水印
ch3(1:32,1:32)=ch3(1:32,1:32)+a*cd5;
cv3(1:32,1:32)=cv3(1:32,1:32 )+a*ca5;
ch1(97:128,97:128)=ch1(97:128,97:128)+a*ch5;
cv2(1:32,1:32)=cv2(1:32,1:32)+a*ca5;
cv1(97:128,97:128)=cv1(97:128,97:128)+a*ca5;
ch2(33:64,33:64)=ch2(33:64,33:64)+a*cv5;
下面这几句代码解释下括号里边的数字代表什么,是和水印图像有关么?
ch3(1:32,1:32)=ch3(1:32,1:32)+a*cd5;
cv3(1:32,1:32)=cv3(1:32,1:32 )+a*ca5;
ch1(97:128,97:128)=ch1(97:128,97:128)+a*ch5;
cv2(1:32,1:32)=cv2(1:32,1:32)+a*ca5;
cv1(97:128,97:128)=cv1(97:128,97:128)+a*ca5;
ch2(33:64,33:64)=ch2(33:64,33:64)+a*cv5;
搜索更多相关主题的帖子: 小波 
2011-04-23 13:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-337666-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.034551 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved