How to smooth plot of data?

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

 采纳的回答

Image Analyst
Image Analyst 2014-1-18

0 个投票

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 个评论

Attached are demos for anistoropic diffusion and Savitzky-Golay if you're interested.
Thanks so much!
How can I obtain the wavelength for such a plot?
Thanks!
Steven
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.

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2014-1-18

0 个投票

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.

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by