Python 如何随机拾取二值图像中非零像素的位置?

Python 如何随机拾取二值图像中非零像素的位置?,python,python-3.x,Python,Python 3.x,我有一个NxMxK大小的二进制图像。我想随机选取图像中的非零像素位置。然而,我只能得到所有非零像素的元组。我应该如何使用python实现它 我正在使用 location = np.where(array==True) #Return (array([ 66, 66, 66, ..., 133, 133, 133]), array([35, 35, 35, ..., 59, 59, 59]), array([102, 103, 104, ..., 105, 106, 107])) 我的预期是

我有一个NxMxK大小的二进制图像。我想随机选取图像中的非零像素位置。然而,我只能得到所有非零像素的元组。我应该如何使用python实现它

我正在使用

location = np.where(array==True)
#Return
(array([ 66,  66,  66, ..., 133, 133, 133]), array([35, 35, 35, ..., 59, 59, 59]), array([102, 103, 104, ..., 105, 106, 107]))
我的预期是像素位置像(66,35102)或(66,35103)。。。因为它是随机的

更新:这是我目前的解决方案

ln = np.random.choice (indices[0], size=1)[0]
lm = np.random.choice (indices[1], size=1)[0]
lk = np.random.choice (indices[2], size=1)[0]
你在找什么

np.random.choice (location, size=1)

我在mtrand.RandomState.choice ValueError:a必须是一维的`你在寻找一个所有k分量都为0的“黑色”像素吗?不。在所有非零像素的列表中,我只想选择一个位置。我不知道你的符号,但是np.random函数中的一个就可以了。谢谢。我使用您的建议更新了当前的解决方案