How to compare two 3D matrices element-wise?

9 次查看(过去 30 天)
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.)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by