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 回表示 (過去 30 日間)
sachin
sachin 2014 年 10 月 22 日
回答済み: Andy 2014 年 10 月 22 日
A=imread('u.png'); B=imread('c2.png'); Ip = imabsdiff(A,B); imshow(Ip)

回答 (1 件)

Andy
Andy 2014 年 10 月 22 日
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;

カテゴリ

Help Center および File ExchangeOperators and Elementary Operations についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by