[][src]Trait opencv::video::prelude::KalmanFilterTrait

pub trait KalmanFilterTrait {
    pub fn as_raw_KalmanFilter(&self) -> *const c_void;
pub fn as_raw_mut_KalmanFilter(&mut self) -> *mut c_void; pub fn state_pre(&mut self) -> Mat { ... }
pub fn set_state_pre(&mut self, val: Mat) { ... }
pub fn state_post(&mut self) -> Mat { ... }
pub fn set_state_post(&mut self, val: Mat) { ... }
pub fn transition_matrix(&mut self) -> Mat { ... }
pub fn set_transition_matrix(&mut self, val: Mat) { ... }
pub fn control_matrix(&mut self) -> Mat { ... }
pub fn set_control_matrix(&mut self, val: Mat) { ... }
pub fn measurement_matrix(&mut self) -> Mat { ... }
pub fn set_measurement_matrix(&mut self, val: Mat) { ... }
pub fn process_noise_cov(&mut self) -> Mat { ... }
pub fn set_process_noise_cov(&mut self, val: Mat) { ... }
pub fn measurement_noise_cov(&mut self) -> Mat { ... }
pub fn set_measurement_noise_cov(&mut self, val: Mat) { ... }
pub fn error_cov_pre(&mut self) -> Mat { ... }
pub fn set_error_cov_pre(&mut self, val: Mat) { ... }
pub fn gain(&mut self) -> Mat { ... }
pub fn set_gain(&mut self, val: Mat) { ... }
pub fn error_cov_post(&mut self) -> Mat { ... }
pub fn set_error_cov_post(&mut self, val: Mat) { ... }
pub fn temp1(&mut self) -> Mat { ... }
pub fn set_temp1(&mut self, val: Mat) { ... }
pub fn temp2(&mut self) -> Mat { ... }
pub fn set_temp2(&mut self, val: Mat) { ... }
pub fn temp3(&mut self) -> Mat { ... }
pub fn set_temp3(&mut self, val: Mat) { ... }
pub fn temp4(&mut self) -> Mat { ... }
pub fn set_temp4(&mut self, val: Mat) { ... }
pub fn temp5(&mut self) -> Mat { ... }
pub fn set_temp5(&mut self, val: Mat) { ... }
pub fn init(
        &mut self,
        dynam_params: i32,
        measure_params: i32,
        control_params: i32,
        typ: i32
    ) -> Result<()> { ... }
pub fn predict(&mut self, control: &Mat) -> Result<Mat> { ... }
pub fn correct(&mut self, measurement: &Mat) -> Result<Mat> { ... } }

Kalman filter class.

The class implements a standard Kalman filter http://en.wikipedia.org/wiki/Kalman_filter, Welch95 . However, you can modify transitionMatrix, controlMatrix, and measurementMatrix to get an extended Kalman filter functionality.

Note: In C API when CvKalman* kalmanFilter structure is not needed anymore, it should be released with cvReleaseKalman(&kalmanFilter)

Required methods

Loading content...

Provided methods

pub fn state_pre(&mut self) -> Mat[src]

predicted state (x'(k)): x(k)=Ax(k-1)+Bu(k)

pub fn set_state_pre(&mut self, val: Mat)[src]

predicted state (x'(k)): x(k)=Ax(k-1)+Bu(k)

pub fn state_post(&mut self) -> Mat[src]

corrected state (x(k)): x(k)=x'(k)+K(k)(z(k)-Hx'(k))

pub fn set_state_post(&mut self, val: Mat)[src]

corrected state (x(k)): x(k)=x'(k)+K(k)(z(k)-Hx'(k))

pub fn transition_matrix(&mut self) -> Mat[src]

state transition matrix (A)

pub fn set_transition_matrix(&mut self, val: Mat)[src]

state transition matrix (A)

pub fn control_matrix(&mut self) -> Mat[src]

control matrix (B) (not used if there is no control)

pub fn set_control_matrix(&mut self, val: Mat)[src]

control matrix (B) (not used if there is no control)

pub fn measurement_matrix(&mut self) -> Mat[src]

measurement matrix (H)

pub fn set_measurement_matrix(&mut self, val: Mat)[src]

measurement matrix (H)

pub fn process_noise_cov(&mut self) -> Mat[src]

process noise covariance matrix (Q)

pub fn set_process_noise_cov(&mut self, val: Mat)[src]

process noise covariance matrix (Q)

pub fn measurement_noise_cov(&mut self) -> Mat[src]

measurement noise covariance matrix (R)

pub fn set_measurement_noise_cov(&mut self, val: Mat)[src]

measurement noise covariance matrix (R)

pub fn error_cov_pre(&mut self) -> Mat[src]

priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)

pub fn set_error_cov_pre(&mut self, val: Mat)[src]

priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)

pub fn gain(&mut self) -> Mat[src]

Kalman gain matrix (K(k)): K(k)=P'(k)Htinv(H*P'(k)*Ht+R)

pub fn set_gain(&mut self, val: Mat)[src]

Kalman gain matrix (K(k)): K(k)=P'(k)Htinv(H*P'(k)*Ht+R)

pub fn error_cov_post(&mut self) -> Mat[src]

posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k)

pub fn set_error_cov_post(&mut self, val: Mat)[src]

posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k)

pub fn temp1(&mut self) -> Mat[src]

pub fn set_temp1(&mut self, val: Mat)[src]

pub fn temp2(&mut self) -> Mat[src]

pub fn set_temp2(&mut self, val: Mat)[src]

pub fn temp3(&mut self) -> Mat[src]

pub fn set_temp3(&mut self, val: Mat)[src]

pub fn temp4(&mut self) -> Mat[src]

pub fn set_temp4(&mut self, val: Mat)[src]

pub fn temp5(&mut self) -> Mat[src]

pub fn set_temp5(&mut self, val: Mat)[src]

pub fn init(
    &mut self,
    dynam_params: i32,
    measure_params: i32,
    control_params: i32,
    typ: i32
) -> Result<()>
[src]

Re-initializes Kalman filter. The previous content is destroyed.

Parameters

  • dynamParams: Dimensionality of the state.
  • measureParams: Dimensionality of the measurement.
  • controlParams: Dimensionality of the control vector.
  • type: Type of the created matrices that should be CV_32F or CV_64F.

C++ default parameters

  • control_params: 0
  • typ: CV_32F

pub fn predict(&mut self, control: &Mat) -> Result<Mat>[src]

Computes a predicted state.

Parameters

  • control: The optional input control

C++ default parameters

  • control: Mat()

pub fn correct(&mut self, measurement: &Mat) -> Result<Mat>[src]

Updates the predicted state from the measurement.

Parameters

  • measurement: The measured system parameters
Loading content...

Implementors

impl KalmanFilterTrait for KalmanFilter[src]

Loading content...