【发布时间】:2014-10-31 11:24:54
【问题描述】:
我有两个相同形状的 2D-numpy 数组,一个包含数据,一个 'ubyte' 类型存储每个像素的位标志。我想访问数据数组中在 bitflags-array 中具有特定标志的每个像素。
我可以遍历任一数组中的每个像素并使用多索引来获取位标志和像素值,例如
it = np.nditer(array, flags=['multi_index'])
while not it.finished:
if bitflags[it.multi_index] & FLAG:
do_something(array[it.multi_index])
it.iternext()
由于大多数像素没有设置相应的位标志,我宁愿找到具有给定位标志的所有像素(例如使用 numpy.where(bitflags & FLAG) 并仅遍历这些像素 - 类似于
pixels = np.where(bitflags & FLAG)
for pixel in array[pixels]:
do_something()
有没有办法我仍然可以获取原始数组的索引以在do_something() 中使用它们?
【问题讨论】: