tutorial seguimiento objetos español detectar deteccion como colores color python image opencv colors rgb

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()

Aquí está la imagen original:

Y aquí está la imagen trazada:


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.