How to compare two 3D matrices element-wise?

10 ビュー (過去 30 日間)
Hadi Ghahremannezhad
Hadi Ghahremannezhad 2021 年 2 月 10 日
I have two RGB images (3D matrix: x, y, z) of the same size, and I wanted to compare the corresponding values.
Suppose there are two matrices A and B, both have size (4,5,3).
I want a 2D mask (logical image) that represents the (x,y) points where matrix A is less than matrix B in all 3 values of the third (z) dimension.
So for example the mask(4,4) = 1 if:
  • A(4,4,1) < B(4,4,1)
  • A(4,4,2) < B(4,4,2)
  • A(4,4,3) < B(4,4,3)
I tried this but it doesn't work, because the resulting matrix (ALessThanB) is 3D logical:
ALessThanB = A < B;
How can I make this comparison only along the third dimension?

採用された回答

Steven Lord
Steven Lord 2021 年 2 月 10 日
Use the all function. You'll want to specify the optional dim input argument as well as the required A input argument (the data.)
  1 件のコメント
Hadi Ghahremannezhad
Hadi Ghahremannezhad 2021 年 2 月 10 日
thanks, all(A < B, 3) worked.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by