mas选择像素列表

2024-09-27 00:14:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个图像和一个从图像中选择像素的遮罩。我想列出这些像素,然后用scipy.kmeans公司. 有没有比这更好的方法(如我不知道的函数)

pixels = []
for irow,mrow in zip(img,mask):
    pixels += [pixel for pixel,mbyte in zip(irow,mrow) if mbyte==255]

Tags: 方法函数in图像for公司像素scipy
1条回答
网友
1楼 · 发布于 2024-09-27 00:14:27

使用^{}-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]

相关问题 更多 >

    热门问题