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

Respuestas a la pregunta(1)

Su respuesta a la pregunta