Как (с помощью чего) определить четкость фото и «черные» фото?

Всем привет!
Каким образом в C# в момент сохранения файла на сервер можно проверить его на четкость (изображение не размыто) на то, что это вообще изображение, а не черное, белое или красное фото (например, пальцем закрыта камера)?
  • Вопрос задан
  • 367 просмотров
Пригласить эксперта
Ответы на вопрос 2
Черные фото – просто среднюю яркость всех пикселей оценить.
Четкость – пройтись highpass фильтром и оценить количество далёких от середины значений. Радиус подобрать относительно размера фото: 1/50, 1/100 – какого размера четкие детали обязательно должны быть на снимке?
Ответ написан
Комментировать
Deerenaros
@Deerenaros
Программист, математик, задрот и даже чуть инженер
Однотонные изображения элементарно отсеивается средне-квадратичным.

Четкость зависит от множества факторов. Однако есть вариант с градиентами: они "должны" иметь распределение с пологими границами. Можете погуглить что-нибудь такое, вроде даже на хабре было. ЕМНИП, этот метод крайне эффективен, однако есть способ и попроще - банальное преобразование Фурье. В случае размытого изображения оно должно быть более плавным и иметь низкий сигнал на высоких частотах.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы