Точное преобразование от одного функционального базиса к другому

Рассматриваемое преобразование поворота является линейным, поэтому представляется логичным реализовать переход от одного функционального базиса (NxN элементов) к другому – развернутому (также NxN) с помощью линейного преобразования, задаваемого матрицей (NxNxNxN).

Первоначально метод был оценен, как трудоемкий (O(N^4)), но абсолютно точный. Структура рассчитанной матрицы преобразования позволяет без существенной потери точности снизить трудоемкости до O(N^3), а в некоторых случаях до O(N^2) операций.

Главной трудностью при реализации метода оказалось преобразование избыточных высокочастотных составляющих спектра. Преобразование низкочастотных составляющих происходит корректно, а при преобразовании высокочастотных составляющих появляются существенные погрешности. Проблема заключается в том, что высокие частоты в результате интерференции на решетке отсчетов фактически соответствуют низким, а после поворота порождают несуществующие высокочастотные составляющие.

Частичным решением является обрезание спектра удалением избыточных составляющих, однако некоторые шумы после такой операции все равно присутствуют.

Полным решением этой проблемы может стать либо корректная процедура удаления высокочастотных составляющих, либо учет априорной информации об изображении на этапе расчета матрицы преобразования (информацию об отсутствии частот больших размера изображения).

Полученная формула для преобразования спектра (коэффициент перехода от элемента (u1, v1) к элементу (u, v)):

 

Здесь c = N/2 – 0.5 – координата центра изображения и спектра. Координаты принимают значения от 0 до N – 1. Формула представляет собой комбинацию члена учитывающего изменение фазы каждой гармоники при повороте и двух “интерференционных ” множителей.