从二进制转换为原始数组值

时间:2010-05-06 15:26:00

标签: arrays matlab

鉴于已转换为二进制的2D数组,对于二进制数组的某些索引值,如何在原始数据中找到相应的值?

也许是使用ind2sub的东西?

2 个答案:

答案 0 :(得分:5)

不,你可以直接索引。

%# 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);

答案 1 :(得分:1)

您可以使用逐元素乘法来保持2D结构。

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