关于基于小波变换的数字水印技术一段代码不明白,请教高手
%嵌入水印算法 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;