Функции > Обработка изображений > Область преобразования > Пример. Дискретное косинусное преобразование
Пример. Дискретное косинусное преобразование
Используйте функции dct и idct, чтобы рассчитать дискретное косинус-преобразование и обратное преобразование соответственно. Данное преобразование имеет преимущество, поскольку концентрирует большую часть "энергии" (информации) изображения в нескольких частотных составляющих.
Сведения об использовании этого примера см. в разделе Сведения о примерах обработки изображений.
1. Определите матрицу M с размером N x P.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
2. Реализация косинусного преобразования использует тип II DCT. Определите DCT для аналитической формулы этого преобразования.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
3. Вычислите матрицу DCT.
Щелкните для копирования этого выражения
4. Примените функцию dct к матрице M.
Щелкните для копирования этого выражения
5. Вычислите максимальную ошибку между DCT и функцией dct.
Щелкните для копирования этого выражения
Сравнение энергии
У косинусного преобразования очень хорошие свойства сжатия: большая часть энергии концентрируется в первых нескольких коэффициентах преобразования.
1. Определите входную матрицу.
Щелкните для копирования этого выражения
2. Примените функцию dct к матрице M и вычислите ее.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Результирующая матрица показывает, что большая часть энергии, которая относится к значениям коэффициентов, сконцентрирована в нескольких первых элементах.
idct
Обратная функция используется для восстановления исходного изображения из его преобразования.
1. Прочтите в черно-белой версии Мону Лизу.
Щелкните для копирования этого выражения
(mona.bmp)
2. Примените функцию dct, чтобы преобразовать изображение.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
(mona_noise.bmp)
3. Примените обратную функцию, чтобы восстановить изображение.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
(mona_rec.bmp)
4. Проверьте свойство cжатия энергии DCT, просмотрев гистограммы преобразованных и исходных изображений.
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Щелкните для копирования этого выражения
Преобразованное изображение концентрирует большую часть энергии в первых нескольких столбцах гистограммы, пока происходит распределение исходного изображения. Благодаря этому преобразованное изображение — оптимальный выбор для кодировки символов или передачи, поскольку большая часть информации изображения может быть передано с очень малым числом частотных компонентов. Именно поэтому для сжатия изображений используется DCT.
Было ли это полезно?