我正在 matlab 中尝试特定代码但收到错误
Error using ==> plus
Matrix dimensions must agree.
在这条线上
LL_1=LL+k;
在哪里k=w*alpha;
和[LL,LH,HL,HH] = dwt2(X,'db1','d');
请X=imread('cameraman.tif');
X=im2double(X);
帮助我应该如何解决这个错误?
编辑:我浏览了这里的一篇文章并尝试使用 bsxfun
LL_1=bsxfun(@plus,LL+k);
但这并不能解决问题
编辑 2:代码是关于使用 dwt 算法的数字图像水印,我在浏览互联网时发现了这个代码,但它给出了我上面讨论的错误。
我已经发布了代码的前半部分,直到出现错误。
我希望我的回复对解决错误有用
%loading cover image
X=imread('cameraman.tif');
X=im2double(X);
[F1,F2]=wfilters('db1','d');
[LL,LH,HL,HH] = dwt2(X,'db1','d');
%watermark image
b=imread('copyright.bmp');
level=graythresh(b);
w=im2bw(b,level);
w=double(w);
alpha=0.09;
k=w*alpha;
LL_1=bsxfun(@plus, LL, k);
Y=idwt2(LL_1,LH,HL,HH,'db1','d');