Saltar al contenido

Dividir imagen usando OpenCV en python

Te damos el arreglo a este enigma, o por lo menos eso creemos. Si tienes interrogantes puedes dejarlo en el apartado de preguntas, que sin dudarlo te responderemos

Solución:

Eso es tan simple como cargar una imagen usando cv2.imread y luego usar cv2.split:

>>> import cv2
>>> import numpy as np
>>> img = cv2.imread("foo.jpg")
>>> b,g,r = cv2.split(img)

La documentación de OpenCV está disponible en docs.opencv.org

Como se menciona en el tutorial de documentación, cv2.split() es una operación costosa en términos de rendimiento (tiempo) si no desea operar en todos los canales sino solo en uno o dospor lo que se prefiere la indexación numpy:

import cv2
import numpy as np
img = cv2.imread("foo.jpg")
b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]

Recuerda que opencv lee las imágenes como BGR en lugar de RGB

Editar: @Mitch McMabers, gracias por señalar esto. Utilice este método para obtener la máxima eficiencia si desea trabajar en uno o dos canales por separado. Si desea operar en los tres canales, acceda a los canales usando cv2.split() como se menciona en la respuesta de @jabaldeno.

Puedes apoyar nuestra labor añadiendo un comentario o valorándolo te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *