我有一个图像和一个从该图像中选择像素的蒙版。我想列出这些像素,然后使用scipy.kmeans对它们进行聚类分析。 有没有比这更好的方法(例如我不知道的功能)
pixels = []
for irow,mrow in zip(img,mask):
pixels += [pixel for pixel,mbyte in zip(irow,mrow) if mbyte==255]
答案 0 :(得分:0)
使用numpy
- boolean or "mask" index array:
>>> import numpy as np
>>> img = np.array([[1, 2, 3],
... [4, 5, 6]])
>>> mask = np.array([[0, 255, 0],
... [255, 0, 0]])
>>> img[mask == 255]
array([2, 4])
如果您想要list
而不是numpy.array
,请使用list
汇总结果:
>>> list(img[mask == 255])
[2, 4]