MATLAB Answers

How to smooth plot of data?

2 views (last 30 days)
Steven
Steven on 18 Jan 2014
Commented: Image Analyst on 19 Jan 2014
Hi How can I smooth the following data? This is the gray intensity of an image. I could not use "smooth" function for that.
Is there any function for that or shall I use any filtering?
Thanks!
Steven

  0 Comments

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 18 Jan 2014
I can't tell what is signal and what is noise from that profile. Can you post the entire image? Like Jan said, it depends on what the image looks like. There are tons of filters you could use from simple linear filters like a moving box filter, to the non-linear median filter, to more complicated filters like Knn, sigma, to even more complicated (and better) filters like BM3D, K-SVD, K-LLD, non-local means, UINTA, ets.

  3 Comments

Image Analyst
Image Analyst on 18 Jan 2014
Attached are demos for anistoropic diffusion and Savitzky-Golay if you're interested.
Steven
Steven on 19 Jan 2014
Thanks so much!
How can I obtain the wavelength for such a plot?
Thanks!
Steven
Image Analyst
Image Analyst on 19 Jan 2014
It looks like there are two wavelengths, a high frequency one, and a lower frequency one that is the envelops. You can take the Fourier transform and look for spikes, which indicate a lot of energy at that wavelength.

Sign in to comment.

More Answers (1)

Jan
Jan on 18 Jan 2014
It depends on what the wanted result is. If you want to smooth the data extremely, use mean. A moving average filter is possible also, or a highpass filter, a Savitzki-Golay-filter or a mean over chunks of the data.

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!