Image Compression with the FFT (Examples in Matlab)

Sdílet
Vložit
  • čas přidán 7. 06. 2020
  • This video shows how to compress images with the FFT (code in Matlab).
    Now on twitter: @eigensteve
    Book PDF: databookuw.com/databook.pdf
    Book Website: databookuw.com
    These lectures follow Chapter 2 from: "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Brunton and Kutz
    Amazon: www.amazon.com/Data-Driven-Sc...
    Brunton Website: eigensteve.com
    This video was produced at the University of Washington
  • Věda a technologie

Komentáře • 33

  • @jimmysslave2709
    @jimmysslave2709 Před 3 lety +3

    Still the best part of the video is the fact that professor Brunton explains FFT to his mother :)

  • @amortalbeing
    @amortalbeing Před 5 dny

    it was great thanks to you and your mother for this amazing explanation

  • @1509davidfrench
    @1509davidfrench Před 4 lety +6

    This lectures are amazing!
    Thank you professor for make and share them .

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

    You are such a good lecturer!
    Thank you for making and sharing these with us!

  • @Peter-zh3bh
    @Peter-zh3bh Před 4 lety +1

    The most impressive FFT function plot. Thanks!!

  • @corbenreed7010
    @corbenreed7010 Před rokem

    You’re a genius and have impressive teaching ability

  • @nguyenqui1006
    @nguyenqui1006 Před 3 lety

    I am new in FFT, i've heard very much about compression image using FFT but i can't imagine how it works.
    When you showed me the grahp of the tenth pixel (in some last minutes of the video), it supprise me alot, a very very wonderful explaination. I understand the nature of FFT compression. Thank you very much!

  • @dayag7972
    @dayag7972 Před 3 lety

    genius...you just made it clear to understand... thank you so much... Need more from you..

  • @alexkoshuta6219
    @alexkoshuta6219 Před 3 lety

    incredible. tyvm for sharing ur insight and making it so easy.

  • @Seneca_dengo_dengo
    @Seneca_dengo_dengo Před 4 lety

    Fantastic lecture.

  • @qiguosun129
    @qiguosun129 Před 7 měsíci

    Ha, the surface plot of the girl is amazing!

  • @matthewjames7513
    @matthewjames7513 Před rokem +1

    Thanks Steve! This is really great! Is there a way I can use the fft2() to find the amplitude, frequencies and phase's of the final surface? From your bedsheet example I'd imagine the final surface would have the form:
    z(x,y) = A1 cos(W1*x - Phi1) + A2 cos(W2*x - Phi2) + .... + a1 cos(w1*y - phi1) + a2 cos(w2*y - phi2) + ...

  • @yuzu_0920
    @yuzu_0920 Před rokem

    thanks a lot

  • @shaizamalik6657
    @shaizamalik6657 Před 3 lety

    professor amazing

  • @lernenmitrobin
    @lernenmitrobin Před 4 lety

    Grayscales are very good to transform rgb to equipotential lines, like you shown in the landscape. I'm still fascinated by the way you show these practical examples. Thanks a lot!
    One question: You said that the last image of the dog has a high resolution... coud you tell us about the amount of resolution? It's interesting, when greater images are maybe better to compress, if the main information is independent from the resolution. E.g. 4 neighboured pixels have exactly the same rgb value, it makes no sense to save 4 times same information ;-).

  • @muhammadwaleed9462
    @muhammadwaleed9462 Před 2 lety

    best one !!

  • @toastrecon
    @toastrecon Před 4 lety +1

    So, and I should probably just cowboy up and try this, but if you were to do this with color, you could separate out the RGB channels, compress them using FFT, apply the threshold and then reconstruct the image?

  • @jfcharles
    @jfcharles Před 4 lety

    Thanks for sharing! As far as I understand, you are thresholding directly the real and imaginary parts of the FFT data, you don't convert to magnitude & phase, right?

  • @joostdejong2677
    @joostdejong2677 Před 4 lety

    Dear Steve, thank you for another great lecture. I have one question, or maybe I should say, request for further explanation. I basically disagree with you explanation of why there is a ‘cross’ through the middle of the plotted FFT-picture. You explained that it would be because of discontinuities at the borders, but to my understanding this would only give increased high frequency components. Could the ‘cross’ no be explained by the ‘null’ Fourier coefficient (a_0) which is basically just an average of the signal, which would always be a substantial amount (as there are only positive grey values an not negative ones to balance out)? Because of fftshift the ‘null’ coefficient is in the middle.. Can you help me out please? Thank you. (Ps. It might actually be the sum and not the average as I don’t know when the fft/ifft scales the signal by the period of the harmonic..)

  • @AmourShmuel
    @AmourShmuel Před 3 lety

    A M A Z I N G !!!

  • @convex9345
    @convex9345 Před 3 lety

    What is the relation between Fourier coefficients and Fourier frequency ?

  • @nikhilverma9985
    @nikhilverma9985 Před 4 lety

    Hello Prof,
    Can this principle be used for compressing a RGB image. If so, then do we have to do it for individual red, green and blue pixel?

    • @lernenmitrobin
      @lernenmitrobin Před 4 lety +1

      I would say yes. If you think about: Each color is a different channel. The grayscale is only a mixup of the amount of the colors of each pixels. So, if you make a fft2 of each channel (color), make your filterings on each channel and put it together after inverse 2D FFT (ifft2), the result seems to be satifsfying, depending on your filter options.

    • @nikhilverma9985
      @nikhilverma9985 Před 4 lety

      Thanks alot Robin

  • @convex9345
    @convex9345 Před 3 lety

    @3:50 I didn't understand the concept, that low frequency modes have high energy. Please elaborate it . Thanks in advance.

    • @MrHaggyy
      @MrHaggyy Před 2 lety

      Not in general but in images. If your signal contains a lot information that is very similar, like the green backround, red scarf or a blue sky you need very view FFT coeffient to describe the picture. They also have to be low frequency, as they have to cover most of the image. As they contribute to most of the image they have high "energy".
      Might be worth checking out the matlab/python script and manualy kill the strongest coefficent, inverse and plot the images. Especially in his hight map you will see what is happening.

  • @anythingandeverything8539

    Excuse me Sir ,is this a transform coding??

  • @streetrossi4966
    @streetrossi4966 Před 4 lety

    Never mind prof, you explained it

  • @muhammadafzaalkhan9277

    How to extract smallest and largest objects within image using matlab

  • @streetrossi4966
    @streetrossi4966 Před 4 lety

    Hey prof, I am trying Compressed sensing reconstruction , where my sparsity transform is wavelet and contourlet.
    How would you go about doing that in matlab using wavedec2() or pdfb2() function

  • @streetrossi4966
    @streetrossi4966 Před 4 lety

    Let's say i have sparse vector of img(due to contourlet transf) how do I select top 5% of the sparse and reconstruct the image from it. (Matlab).
    Can you pls guide me

  • @dankodnevic3222
    @dankodnevic3222 Před 5 měsíci

    Simple 'whos' made me disappointed: Original grayscale 'B' 3MB (ziped 2.2MB), "compressed" 'Alow' 3 MB (ziped 1.5MB), sparse complex double 'Atlow' 48 MB (ziped 2.7MB)?!! Where is that 20,100,500 compression?