Je tente un code particulier dans Matlab mais obtenir l'erreur
Error using ==> plus
erreur de dimension matricielle dans le code Matlab
Matrix dimensions must agree.
à cette ligne
LL_1=LL+k;
où k=w*alpha;
et [LL,LH,HL,HH] = dwt2(X,'db1','d');
et X=imread('cameraman.tif'); X=im2double(X);
S'il vous plaît, aidez-moi comment devrais-je résoudre cette erreur?
Edit: je suis passé par l'un des postes ici et essayé d'utiliser bsxfun
LL_1=bsxfun(@plus,LL+k);
mais cela ne résout pas le problème
Edit 2: Le code est sur le watermarking image numérique en utilisant l'algorithme de tpl , j'ai trouvé ce code lors de la navigation sur Internet mais il donne les erreurs que j'ai discutées ci-dessus.
J'ai posté la première moitié du code jusqu'à ce que je reçois l'erreur.
J'espère que ma réponse est utile pour résoudre l'erreur
%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');
lorsque vous utilisez 'size' sur les matrices que vous avez écrit, qu'est-ce que vous obtenez? qui est, 'taille (LL)' et 'taille (K)' –
valeur de LL est la suivante: <171x210x3 double> et la valeur de k est la suivante: <273x286 double> – sumedha
'taille (LL) ans = 171 210 3'' size (k) ans = 273 286' – sumedha