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:
import cv2
import matplotlib.pyplot as plt
img = cv2.imread("../LogoGoogle.jpg")
plt.imgshow(img)
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)
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