Задание 2: Интерполяция изображений

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

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

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

  • Увеличение изображений в произвольное число раз с помощью билинейной интерполяции
  • Увеличение изображений в произвольное число раз с помощью бикубической интерполяции
  • Понижение разрешения изображений в произвольное число раз
  • Вычисление метрик сравнения изображений: MSE и PSNR
  • Вычисление метрик сравнения изображений: SSIM и MSSIM

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

  • Реализация алгоритма повышения разрешения DCCI

Замечания и рекомендации

Совет: понижение разрешения рекомендуется делать следующим образом: сначала сделать низкочастотную фильтрацию, например, применяя фильтр Гаусса с параметром σ2 =0.1 (s2 − 1), где s — коэффициент понижения разрешения, затем просто брать каждый s-й пиксель по строкам и столбцам. При нецелом s применяется интерполяция, например, билинейная интерполяция.

Бикубическая интерполяция может быть реализована по-разному в зависимости от способа вычисления разностной производной. Допустима любая реализация бикубической интерполяции.

Для метрики MSSIM (Mean-SSIM) предлагается разбиение изображения на блоки 8х8.

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

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

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

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

up_bilinear {s}   Увеличение с помощью билинейной интерполяции в s раз
up_bicubic {s}   Увеличение с помощью бикубической интерполяции в s раз
dcci   Алгоритм DCCI
downsample {s}   Уменьшение в s раз
metric {mse|psnr|ssim|mssim}   Вычисление метрики между двумя входными изображениями, результат выводится числом на экран

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


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

Результат уменьшения в 2 раза

Билинейная интерполяция
MSE = 57.03, PSNR = 30.57, MSSIM = 0.959

Бикубическая интерполяция
MSE = 46.14, PSNR = 31.49, MSSIM = 0.967

Алгоритм DCCI
MSE = 42.51, PSNR = 31.85, MSSIM = 0.962

Значения метрик вычислены относительно исходного изображения после перевода в оттенки серого.

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