Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
A_Santik
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
1

Двумерное БПФ

01.04.2016, 08:53. Просмотров 759. Ответов 10
Метки нет (Все метки)

Рассмотрим сначала одномерный случай.
Пусть x(t), y(t) две действительные функции.
Можно представить представить комплексную функцию f(t)=x(t)+i y(t)
Обозначив F(W) преобразование Фурье функции f(t),получим:
X(W)=[F(W)+F*(N-W)]/2
Y(W)=[F(W)-F*(N-W)]/(2i)
А можно ли аналогично поступить в двухмерном случае?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2016, 08:53
Ответы с готовыми решениями:

Двумерное ДП
Здравствуйте! Сейчас я изучаю такой интереснейший раздел, как ДП.Но вот с ним возникают серьезные...

Быстрое двумерное дискретное преобразование Фурье
быстрое двумерное дискретное преобразование Фурье 2D FFT как это сделать для матрицы 1,0, это...

Двумерное дерево отрезков или фенвика + сканирующая прямая
Интересно было бы порешать задачи на эту тему, киньте что-нибудь

БПФ(обработка результатов)
Доброго времени суток. Разбираюсь с данным алгоритмом, только не понятно, как графически обработать...

Перенос точек по БПФ в центр области
Добрый день. Не знаю, куда лучше написать, написал сюда, т.к. вопрос вроде про алгоритмы. Есть...

10
wingblack
280 / 254 / 45
Регистрация: 09.04.2013
Сообщений: 953
01.04.2016, 11:42 2
Может вы опишете что именно вам нужно сделать и на основе какой теории?
Мне вот не понятно где может использоваться преобразование Фурье над функцией определенной на C2 (т.е. функция от двух комплексных переменных)
0
A_Santik
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
01.04.2016, 13:33  [ТС] 3
Цитата Сообщение от wingblack Посмотреть сообщение
Мне вот не понятно где может использоваться преобразование Фурье над функцией определенной на C2 (т.е. функция от двух комплексных переменных)
Я не очень понял, где Вы увидели С^2...
Две действительные функции fR(x,y) и fG(x,y) - например два "слоя" RG (красный-зелёный) из .bmp - файла я могу одновременно подвергнуть комплексному БПФ с получением FR(i,k) FG(i,k)?
0
wingblack
280 / 254 / 45
Регистрация: 09.04.2013
Сообщений: 953
04.04.2016, 13:08 4
Цитата Сообщение от A_Santik Посмотреть сообщение
Я не очень понял, где Вы увидели С^2...
Да из формулы f(t)=x(t)+i y(t). И того факта что тебе нужно перейти к двумерному случаю.

Нет, FFT следует проводить над каждым слоем отдельно. Либо проводить над "соединенным" слоем fRG(x,y) = RG(fR(x,y) , fG(x,y)) (например, приведение к черно-белому рисунку).
0
Юрий72
4 / 4 / 0
Регистрация: 29.12.2015
Сообщений: 49
09.04.2016, 22:00 5
Цитата Сообщение от wingblack Посмотреть сообщение
Нет, FFT следует проводить над каждым слоем отдельно.
А почему? Ведь двумерное FFT выполняется при помощи алгоритма одномерного. Так что никто не мешает засунуть в мнимую часть вектора значения другого слоя. И потом успешно разделить на составляющие X(W) Y(W).
0
wingblack
280 / 254 / 45
Регистрация: 09.04.2013
Сообщений: 953
12.04.2016, 15:16 6
Цитата Сообщение от Юрий72 Посмотреть сообщение
А почему? Ведь двумерное FFT выполняется при помощи алгоритма одномерного. Так что никто не мешает засунуть в мнимую часть вектора значения другого слоя. И потом успешно разделить на составляющие X(W) Y(W).
Мои познания в FFT весьма поверхностны, но сколько я видел на практике - FFT всегда производится только над действительной частью.
К тому же, цвет изображения передается тремя отдельными не связаными числами - RGB. Поскольку числа эти не имеют явной связи, поэтому всегда делают FFT над каждым слоем отдельно. Если бы у нас был датчик, позволяющий с достаточной точностью брать не три цвета R G B, а скажем интенсивность длин волн на интервале от красного до фиолетового с некоторым достаточно малым шагом, тогда мы могли бы сделать трехмерный FFT. Ну или если у нас есть 3D (воксельная) матрица в "градациях серого".

