我正在尝试使用skikit learn为RGB图像创建蒙版。我想创建一个只选择等于[0,10,0]的像素的蒙版,即绿色通道上的10。然后只显示这些像素。这应该很简单,类似于http://scikit-image.org/docs/dev/user_guide/numpy_images.html,但我遇到了困难。
如果图像是一个已加载的jpg文件,我可以执行以下操作:
然而,我得到:
如果我打印(mask),我发现我得到的不是每个像素的一系列True和False,而是:
请注意,我的图像中的第一个像素是黑色。因此,它似乎正在比较[0,0,0]和[0,10,0],并且不会引发False,而是引发True,False,True。
然后,这似乎无法作为掩码使用,因为我对每个像素有3个掩码,我想!
有人知道用RGB图像使掩码正常工作的简单方法吗?
谢谢
如果图像是一个已加载的jpg文件,我可以执行以下操作:
mask = image == [0,10,0]
image = image[mask]
viewer = ImageViewer(image)
viewer.show()
然而,我得到:
TypeError: Invalid dimensions for image data
如果我打印(mask),我发现我得到的不是每个像素的一系列True和False,而是:
[[ True False True]
[ True False True]
[ True False True]
...,
[ True False True]
[ True False True]
[ True False True]]
请注意,我的图像中的第一个像素是黑色。因此,它似乎正在比较[0,0,0]和[0,10,0],并且不会引发False,而是引发True,False,True。
然后,这似乎无法作为掩码使用,因为我对每个像素有3个掩码,我想!
有人知道用RGB图像使掩码正常工作的简单方法吗?
谢谢
image
数组有什么维度,它是否与 (n, 3) 的形状相匹配? - Christoph Engwer