Метрики анализа - yegorprikhodieko/technical_vision GitHub Wiki

Подробное описание

Резкость

Метод расчета: Дисперсия оператора Лапласа.

sharpness = laplacian.var()

Интерпретация:

  • 2000: Отличная резкость (профессиональные камеры).
  • 1000–2000: Хорошее качество (флагманы).
  • < 500: Низкая резкость (бюджетные устройства).

Ограничения:

Чувствителен к шуму (шум может давать высокие значения). Не различает направленность размытия. Может давать ложные результаты на текстурированных поверхностях. Не учитывает человеческое восприятие резкости. Плохо работает с низкоконтрастными изображениями.

Контраст

Метод расчета: Стандартное отклонение значений пикселей.

contrast = image.std()

Ограничения:

Чувствителен к выбросам (очень яркие/темные пиксели). Не различает полезный контраст от шума. Не учитывает локальные вариации яркости.

Нормы:

  • 40–60: Оптимальный контраст.
  • < 30: Изображение выглядит "плоским".

Яркость (заглушка)

Планируется реализовать через среднее значение пикселей:

brightness = image.mean()

Ограничения:

Работает только с grayscale изображениями. Простые статистические метрики могут не отражать визуальное восприятие. Не учитывает локальные вариации контраста. Чувствителен к выбросам (очень яркие/темные пиксели).

Шум

PSNR алгоритма Гаусса

Ограничения:

Определяется при помощи подсчёта PSNR алгоритма Гаусса и Пуассона. Рейтинг формируется с помощью PSNR Гаусса. Программа не разграничивает тип структуры шумов, причины происхождения.