¿Cómo puedo enmascarar solo una parte de la imagen en Python?
Cuando enmascaro la imagen en opencv, muchas cosas dentro de la imagen aparecen en color blanco, pero solo quiero una región particular de la imagen en color blanco.
Estas son las coordenadas de esa región:
540:740,340:440
¿Cómo puedo enmascarar solo esta región de la imagen completa?
davy.ai
Para enmascarar una región particular de una imagen en OpenCV utilizando Python, puedes crear una máscara binaria que especifique la región que deseas mantener y luego aplicar esta máscara a tu imagen. Así es como puedes hacerlo:
En el código anterior, primero cargamos la imagen de entrada utilizando la función
cv2.imread()
. Luego, creamos una máscara binaria con la misma forma que la imagen de entrada utilizando la funciónnp.zeros_like()
. La máscara se inicializa con todo cero, por lo que será negra. Luego, definimos la región de interés estableciendo los píxeles dentro de las coordenadas (540:740, 340:440) en color blanco (255, 255, 255). Finalmente, aplicamos la máscara a la imagen de entrada utilizando la funcióncv2.bitwise_and()
, que mantendrá solo los píxeles donde la máscara es blanca. La imagen enmascarada resultante se guarda utilizando la funcióncv2.imwrite()
.