How the 2D FFT works

Sdílet
Vložit
  • čas přidán 30. 11. 2017
  • This is part of an online course on foundations and applications of the Fourier transform. The course includes 4+ hours of video lectures, pdf readers, exercises, and solutions.
    Each of the video lectures comes with MATLAB code, Python code, and sample datasets for applications. With 3000+ lines of code, this course is also a great way to improve your programming skills.
    Code for this video is available here: mikexcohen.com/lecturelets/fou...
    More info here: www.udemy.com/fourier-transfo...
  • Věda a technologie

Komentáře • 42

  • @godsart3769
    @godsart3769 Před 3 lety +4

    Great explanation - exactly what I was looking for to fill in some gaps in my knowledge. You did some of the experiments I was curious about. Thanks.

  • @fdmeneses
    @fdmeneses Před 3 lety +10

    Thank you Mike!! After going through so many videos, I can now finally understand how the two axis interplay. Well done!

  • @johnlovesmath
    @johnlovesmath Před měsícem

    Dr. Mike, your linear algebra book is so good. The sections on SVD and intro PCA are explained so well. This video just answered my question too, thanks for all you do.

  • @INCYTER
    @INCYTER Před rokem

    Thanks for this - Much appreciated. Well done, and well explained!

  • @BaillehachePascal
    @BaillehachePascal Před rokem

    I spent hours looking at other videos or web pages to try to understand why my implementation of the 2D FFT didn't work, and finally that's your video which clarified everything ! Thank you so much !!!

  • @berkeberkeme4715
    @berkeberkeme4715 Před 4 lety +2

    Could you please tell how to obtain the frequency of a cartesian point on fouriered image in matlab

  • @hasansheikhfaridul1983

    Thanks Mike

  • @ciqgmuokefzzyslew2580
    @ciqgmuokefzzyslew2580 Před 2 lety

    Excellent video

  • @scott1pb1wow1epic
    @scott1pb1wow1epic Před rokem

    This is amazing, great explanation, was able to give some intuition about something unintuitive (to me)

  • @saimadhavp
    @saimadhavp Před 5 lety +1

    Mike , Your videos generally hits the bulls eye. Focusing on extremely critical parts and its nuances of overall concepts, which generally is missed by others. I am looking for little more info on how to elicit out Frequencies and amplitudes from the resultant matrix output. Whether it is DFT ot FFT. Can you provide further pointers.

    • @mikexcohen1
      @mikexcohen1  Před 5 lety

      Thanks, Saimadhav. Getting amplitude is fairly straight forward: just take the magnitude of the Fourier coefficients (MATLAB function abs() ). Slightly trickier is knowing which frequencies you want to extract. The easiest way is to create a Gaussian to produce a low- or high-pass filter (depending on whether you set the Gaussian to be 1 or the non-Gaussian parts to be 1). A narrowband spatial filter would be a ring in the 2D Fourier space.
      Mike

  • @Victor-lc3pw
    @Victor-lc3pw Před 3 lety +1

    Спасибо!

  • @tsehayenegash8394
    @tsehayenegash8394 Před 4 měsíci

    Thank you to upload this video. I have a question. how can I evaluate Phase and Amplitude at a given temperature data?

  • @itWouldBeWise
    @itWouldBeWise Před 3 lety

    When you say at 2:07 that for images the DC frequencies are shifted to the center, is that just for displaying the frequency spectrum? Or is it necessary for using it e.g. to apply a gaussian filter convolution via the convolution theorem?

    • @mikexcohen1
      @mikexcohen1  Před 3 lety

      Both: Shifting the spectrum facilitates interpretation, and it makes it easier to construct a frequency-domain Gaussian for filtering. But the shifting is not necessary in either case.

  • @QuyetNguyen-sg9dq
    @QuyetNguyen-sg9dq Před 3 lety

    how to do match between input image and template image? if I use FFT

  • @prasadradhika
    @prasadradhika Před 4 lety

    Nice video. Could you please tell how to obtain the frequency in 2D Fourier transform spectrum in Python?

    • @mikexcohen1
      @mikexcohen1  Před 4 lety

      Hi Radhika. The concept is the same. Some of the syntax is a bit different, but hopefully easy enough to translate. The 2D FFT in Python would be np.fft.fft2(image)

  • @aayush740
    @aayush740 Před 3 lety

    I have a 512 x 81 matrix in matlab. The matrix represents a image. There is clutter in the image. How do I generate image from that matrix and remove the clutter??

  • @user-uo7nk1jo5g
    @user-uo7nk1jo5g Před 4 lety

    nice works,我喜欢

  • @JiffyJokes
    @JiffyJokes Před rokem

    I applied the 1D fft in matlab by using fft(X, [ ], 1) for an FFT of the 7x7 matrix to get the values like at 1:24 but I get different results

  • @lillinda2428
    @lillinda2428 Před 4 lety

    thank you so much : )

  • @georgeevans1341
    @georgeevans1341 Před 5 lety +1

    How can I get the matlab code used in the video? What tool box is required ?

    • @mikexcohen1
      @mikexcohen1  Před 5 lety

      My apologies for the missing code. I added the link in the description. No toolboxes are required, and it will work in MATLAB and in Octave.

  • @Polskipolakpl23
    @Polskipolakpl23 Před 11 měsíci

    But why when calculating 2D transform we are first calculating transform for columns, and then transform for rows of the previous result? Why this works? Why we are not calculating transform for columns, and for rows of the input image and then adding it together like in calculating 2D derivative?

  • @gaiuspliniussecundus1455

    So, when you transform to frequency space, you loose the ability to, e.g., edit a single pixel in the spatial domain. Because you decorrelated the pixels into freq and phase components?

    • @mikexcohen1
      @mikexcohen1  Před rokem +1

      yes, correct. The frequency domain encodes the spatial frequencies that are distributed over the pixels, not the pixels themselves.

  • @subhashiskar4403
    @subhashiskar4403 Před rokem

    I want he code for python. If not then MATLAB is ok. Actually I want to build something like this in my final year project.

  • @muhammadfikriarifardi7251

    I am sorry , its just me or to hear you I need a bigger speaker

  • @binhu1996
    @binhu1996 Před rokem

  • @husseinalsajer4381
    @husseinalsajer4381 Před 3 lety

    hello , lease can you tell me how can I do space domain in python to show image ?please

    • @mikexcohen1
      @mikexcohen1  Před 3 lety +1

      The syntax in Python is a bit different from that in MATLAB, but the principle is the same. You can use scipy.fft.fft2 for the 2D Fourier transform, and then use plt.imshow to visualize the results.

  • @Archturian8880
    @Archturian8880 Před rokem

    Sorry I think in the middle should be high frequency, not low frequency.

    • @brandoneickert
      @brandoneickert Před 3 měsíci

      The middle corresponds to the DC component, or zero Hz (low frequency). In a 1D FFT, think of how the middle (the y axis) is low frequency as well - same concept