24小时热门版块排行榜    

查看: 252  |  回复: 0
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 379182892 的 5 个金币

379182892

[交流] 【求助】用haar小波变换处理数字水印的问题

Sample Text我的毕业论文是写“用haar小波变换处理数字水印的问题”,可是在matlab中运行时出现??? Index exceeds matrix dimensions.
或者??? Attempted to access C(1,4); index out of bounds because size(C)=[1,2].我在网上也查了,我知道是索引超出矩阵的范围。可我不知道我的程序到底哪出错了,求救求救
我把程序复制在下面:
blocksize=8; %图像分块大小
A=4;B=1;b=0.318; %水印嵌入程度的调制参数

% 读入载体图像
file_name='lena.jpg';
cover_object0=imread(file_name);
[r_cover,l_cover]=size(cover_object0);

% 读入水印
I=imread('watermark2.jpg');imshow(I);
file_name='watermark2.jpg';
message=imread(file_name);
[r_message,l_message]=size(message);
message_vector=reshape(message,1,r_message*l_message);

if r_message*l_message > r_cover*l_cover/(blocksize^2)
    error('水印太大');
end;

cover_object=double(cover_object0);
watermarked_image=cover_object;

% 图像分块,嵌入水印信息
h=waitbar(0,'嵌入水印,请等待');
x=1;y=1; C=[12,12];
for kk=1:length(message_vector);
    w=cover_object(x:x+blocksize-1,y:y+blocksize-1);
    [cA1,cH1,cV1,cD1]=dwt2(w,'haar');  %二级haar小波变换
    [cA2,cH2,cV2,cD2]=dwt2(cA1,'haar');
    a=[cA2,cH2,cV2,cD2];
    ca=reshape(a,1,(blocksize^2)/4);
    ca2=reshape(cA2,1,(blocksize^2)/16);
    ch2=reshape(cH2,1,(blocksize^2)/16);
    cv2=reshape(cV2,1,(blocksize^2)/16);
    cd2=reshape(cD2,1,(blocksize^2)/16);
    E=(sum(ca)-sum(ca2))/(16-4);   % 二级细节子图的小波系数的平均值
    c=[ch2,cv2,cd2]-E;s=0;
    for nn=1:length(c)
        s=s+c(nn)^2;
    end;
    s=sqrt(s);
    t=s^b;
    p=A+t*B;   % 调制参数
    if message_vector(kk)==0
        C=c+p;
    end;
    if message_vector(kk)==1
        C=c;
    end;
    cH2=reshape(C(1,4),2,2);
引用回帖:
系统提示在这出问题的

cV2=reshape(C(5,8),2,2);
    cD2=reshape(C(9,12),2,2);
    cA1=idwt2(cA2,cH2,cV2,cD2,'haar',[blocksize/2,blocksize/2]); %二级haar小波逆变换
    watermarked_image(x:x+blocksize-1,y:y+blocksize-1)= idwt2(cA1,cH1,cV1,cD1,'haar',[blocksize,blocksize]);
    if (x+blocksize) >= r_cover
        x=1;
        y=y+blocksize;
    else
        x=x+blocksize;
    end;
    waitbar(kk/length(message_vector),h);
end;
close(h);

[ Last edited by 379182892 on 2010-3-25 at 14:34 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 379182892 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见