Задание 3: Обработка и анализ изображений

Обязательная часть задания

Программа должна открывать и сохранять изображения в формате BMP или в семействе форматом PBM/PGM/PPM.

Должен быть реализован следующий алгоритм:

  • Билатеральная фильтрация изображений

Билатеральная фильтрация похожа на фильтр Гаусса, но, в отличие от фильтра Гаусса, значение весов пикселей при усреднении зависит не только от расстояния до них, но и от разности интенвивности с центральным пикселем. Это позволяет осуществлять шумоподавление, одновременно сохраняя высокочастотные структуры, такие как контуры.

Дополнительная часть задания

Дополнительно предлагается реализовать следующий алгоритм обработки изображений:

  • Алгоритм Харриса для детектирования углов

Формат параметров командной строки

Программа должна поддерживать запуск из командной строки со строго определённым форматом команд:

%programname% (command) [parameters...] (input_image) (output_image)

Список команд:

bilateral {sigma_d} {sigma_r}   Билатеральная фильтрация
harris {sigma}   Детектор углов Харриса с параметром σ

Примеры изображений


Исходное изображение с шумом

Билатеральная фильтрация с параметрами
sigma_d = 5, sigma_r = 20

Исходное изображение

Результат детектора Харриса
с параметром sigma = 3

Справочные материалы