2013-06-18 3 views
-8

Я хотел бы объединить два изображения A и B следующим образом:Как совместить низкие и высокие частоты двух изображений в Matlab

1) Я хочу взять преобразование Фурье оба

2) для изображения AI требуется применить взвешенный фильтр, который дает больший упор для низких частот

3) для изображения BI требуется применить взвешенный фильтр, который дает больший акцент на высокие частоты

4) Я хочу совместить эти частоты и принять обратное преобразование Фурье

Может ли кто-нибудь дать мне какие-либо рекомендации, с которых мне следует начать (какие функции и т. д.) сделать это в Matlab? =) Я немного изучаю преобразование Фурье, и я хочу поиграть с изображениями. Я надеялся, если бы кто-нибудь мог привести пример кода, как это можно сделать и т. Д.

Благодарим за помощь! =)

+1

Начать проверку FFT2 и IFFT2: http://www.mathworks.com/help/matlab/ref/fft2.html – Dan

+1

'fftshift' также полезен. – Shai

+1

еще один приятный эксперимент, который вы можете сделать - это получить информацию о фазе с одного изображения и информации об амплитуде со второго изображения и объединить их ;-) дает очень хорошие результаты. См. Вопрос 8 [здесь] (http://www.wisdom.weizmann.ac.il/~vision/courses/2013_2/ex1/ex1.pdf) – Shai

ответ

1

Вы в основном обозначил правильный подход, который я буду обобщать здесь:

1) Выполните 2D БПФ.

2) Умножьте их на весовой коэффициент. Если вы БПФ находятся в (Реальная, Мнимая) форме, умножьте оба компонента на вес, а если (Величина, фаза) просто несколько величины. Если вас интересуют только высокие и низкие частоты, это, скорее всего, будет радиальным весом, придающим весам вещи в зависимости от их частоты.

3) Добавьте два вместе.

4) Обратный 2D БПФ.

Вы можете сделать дополнение (пункт 3) до или после iFFT. Кроме того, как отметил Пол Р, вы можете выполнять 2D-фильтрацию в пространственном домене вместо частотной области.

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