2016-11-15 9 views
0

Я пытаюсь получить 1D гистограмму мощности всех частот определенных изображений. Я опишу, что я сделал до сих пор.MATLAB: получить гистограмму мощности из спектра FFT2

  1. Прочитайте изображение (если необходимому, преобразовать в оттенки серого)
  2. Вычислить FFT2 и переместить его
  3. В области Фурье, применяются некоторые фильтры
  4. ретрансформации в пространственной области и отображения (для визуальное подтверждение того, что фильтр работал)

  5. FFT2 и fftshift, что вновь созданное изображение (по желанию, я мог бы использовать прежний вход ifft2 а)

  6. Вычислить спектр мощности, то есть.^2 все области Фурье значения

Теперь начинается сложная часть. Для гистограммы власти мне нужно было бы получить все значения определенной частоты для всех задействованных частот. С непрерывным сигналом я бы просто интегрировал от 0 до 2pi для всех частот, и все.

Но я не могу интегрироваться с дискретными значениями, по крайней мере, я думаю, что это неправильно. А для интеграции от 0 до 2pi мне пришлось бы суммировать все значения с определенным расстоянием до 0-й частоты. Я не могу этого, потому что тогда мне нужно будет определить расстояние от центра, что не удастся, потому что значения находятся в квадратной матрице. Если бы я должен был подытожить значения из кольца конечной ширины, тогда я должен был бы не выбирать несколько значений несколько раз.

Возможно, я просто думаю в неправильном направлении, потому что я относительно новичок в MATLAB. Но как я могу вычислить такие силовые гистограммы?

Phreak

ответ

0

Это похоже на то, что вам нужно: FEX

Хотя я не знаю, почему вы не просто использовать 2D информации.

+0

Спасибо, я нашел это, когда искал вопрос. Я попытался использовать этот проект для своей цели, но это не сработало. Я присмотрю его ближе. У меня есть аналогичная проблема в отношении гистограммы по всем углам, т. Е. Я пытаюсь так суммировать по «клиньям», исходящим из 0-й частоты. – PhreakShow

+0

Создайте сетку сетки с вашими координатами с частотой 0. Затем преобразуйте координаты X и Y из meshgrid в полярные координаты. Используйте scatteredInterpolant, чтобы получить поле, затем равномерно на конкретном шаге r и theta, чтобы получить вашу гистограмму. –

 Смежные вопросы

  • Нет связанных вопросов^_^