Numpy / Scipy con máscaras e imágenes RGB
Estoy tratando de crear una máscara para una imagen RGB usando skikit learn. Quiero crear una máscara seleccionando solo píxeles que sean iguales a [0,10,0], es decir, 10 en el canal verde. Y luego muestra solo esos píxeles. Esto debería ser sencillo, similar ahttp://scikit-image.org/docs/dev/user_guide/numpy_images.html, pero estoy luchando
Si la imagen es un jpg cargado, puedo hacer
mask = image == [0,10,0]
image = image[mask]
viewer = ImageViewer(image)
viewer.show()
Sin embargo, me sale:
TypeError: Invalid dimensions for image data
Si luego imprimo (máscara), me doy cuenta de que en lugar de una serie de Verdadero y Falso para cada píxel, obtengo:
[[ True False True]
[ True False True]
[ True False True]
...,
[ True False True]
[ True False True]
[ True False True]]
Tenga en cuenta que el primer píxel en mi imagen es negro. Entonces parece que lo que está haciendo es comparar [0,0,0] con [0,10,0], y en lugar de aumentar False, aumenta True, False, True.
Esto parece fallar como una máscara, porque supongo que tengo 3 máscaras para cada píxel.
¿Alguien sabe una manera simple de hacer que esta máscara funcione con imágenes RGB?
Gracias