Effacer les filtres
Effacer les filtres

Savitsky-Golay Filter Problem - Smoothing 3D line

4 vues (au cours des 30 derniers jours)
William
William le 22 Avr 2015
Commenté : William le 23 Avr 2015
I wanted to smooth a 3d line using the Savitzky-Golay filter, but for this example is seems to not work properly. Any ideas why, and how to fix it?
% Savitzky–Golay filter (sgolayfilt) - smoothing individual axes
windowWidth = 27; %Standard example values
polynomialOrder = 3;
xsg=sgolayfilt(points(:,1),polynomialOrder, windowWidth);
ysg=sgolayfilt(points(:,2),polynomialOrder, windowWidth);
zsg=sgolayfilt(points(:,3),polynomialOrder, windowWidth);
xyzsg = [xsg,ysg,zsg];
clf()
hold on
plot3(points(:,1),points(:,2),points(:,3),'bo')
plot3(xyzsg(:,1),xyzsg(:,2),xyzsg(:,3),'gx')
hold off
Green crosses show the smoothed version - blue circles is the original data
Cheers

Réponse acceptée

Image Analyst
Image Analyst le 22 Avr 2015
How many elements are in your array? 27 looks like an incredibly wide window for your data. I would have used a width of 5 to 9 elements. Try that and see how it works out.
  12 commentaires
Image Analyst
Image Analyst le 23 Avr 2015
That did not happen with the data I used. Is that a new/different set of data?
William
William le 23 Avr 2015
yes - i've attached it to the previous post

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by