Как мне создать комплексное число из данных изображения для быстрого преобразования Фурье (fft, swift)? - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть массив градаций серого, например, [0.0, 0.0, 0.0, 255.0, 255.0, 255.0, 130.0, 130.0, 130.0] Размер 3x3, мне нужно создать массив комплексных чисел для функции FFT. Как мне преобразовать этот массив? Я использую Swift 4 и это для iOS, но я думаю, что это неважно. А также с помощью Accelerate Framework от Apple

так что есть 3 вопроса

  1. Как мне преобразовать этот массив?
  2. Есть ли какая-то общая теория, как это сделать?
  3. Как мне сделать это для RGB при работе с каналами?

1 Ответ

0 голосов
/ 19 ноября 2018

Заполните вещественную часть сложного массива вашими данными, а мнимую - нулем (картинка - чистые реальные данные).

После БПФ у вас будет сложный массив (симметричный из-за чистого реального источника). И реальный, и я. части результата важны. Например, вы можете использовать обе части для вычисления величины спектра или для выполнения некоторой обработки в частотной области и создания обратного БПФ для получения обработанного изображения.

Что делать с RGB - зависит от ваших потребностей. Иногда нужно выполнить БПФ на каждом канале отдельно. Иногда нужно работать с яркостью - в этом случае каналы объединяются по некоторому закону.

...