А то так получается что можно вообще ввести функцию Color = R + i*G + j*B и над ней производить некое обобщение FFT.
0
Юрий72
4 / 4 / 0
Регистрация: 29.12.2015
Сообщений: 49
12.04.2016, 22:07 7
Цитата Сообщение от wingblack Посмотреть сообщение
но сколько я видел на практике - FFT всегда производится только над действительной частью.
ТС изначально показал, как делается за один раз FFT двух действительных векторов и, как я понял, хочет этот метод применить для 2Д Фурье.
Это было бы удобно, например для корреляции изображений.
0
wingblack
280 / 254 / 45
Регистрация: 09.04.2013
Сообщений: 953
13.04.2016, 09:26 8
Цитата Сообщение от Юрий72 Посмотреть сообщение
ТС изначально показал, как делается за один раз FFT двух действительных векторов и, как я понял, хочет этот метод применить для 2Д Фурье.
Это было бы удобно, например для корреляции изображений.
Я спросил где я могу посмотреть теоретическую часть - мне не сказали.
Судя по вопросу, ТС требуется найти FFT для каждого слоя отдельно - у него есть две исходные функции, FFT которых он в конце отделяет друг от друга из смешанной функции. Хорошо, пусть эта работающая идея, но тогда мы будем тратить дополнительные вычислительные ресурсы на выделение X(w) и Y(w) из F(w), и на создание функции f(t). При этом весьма сомнительно что мы получим особый выигрыш производительности от FFT одной комплексной матрицы по сравнению с затратами на FFT двух вещественных матриц.
0
HighPredator
5693 / 2012 / 723
Регистрация: 10.12.2010
Сообщений: 5,780
Записей в блоге: 3
13.04.2016, 17:04 9
A_Santik, вы описали сигнал, представляющий собой композицию двух функций двух переменных. Это не то же самое, что двумерное БПФ. Вам поможет работа Bergner et al. 2006 "A Spectral Analysis of Function Composition and Its Implications for Sampling in Direct Volume Visualization" IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 12, NO. 5. Sec. 3.
0
wingblack
280 / 254 / 45
Регистрация: 09.04.2013
Сообщений: 953
13.04.2016, 17:40 10
Цитата Сообщение от HighPredator Посмотреть сообщение
A_Santik, вы описали сигнал, представляющий собой композицию двух функций двух переменных. Это не то же самое, что двумерное БПФ.
Нет, он спрашивает можно ли подобную композицию обобщить на случай когда обе функции - от двух переменных (а точнее - представляют собой цветовые слои изображения)
0
Юрий72
4 / 4 / 0
Регистрация: 29.12.2015
Сообщений: 49
13.04.2016, 18:51 11
Цитата Сообщение от wingblack Посмотреть сообщение
Хорошо, пусть эта работающая идея, но тогда мы будем тратить дополнительные вычислительные ресурсы на выделение X(w) и Y(w) из F(w), и на создание функции f(t). При этом весьма сомнительно что мы получим особый выигрыш производительности от FFT одной комплексной матрицы по сравнению с затратами на FFT двух вещественных матриц.
Для одномерного случая выигрыш по времени около 30%. Для 2Д - не знаю.
Литература: гугли "Implementing Fast Fourier Transform Algorithms of Real-Valued Sequences With the TMS320 DSP Platform" от TI
0
13.04.2016, 18:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2016, 18:51

БПФ, поиск максимума спектральной плотности, поиск экстремума (максимума) в отсчетах БПФ
Всем добра! В математике я нуб, нужна помощь в решение задачи в Matlab!!! Дано: 1) Частота...

двумерное уравнение теплопроводности
вообщем есть двумерное уравнение теплопроводности с граничными условиями: \frac{\partial...

Двумерное вейвлет-преобразование
Есть ли какой-нибудь стандартный двумерный алгоритм вейвлет-преобразования, где можно было бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru