Image Compression with the FFT (Examples in Matlab)
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
Still the best part of the video is the fact that professor Brunton explains FFT to his mother :)
it was great thanks to you and your mother for this amazing explanation
This lectures are amazing!
Thank you professor for make and share them .
You are such a good lecturer!
Thank you for making and sharing these with us!
The most impressive FFT function plot. Thanks!!
You’re a genius and have impressive teaching ability
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!
genius...you just made it clear to understand... thank you so much... Need more from you..
incredible. tyvm for sharing ur insight and making it so easy.
Fantastic lecture.
Ha, the surface plot of the girl is amazing!
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) + ...
thanks a lot
professor amazing
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 ;-).
best one !!
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?
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?
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..)
A M A Z I N G !!!
What is the relation between Fourier coefficients and Fourier frequency ?
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?
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.
Thanks alot Robin
@3:50 I didn't understand the concept, that low frequency modes have high energy. Please elaborate it . Thanks in advance.
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.
Excuse me Sir ,is this a transform coding??
Never mind prof, you explained it
How to extract smallest and largest objects within image using matlab
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
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
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?