Задание №3. Предикторы и квантование

В программе из задания №1 нужно реализовать диалог, который позволяет изменять изображение справа с помощью предикторов и квантования. Диалог работает с каналами уже выбранной цветовой модели изображения. Для каждого канала диалог позволяет:

Также нужно вывести общий коэффициент сжатия для всей картинки: \(24\) делить на сумму энтропий каналов. Данный коэффициент показывает, во сколько раз экономнее кодируется картинка по сравнению с представлением в RGB, где на значение каждого канала приходится 8 бит.

Дополнительно нужно почитать прошлогоднее задание (только теоретическую часть). Интерактивный пример вычисления разностей и их квантования. Нужно обратить внимание на реализацию операции деления и получения остатка — делать можно любым удобным способом.

Обратите внимание на так называемый Paeth Predictor, который несколько сложнее, чем описанные в предыдущем задании, но в большинстве случаев работает лучше. Его можно сделать по желанию.

Внешний вид диалога:

Predict Quantize Dialog