Задать вопрос

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

Приветствую!
Нужно понято, что изображение чёрно-белое (в градациях серого) или цветное наиболее быстрым способом.
Подскажите, пожалуйста, этот способ.
P.S. картинка изначально RGB, перебирать каждый пиксель и по порогу смотреть слишком долго.
  • Вопрос задан
  • 434 просмотра
Подписаться 3 Средний 3 комментария
Решения вопроса 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 каналам должны быть равны
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы