Hi every one is there any way how to subtradt two matrices of different dimension let say A=<424x544x3uint8> and B=<462x545x3 uint8> How can we perform subtraction like S=A-B. Thanks

1 visualizzazione (ultimi 30 giorni)
A=imread('u.png'); B=imread('c2.png'); Ip = imabsdiff(A,B); imshow(Ip)

Risposte (1)

Andy
Andy il 22 Ott 2014
How about expanding the two inputs to generate matrices with matching dimensions, assuming A(1,1) lines up with B(1,1)
Asize=size(A);
Bsize=size(B);
Csize=max(Asize,Bsize);
Anew=zeros(Csize);
Bnew=zeros(Csize);
Anew(1:Asize(1),1:Asize(1,2))=A;
Bnew(1:Bsize(1),1:Bsize(1,2))=B;
S=Anew-Bnew;
Alternatively trim them to the same size after finding the size of the overlap,
Asize=size(A);
Bsize=size(B);
Csize=min(Asize,Bsize);
Anew=A(1:Asize(1),1:Asize(1,2));
Bnew=B(1:Asize(1),1:Bsize(1,2));
S=Anew-Bnew;

Categorie

Scopri di più su Operators and Elementary Operations in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by