При конвертировании BGR в HSV через OpenCV ломается цвет

Оригинал и результат:

оригинал

p

Код используемый для преобразования:

import cv2

image = cv2.imread("bl.png")
image = cv2.cvtColor(np.array(image), cv2.COLOR_BGR2HSV) 

Как исправить?


Ответы (1 шт):

Автор решения: MaxU

Краткий перевод ответа @user7678894:

Нет смысла рисовать изображение, преобразованное к HSV формату, используя cv2.imshow().

imshow() рассчитывает, что ему передали изображение (матрицу) в формате BGR.

Чтобы вывести HSV изображение на экран, используя cv2.imshow(), это изображение нужно сначала преобразовать к BGR:

cv2.imshow('', cv2.cvtColor(im_hsv, cv2.COLOR_HSV2BGR))

введите сюда описание изображения

→ Ссылка