@Kib9072

Как реализовать Дискретное косинусное преобразование изображение в Python самому, не прибегая к библиотеке?

Добрый день, возникла такая проблема. Никак не могу реализовать ДКП изображения. В интернете нет годного материала объясняющего данный момент. Брать матрицу 8x8 из исходного изображения NxN и делать над целой матрицей операции или над каждым пикселом операцию, тоже непонятно. Ниже прикладываю пояснение алгоритма преобразования

6096dfb8e9b6a202416772.png
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 2
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Преобразование определено над матрицей NxN. В формулах в учебнике f(u,v) - это значение пикселя в ячейке c индексами u, v. Вам надо тупо реализовать формулы из учебника (4 вложенных цикла).

Надо ли вам применять преобразование отдельно к каждому блоку 8x8 пикселей или нет - это должно быть в задании написано. В каком-нибудь jpeg преобразование применяется отдельно к каждому куску 8x8 пикселей, а не ко всему изображению, потому что на большом масштабе слишком не регулярная картинка получается. А для регулярных картин результат дискретного косинусного преобразования хорошо сжимается (много нулей и маленьких коэффициентов). Ну и еще, применять преобразование ко всему изображению будет медленнее.

Но это не относится к самому преобразованию. Это тонкость алгоритма jpeg.
Ответ написан
Ваш ответ на вопрос

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

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