
8.5 Другие дискретные преобразования изображений
Преобразование Фурье - только одна из методик преобразования, используемых при обработке изображений. Другие методы преобразования также показали себя очень эффективными. Это - преобразование Уолша, преобразование Адамара, преобразование Карунена-Лева и т.д. Как и преобразование Фурье, все эти преобразования обратимы; причем как прямое, так и обратное преобразование могут применяться к непрерывным интегрируемым функциям, что делает возможным обработку изображений в домене преобразования.
8.5.1 Преобразование Уолша
Если функция
|
(8.88) |
используется в качестве ядра преобразования, то такое преобразование известно как преобразование Уолша. Т.е. преобразование Уолша - это
|
(8.89) |
где
N - это число точек выборки, являющееся
степенью двойки,представляет собой k-ое битовое
представлениеz, где нулевой бит
является младшим. Например, если
,
(1
1 0 1 в битовом представлении), то
.
Ядро для
|
|
Подстановкой
в выражение выше мы получаем значение
ядра для случая, обведенного кружком
на рисунке 8.51
,
которое является отрицательным значением.
На рисунке 8.51 можно видеть, что ядро
является симметричным и ортогональным,
поэтому ядро обратного преобразования
идентично ядру прямого за исключением
постоянного множителя
.
Т.о. мы имеем
|
(8.90) |
и обратное преобразование Уолша есть
|
(8.91) |
Начнем с наименьшего N(N = 2) и посмотрим, как строится массив ядер преобразования Уолша. КогдаN = 2 (илиn = 1), уравнение 8.88 превращается в
Получаемое при этом простейшее ядро преобразования Уолша показано на рисунке 8.53. Для N = 4 (илиn = 2), уравнение 8.88 превращается в
Соответствующее ядро преобразования Уолша показано на рисунке 8.53. Аналогичный процесс арифметической подстановки позволяет получить ядра для N = 8 (илиn = 3) иN = 16 (илиn = 4), показанные на рисунках 8.54 и 8.51 соответственно.
Рисунок 8.51 Значения ядра преобразования Уолша при N=16
Рисунок 8.52 Значения ядра преобразования Уолша при N = 2
Рисунок 8.53 Значения ядра преобразования Уолша при N = 4
Рисунок 8.54 Значения ядра преобразования Уолша при N = 8
Расширяя преобразование Уолша на двумерный случай, мы получаем пару ядер преобразований, показанную ниже:
|
(8.92) |
и
|
(8.93) |
Как уже обсуждалось для уравнения 8.90, одно и то же ядро может быть использовано как для прямого, так и для обратного преобразования Уолша, а потому
|
(8.94)
(8.95) |
Уравнения
8.94 и 8.95 демонстрируют что один алгоритм
может быть использован как для прямого,
так и для обратного двумерного
преобразования Уолша. Из них также
вытекает, что ядра
и
симметричны и сепарабельны.
|
(8.96)
(8.97) |
где
а
Таким
образом, как прямое, так и обратное
двумерные преобразования Уолша могут
быть выполнены путем последовательного
применения одномерных преобразований,
причем для всех этих вычислений может
использоваться один и тот же алгоритм.
Процедура вычислений будет такой же,
как и для преобразования Фурье. Аналогично
БПФ можно записать и быстрый алгоритм
преобразования Уолша. Если множители
и т.д. уже вычислены, то алгоритмы БПФ и
БПУ (быстрого преобразования Уолша)
будут одинаковы, а реализация БПФ на
Фортране, приведенная на рисунке 8.48
может быть использована для БПУ с
удалениемU, WиPIи заменой
"COMPLEX" на "REAL" (см. рисунок
8.55).
Рисунок 8.55 Реализация БПУ на Фортране