Convertendo espaços de cor com OpenCV

Caros, nesse segundo post, iremos falar sobre a função de conversão de cor do OpenCV.

Função abordada: cv2.cvtColor()

Convertendo espaços de cor com OpenCV

Existem diversos motivos para você precisar converter um espaço de cor com OpenCV. Porém, acredito que o principa seja porque os canais carregados com a função cv2.imread() segue o padrão BGR e não RGB o que acarreta em uma visualização errada quando utilizamos por exemplo a biblioteca matplotlib que está esperando um formato de array RGB.

Vamos ver um exemplo de código para carregar a seguinte imagem:

LogoGoogle

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("../LogoGoogle.jpg")
plt.imgshow(img)

LogoGoogleBGR

O código para a conversão de cor será então:

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("../LogoGoogle.jpg")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imgshow(img)

LogoGoogleBGR

Pronto, a exibição está correta. Existe também a possibilidade de manipular manualmente o array e ajustar a ordem dos canais.

Segue material para consulta de outros usos: https://www.learnopencv.com/color-spaces-in-opencv-cpp-python/

https://www.programcreek.com/python/example/89426/cv2.cvtColor

Data de publicação: 08-11-2018