Есть ли способ проверить, что входное изображение является именно RGB, а не BGR или другими? Для проверки между изображениями RGB и изображениями в оттенках серого я использую длину их формы для сравнения:
Этот метод хорошо подходит для различения изображений с цветовыми каналами от изображений в оттенках серого, но он не различает цветовые пространства RGB и BGR. Поскольку и изображения RGB, и изображения BGR будут иметь три измерения в массиве numpy, мне нужен надежный способ гарантировать, что обрабатываемые мной данные изображения находятся именно в формате RGB.
Я пытался использовать измерение изображения, чтобы отличить любой 3-канальный формат от цветового пространства в оттенках серого.
Я знаю, что OpenCV считывает цветные изображения в формате BGR.
Комментарии, добавленные из обзора:
import numpy as np
image = np.zeros((224, 224, 3), dtype=np.uint8)
image_gray = np.zeros((224, 224), dtype=np.uint8)
# Grayscale images does not have `channel` dimension
assert len(image.shape) == 3, print("image shape should have 3 items)