python - seguimiento - OpenCV que da color incorrecto a imágenes coloreadas al cargar
opencv python tutorial español (1)
Estoy cargando una imagen en color en Python OpenCV y graficando la misma. Sin embargo, la imagen que obtengo tiene sus colores mezclados.
Aquí está el código:
import cv2
import numpy as np
from numpy import array, arange, uint8
from matplotlib import pyplot as plt
img = cv2.imread(''lena_caption.png'', cv2.IMREAD_COLOR)
bw_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
images = []
images.append(img)
images.append(bw_img)
titles = [''Original Image'',''BW Image'']
for i in xrange(len(images)):
plt.subplot(1,2,i+1),plt.imshow(images[i],''gray'')
plt.title(titles[i])
plt.xticks([]),plt.yticks([])
plt.show()
OpenCV usa BGR como su orden de color predeterminado para las imágenes, matplotlib usa RGB. Cuando visualice una imagen cargada con OpenCv en matplotlib, los canales volverán al frente.
La forma más fácil de solucionar esto es usar OpenCV para convertirlo explícitamente de nuevo a RGB, al igual que lo hace al crear la imagen en escala de grises.
RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
Y luego usa eso en tu trama.