Azzera filtri
Azzera filtri

How to take an FFT/IFFT from an image according to logical matrix?

4 visualizzazioni (ultimi 30 giorni)
Hello,
I'm having some difficulties of both taking a fourier transform from where ROI shape was drawn (i.e. logical matrix where values equal one), and then the inverse function according to same protocol, i.e. after applying mask (using CreateMask) and getting a logical matrix.
Note that I'm going to use several circle masks, which makes it impossible to simply crop the image and then apply the transformation.
Any ideas?
Thanks.
  1 Commento
Iron1759
Iron1759 il 2 Feb 2021
Modificato: Iron1759 il 2 Feb 2021
A thought that I had is to re-build a subset of the original image according to the mask/s applied before taking FFT, it should not be a problem.
However, what shall I do when I want to apply the inverse function with a few masks on 2D FFT?
Both the FFT & IFFT are such important procedures that it's hard to imagine that applying masks couldn't be done easily...

Accedi per commentare.

Risposte (1)

KALYAN ACHARJYA
KALYAN ACHARJYA il 31 Gen 2021
You may do the FFT or IFFT of whole image. Later apply the mask (logical Matrix) on resultant image. Let say "result" is the resultant image after FFT or IFFT
result(mask)=0;
In case on RGB Image, do the following before apply the logical matrix(mask) on the resultant image.
cat(3,mask,mask,mask)
  2 Commenti
Iron1759
Iron1759 il 31 Gen 2021
Hi Kalyan,
I suppose that what you have done is to make all the pixles outside the mask from the original image to be zero.
However, I think that you can't simply take FFT from the whole image and THEN apply the mask you want, because you get redundant signals, or I missed your point?
KALYAN ACHARJYA
KALYAN ACHARJYA il 31 Gen 2021
Yes, you raised a valid point. I will check it and reply to you.

Accedi per commentare.

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by