1. Алгоритм для грей-скейл онли.
1.1. Имеем формулу получения вероятности, что пиксель черно-белый Sij=(Rij+Gij+Bij)/3; Pij = 1 — (|Sij-Rij| + |Sij-Gij| + |Sij-Bij|)/765;
1.2. Устанавливаем итоговую вероятность Т = 1. Начинаем сканировать картинку по сетке с шагом в 1-50 пикселей либо случайно несколько пикселей; чем больше мы просканируем тем правдоподобнее наша вероятность. Для каждого из сканируемых пикселей находим Pij; T = T * Pij; Если итоговая вероятность упала ниже 0.9, то останавливаем сканирование и говорим, что картика не черно-белая, если доходит до конца, то говорим, что черно-белая.
2. Алгоритм с получением палитры.
2.1. Пробегаем по картинке собираем все цвета если цветов больше 500 картинка не черно-белая, если менее, то находим вероятность родства цветов по тону, исходя из вероятности говорим, что картинка ч/б или сепия и т.п.