2016-05-30 10 views
-2

完成したキュービックスプライン補間を使って中間点を得るために画像処理に取り組んでいます。hereどうすればJava言語でこれを実現できますか?私はいくつかの主要なポイントを持っています:cubic spline interpolationを使用してJavaでカーブを取得するにはどうすればよいですか?

  • x = 24,35,67,78,79。
  • Y = 13、45、8、45、23 私は100

enter image description here

にはx = 1のための中間点を取得したいが、Javaで利用可能なライブラリや関数があります。伝えてください。

答えて

0

Apache common math libには、Akimaアルゴリズムを使用してデータセットの3次スプライン補間を計算するために使用できるクラスAkimaSplineInterpolatorがあります。

http://commons.apache.org/proper/commons-math/apidocs/org/apache/commons/math3/analysis/interpolation/AkimaSplineInterpolator.html

<dependency> 
<groupId>org.apache.commons</groupId> 
<artifactId>commons-math3</artifactId> 
<version>3.6.1</version> 
</dependency> 

以下のコードは、あなたの条件のための完全な実装ではありません。しかし、これを出発点としてこれをさらに進めることができます。お役に立てれば!

public static void main(String[] main) { 
    double [] xDouble = new double [] {24.0, 35.0, 67.0, 78.0,79.0}; 
    double [] yDouble = new double [] {13.0, 45.0, 8.0, 45.0, 23.0}; 

    AkimaSplineInterpolator asi = new AkimaSplineInterpolator(); 
    PolynomialSplineFunction psf = asi.interpolate(xDouble, yDouble); 

    for (PolynomialFunction pf : psf.getPolynomials()) { 
     System.out.println(pf.polynomialDerivative()); 
    } 
} 
関連する問題