Savitsky-Golay Filter Problem - Smoothing 3D line
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
William
am 22 Apr. 2015
Kommentiert: William
am 23 Apr. 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
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/149320/image.jpeg)
Cheers
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 22 Apr. 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 Kommentare
Image Analyst
am 23 Apr. 2015
That did not happen with the data I used. Is that a new/different set of data?
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!