filtrar una matriz numpy 3D de acuerdo con una matriz numpy 2D

Tengo una matriz numpy 2D con la forma (3024, 4032).

Tengo una matriz numpy 3D con la forma (3024, 4032, 3).

La matriz numpy 2D está llena de 0s y 1s.

La matriz numpy 3D está llena de valores entre 0 y 255.

Al observar los valores de la matriz 2D, quiero cambiar los valores en la matriz 3D. Si un valor en la matriz 2D es 0, cambiaré los valores de los 3 píxeles en la matriz 3D a 0 a lo largo de los últimos ejes. Si un valor en la matriz 2D es 1, no lo cambiaré.

He comprobado esta pregunta,Cómo filtrar una matriz numpy con los valores de otra matriz, pero se aplica a 2 matrices que tienen las mismas dimensiones. En mi caso, las dimensiones son diferentes.

¿Cómo se aplica el filtrado en dos matrices, con el mismo tamaño en 2 dimensiones, pero no el tamaño en la última dimensión?

Respuestas a la pregunta(2)

Su respuesta a la pregunta