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?

 Akzeptierte Antwort

Steven Lord
Steven Lord am 10 Feb. 2021

1 Stimme

Use the all function. You'll want to specify the optional dim input argument as well as the required A input argument (the data.)

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by