Как подтвердить, что изображение находится в формате RGB в Python?

Есть ли способ проверить, что входное изображение имеет именно RGB, а не BGR или что-то другое. Для проверки изображений RGB и изображений в оттенках серого я использую длину их формы для сравнения:

Этот метод хорошо работает для различения изображений с цветовыми каналами от изображений в оттенках серого, но он не различает цветовые пространства RGB и BGR. Поскольку изображения RGB и BGR будут иметь три измерения в массиве numpy, мне нужен надежный способ гарантировать, что данные изображения, которые я обрабатываю, находятся именно в формате RGB.

Я пытался использовать размерность изображения для отличать любой трехканальный формат от цветового пространства оттенков серого.

Я знаю, что 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)
Олег
Вопрос задан30 июля 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.