返回信息流输入程序后显示: Error in ==> C:\MATLAB6p5\work\Untitled2.m
On line 23 ==> BLOCK=I(x:x+K-1,y:y+K-1);
Index exceeds matrix dimensions.
请问应该怎么改呢 ?哪位高手能帮我看看呀。。。我的matlab基础为0,但是毕设要用,一直调不出来,再次谢谢了。。。
M=256;
N=32;
K=8;
I=zeros(M,M);
J=zeros(N,N);
BLOCK=zeros(K,K);
subplot(1,8,2);
J=imread('watermark','gif');
imshow(J);
title(' ');
subplot(1,3,2);
I=imread('camera','gif');
imshow(I);
title('原始公开图像 ');
tem=1;
for p=1:N
for q=1:N
x=(p-1)*K+1;
y=(q-1)*K+1;
BLOCK=I(x:x+K-1,y:y+K-1);
BLOCK=dct2(BLOCK);
if J(p,q)==0
a=-1;
else
a=1;
end
BLOCK(2,1)=BLOCK(2,1)*(1+a*0.01);
BLOCK=idct2(BLOCK);
I(x:x+K-1,y:y+K-1)=BLOCK;
end
end
subplot(1,3,3);
imshow(I);
title('嵌入水印后的图像 ');
imwrite(I,'embedded.gif','gif')
这是一条镜像帖。来源:北邮人论坛 / matlab / #5417同步于 2009/5/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
matlab 的数字水印问题
CXKS
2009/5/13镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 CXKS 的大作中提到: 】
: 输入程序后显示: Error in ==> C:\MATLAB6p5\work\Untitled2.m
: On line 23 ==> BLOCK=I(x:x+K-1,y:y+K-1);
: Index exceeds matrix dimensions.
: ...................
这是效果图 [em18]
附件(2.9MB) 1.bmp