본문 바로가기
C++ 200제/코딩 IT 정보

안드로이드 Savitzky-Golay Filter 오픈 소스 사용 방법

by vicddory 2017. 2. 3.

안드로이드 Savitzky-Golay Filter 오픈 소스, 사용 방법



Savitzky-Golay Filter(사비츠키 고레이 필터) 알고리즘의 소스 코드(안드로이드 자바)입니다.

이 알고리즘은 스무딩 효과로 유명하며, C++ java c# 등 다양한 오픈 소스 형태로 제공되고 있습니다.



안드로이드 Savitzky-Golay Filter 오픈 소스 사용 방법[안드로이드 Savitzky-Golay Filter]




사용하기엔 간단하게 구현되어 있어서 아래처럼 사용하시면 됩니다.


1
2
3
float[] data = new float[] { 8916.81f, 8934.24f, 9027.06f, 9160.79f, 7509.14f };
float[] leftPad = new float[] { 8915.06f, 8845.53f, 9064.17f, 8942.09f, 8780.87f };
double[] coeffs = SGFilter.computeSGCoefficients(554);
cs


우선, Savitzky-Golay에 원하는 인자 값을 결정합니다.


어떤 데이터와 좌표를 이용할지, 여백은 어떻게 할지, 어떤 필터 기능을 이용할지 결정합니다.


1
2
3
4
5
6
7
8
9
10
ContinuousPadder padder1 = new ContinuousPadder();
SGFilter sgFilter = new SGFilter(55);
sgFilter.appendPreprocessor(padder1);
 
float[] smooth = sgFilter.smooth(data, leftPad, new float[0], coeffs);
 
MeanValuePadder padder2 = new MeanValuePadder(10falsetrue);
sgFilter.removePreprocessor(padder1);
sgFilter.appendPreprocessor(padder2);
smooth = sgFilter.smooth(data, leftPad, new float[0], coeffs);
cs


Padder의 객체를 생성하는 시점에 타입을 결정해 주고 원하는 인자를 넣으면 됩니다.


생성된 객체는 sgFilter 객체에 추가하여 smooth 등의 효과가 적용된 결과를 뽑는 데 이용합니다.



안드로이드 Savitzky-Golay Filter[안드로이드 Savitzky-Golay Filter]



사용 방법 자체가 워낙에 간단해 코멘트 달 게 없네요. 그리고 『jar 파일은 소스 링크』에 있습니다. 아래 그림처럼 맨 위에 있는 파일을 다운 받으면 됩니다.



안드로이드 Savitzky-Golay Filter 오픈 소스, 사용 방법

댓글