Как я полагаю, OpenCV считывает изображения в цветовом пространстве BGR, и нам обычно приходится преобразовывать их обратно в RGB следующим образом:
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
Но когда я пытаюсь просто прочитать изображение и показать его, раскраска выглядит хорошо (без необходимости конвертировать BGR в RGB):
img_bgr = cv2.imread(image_path)
cv2.imshow('BGR Image',img_bgr)
img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)
cv2.imshow('RGB Image',img_rgb )
cv2.waitkey(0)
Таким образом, imshow()
автоматически изменяет цветовое пространство внутри функции (с BGR на RGB), или цветовое пространство всегда было BGR?