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

1
8

Есть ли способ проверить, что входное изображение является именно 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)
Эдуард
Вопрос задан6 июля 2024 г.

1 Ответ

Ваш ответ

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