tags:

views:

43

answers:

2

Given a 2D array that has been converted to binary, for some index values of the binary array how do you find the corresponding values in the original?

Maybe something using ind2sub?

+4  A: 

No, you can index directly.

%# create some test data
m = magic(4);
%# make binary image
bw = m>10;

%# read values from m
values = m(bw);

%# alternatively, if you have linear indices (as found via find)...
linIdx = find(bw);
%# ...you can use that instead
values = m(linIdx);
Jonas
+1  A: 

You can keep the 2D structure using an element-wise multiplication.

m = magic(4);
bw = m>10;
m .* bw
Clement J.

related questions