Saltar al contenido

División de imagen usando OpenCV en Python

Solución:

Eso es tan simple como cargar una imagen usando cv2.imread y luego usa 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 dos, por 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]

Recuerde 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 solo 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.

¡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 *