Как с помощью Opencv определить, что изображение в градациях серого?

Приветствую!
Нужно понято, что изображение чёрно-белое (в градациях серого) или цветное наиболее быстрым способом.
Подскажите, пожалуйста, этот способ.
P.S. картинка изначально RGB, перебирать каждый пиксель и по порогу смотреть слишком долго.
  • Вопрос задан
  • 426 просмотров
Решения вопроса 2
2ord
@2ord
Для пикселя с идеально серыми оттенками будет верно R=G=B.
Можно также перевести RGB в HSV (Hue-Saturation-Value) и проверять значение S. Идеальный оттенок серого в пикселе будет давать S=0. Для неидеального серого (например, сканировав лист A4 в сканере в режиме RGB) значение S будет недалеко от 0.

Некоторые вычисляют для каждого пикселя
delta = abs(R-G) + abs(G-B) + abs(B-R)
Ответ написан
Ni55aN
@Ni55aN
Можно не каждый пиксель, а случайным образом перебрать хотя бы треть. О каком пороге идёт речь? Если картинка действительно чёрно-белая без каких-то обработок, то значения по 3 каналам должны быть равны
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted. Санкт-Петербург
До 120 000 ₽
Wanted. Санкт-Петербург
от 80 000 до 150 000 ₽
от 60 000 до 120 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час