我有一個圖像和掩碼,從該圖像中選擇像素。我想列出這些像素,然後使用scipy.kmeans對它們進行聚類分析。 有沒有更好的方法(例如,我不知道的功能)使用比這使掩碼選擇的像素列表
pixels = []
for irow,mrow in zip(img,mask):
pixels += [pixel for pixel,mbyte in zip(irow,mrow) if mbyte==255]
我有一個圖像和掩碼,從該圖像中選擇像素。我想列出這些像素,然後使用scipy.kmeans對它們進行聚類分析。 有沒有更好的方法(例如,我不知道的功能)使用比這使掩碼選擇的像素列表
pixels = []
for irow,mrow in zip(img,mask):
pixels += [pixel for pixel,mbyte in zip(irow,mrow) if mbyte==255]
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
來CONVER結果:
>>> list(img[mask == 255])
[2, 4]
非常整潔,謝謝 –
@HaydonBerrow,不客氣。快樂的Python編程。 – falsetru
'像素= IMG [掩模== 255]'或'像素=列表(IMG [掩模== 255])' – falsetru