content: 
  //
  // This file is auto-generated. Please don't modify it!
  //
  package org.opencv.video;
  
  import org.opencv.core.Mat;
  
  // C++: class KalmanFilter
  /**
   * <p>Kalman filter class.</p>
   *
   * <p>The class implements a standard Kalman filter http://en.wikipedia.org/wiki/Kalman_filter,
   * [Welch95]. However, you can modify <code>transitionMatrix</code>,
   * <code>controlMatrix</code>, and <code>measurementMatrix</code> to get an
   * extended Kalman filter functionality. See the OpenCV sample <code>kalman.cpp</code>.</p>
   *
   * <p>Note:</p>
   * <ul>
   *   <li> An example using the standard Kalman filter can be found at
   * opencv_source_code/samples/cpp/kalman.cpp
   * </ul>
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter">org.opencv.video.KalmanFilter</a>
   */
  public class KalmanFilter {
  
      protected final long nativeObj;
      protected KalmanFilter(long addr) { nativeObj = addr; }
  
  
      //
      // C++:   KalmanFilter::KalmanFilter()
      //
  
  /**
   * <p>The constructors.</p>
   *
   * <p>The full constructor.</p>
   *
   * <p>Note: In C API when <code>CvKalman* kalmanFilter</code> structure is not
   * needed anymore, it should be released with <code>cvReleaseKalman(&kalmanFilter)</code></p>
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter-kalmanfilter">org.opencv.video.KalmanFilter.KalmanFilter</a>
   */
      public   KalmanFilter()
      {
  
          nativeObj = KalmanFilter_0();
  
          return;
      }
  
  
      //
      // C++:   KalmanFilter::KalmanFilter(int dynamParams, int measureParams, int controlParams = 0, int type = CV_32F)
      //
  
  /**
   * <p>The constructors.</p>
   *
   * <p>The full constructor.</p>
   *
   * <p>Note: In C API when <code>CvKalman* kalmanFilter</code> structure is not
   * needed anymore, it should be released with <code>cvReleaseKalman(&kalmanFilter)</code></p>
   *
   * @param dynamParams Dimensionality of the state.
   * @param measureParams Dimensionality of the measurement.
   * @param controlParams Dimensionality of the control vector.
   * @param type Type of the created matrices that should be <code>CV_32F</code>
   * or <code>CV_64F</code>.
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter-kalmanfilter">org.opencv.video.KalmanFilter.KalmanFilter</a>
   */
      public   KalmanFilter(int dynamParams, int measureParams, int controlParams, int type)
      {
  
          nativeObj = KalmanFilter_1(dynamParams, measureParams, controlParams, type);
  
          return;
      }
  
  /**
   * <p>The constructors.</p>
   *
   * <p>The full constructor.</p>
   *
   * <p>Note: In C API when <code>CvKalman* kalmanFilter</code> structure is not
   * needed anymore, it should be released with <code>cvReleaseKalman(&kalmanFilter)</code></p>
   *
   * @param dynamParams Dimensionality of the state.
   * @param measureParams Dimensionality of the measurement.
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter-kalmanfilter">org.opencv.video.KalmanFilter.KalmanFilter</a>
   */
      public   KalmanFilter(int dynamParams, int measureParams)
      {
  
          nativeObj = KalmanFilter_2(dynamParams, measureParams);
  
          return;
      }
  
  
      //
      // C++:  Mat KalmanFilter::correct(Mat measurement)
      //
  
  /**
   * <p>Updates the predicted state from the measurement.</p>
   *
   * @param measurement The measured system parameters
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter-correct">org.opencv.video.KalmanFilter.correct</a>
   */
      public  Mat correct(Mat measurement)
      {
  
          Mat retVal = new Mat(correct_0(nativeObj, measurement.nativeObj));
  
          return retVal;
      }
  
  
      //
      // C++:  Mat KalmanFilter::predict(Mat control = Mat())
      //
  
  /**
   * <p>Computes a predicted state.</p>
   *
   * @param control The optional input control
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter-predict">org.opencv.video.KalmanFilter.predict</a>
   */
      public  Mat predict(Mat control)
      {
  
          Mat retVal = new Mat(predict_0(nativeObj, control.nativeObj));
  
          return retVal;
      }
  
  /**
   * <p>Computes a predicted state.</p>
   *
   * @see <a href="http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#kalmanfilter-predict">org.opencv.video.KalmanFilter.predict</a>
   */
      public  Mat predict()
      {
  
          Mat retVal = new Mat(predict_1(nativeObj));
  
          return retVal;
      }
  
  
      @Override
      protected void finalize() throws Throwable {
          delete(nativeObj);
      }
  
  
  
      // C++:   KalmanFilter::KalmanFilter()
      private static native long KalmanFilter_0();
  
      // C++:   KalmanFilter::KalmanFilter(int dynamParams, int measureParams, int controlParams = 0, int type = CV_32F)
      private static native long KalmanFilter_1(int dynamParams, int measureParams, int controlParams, int type);
      private static native long KalmanFilter_2(int dynamParams, int measureParams);
  
      // C++:  Mat KalmanFilter::correct(Mat measurement)
      private static native long correct_0(long nativeObj, long measurement_nativeObj);
  
      // C++:  Mat KalmanFilter::predict(Mat control = Mat())
      private static native long predict_0(long nativeObj, long control_nativeObj);
      private static native long predict_1(long nativeObj);
  
      // native support for java finalize()
      private static native void delete(long nativeObj);
  
  }
  