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);
このエラーをどのように解決すればよいか教えてください。
編集:私はここの投稿の1つを調べて、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');