47 #ifndef __OPENCV_TRACKING_HPP__
48 #define __OPENCV_TRACKING_HPP__
63 #define CV_LKFLOW_PYR_A_READY 1
64 #define CV_LKFLOW_PYR_B_READY 2
65 #define CV_LKFLOW_INITIAL_GUESSES 4
66 #define CV_LKFLOW_GET_MIN_EIGENVALS 8
93 CvSize win_size,
int level,
94 char* status,
float* track_error,
133 const
CvArr* mhi,
double timestamp,
150 CvBox2D* box CV_DEFAULT(NULL) );
216 const
CvMat* control CV_DEFAULT(NULL));
222 #define cvKalmanUpdateByTime cvKalmanPredict
223 #define cvKalmanUpdateByMeasurement cvKalmanCorrect
239 int apertureSize=3 );
247 CV_OUT vector<Rect>& boundingRects,
248 double timestamp,
double segThresh);
256 TermCriteria criteria );
271 CV_WRAP KalmanFilter(
int dynamParams,
int measureParams,
int controlParams=0,
int type=CV_32F);
273 void init(
int dynamParams,
int measureParams,
int controlParams=0,
int type=CV_32F);
276 CV_WRAP
const Mat& predict(
const Mat& control=
Mat());
308 Size winSize,
int maxLevel,
bool withDerivatives =
true,
310 bool tryReuseInputImage =
true);
316 Size winSize=
Size(21,21),
int maxLevel=3,
318 int flags=0,
double minEigThreshold=1e-4);
335 int averaging_block_size,
342 int averaging_block_size,
346 int postprocess_window,
347 double sigma_dist_fix,
348 double sigma_color_fix,
350 int upscale_averaging_radius,
351 double upscale_sigma_dist,
352 double upscale_sigma_color,
353 double speed_up_thr);
359 virtual void collectGarbage() = 0;
const CvArr CvArr CvArr const CvPoint2D32f CvPoint2D32f int CvSize int char * status
Definition: tracking.hpp:73
const _OutputArray & OutputArray
Definition: core.hpp:1449
CvMat * temp1
Definition: tracking.hpp:200
CvMat * error_cov_pre
Definition: tracking.hpp:194
GLint level
Definition: tracking.hpp:88
CV_EXPORTS_W void updateMotionHistory(InputArray silhouette, InputOutputArray mhi, double timestamp, double duration)
updates motion history image using the current silhouette
const CvArr CvMat * M
Definition: tracking.hpp:98
Mat controlMatrix
control matrix (B) (not used if there is no control)
Definition: tracking.hpp:283
CvArr CvArr * orientation
Definition: tracking.hpp:125
Size2i Size
Definition: core.hpp:896
CvMat * measurement_noise_cov
Definition: tracking.hpp:193
CvMat * state_pre
Definition: tracking.hpp:184
Mat statePost
corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k))
Definition: tracking.hpp:281
Definition: types_c.h:951
CvArr * mhi
Definition: tracking.hpp:120
Definition: types_c.h:1138
CvArr * seg_mask
Definition: tracking.hpp:138
Mat temp3
Definition: tracking.hpp:294
CV_EXPORTS_W double calcGlobalOrientation(InputArray orientation, InputArray mask, InputArray mhi, double timestamp, double duration)
computes the global orientation of the selected motion history image part
Definition: tracking.hpp:163
GLuint src
Definition: core_c.h:1650
Mat temp2
Definition: tracking.hpp:293
int int int flags
Definition: highgui_c.h:186
CV_EXPORTS_W RotatedRect CamShift(InputArray probImage, CV_OUT CV_IN_OUT Rect &window, TermCriteria criteria)
updates the object tracking window using CAMSHIFT algorithm
float * PNCovariance
Definition: tracking.hpp:176
Mat measurementMatrix
measurement matrix (H)
Definition: tracking.hpp:284
Mat processNoiseCov
process noise covariance matrix (Q)
Definition: tracking.hpp:285
Mat temp1
Definition: tracking.hpp:292
const CvArr CvArr double pyr_scale
Definition: tracking.hpp:102
float * MeasurementMatr
Definition: tracking.hpp:174
float * PriorState
Definition: tracking.hpp:172
CvArr double timestamp
Definition: tracking.hpp:120
CvMat * gain
Definition: tracking.hpp:196
CvMat * process_noise_cov
Definition: tracking.hpp:192
float * MNCovariance
Definition: tracking.hpp:175
Definition: tracking.hpp:355
const CvArr * B
Definition: tracking.hpp:98
GLint GLvoid * img
Definition: legacy.hpp:1150
const CvMat * measurement
Definition: tracking.hpp:220
const CvArr CvArr CvArr const CvPoint2D32f CvPoint2D32f int CvSize int char float * track_error
Definition: tracking.hpp:73
float * PriorErrorCovariance
Definition: tracking.hpp:178
const CvArr CvArr double int levels
Definition: tracking.hpp:102
const _InputArray & InputArray
Definition: core.hpp:1447
int DP
Definition: tracking.hpp:166
the desired accuracy or change in parameters at which the iterative algorithm stops ...
Definition: core.hpp:2098
CV_EXPORTS_W void segmentMotion(InputArray mhi, OutputArray segmask, CV_OUT vector< Rect > &boundingRects, double timestamp, double segThresh)
const CvArr CvArr CvArr const CvPoint2D32f CvPoint2D32f * curr_features
Definition: tracking.hpp:73
CvMat * state_post
Definition: tracking.hpp:186
CV_EXPORTS_W void calcOpticalFlowPyrLK(InputArray prevImg, InputArray nextImg, InputArray prevPts, CV_OUT InputOutputArray nextPts, OutputArray status, OutputArray err, Size winSize=Size(21, 21), int maxLevel=3, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 30, 0.01), int flags=0, double minEigThreshold=1e-4)
computes sparse optical flow using multi-scale Lucas-Kanade algorithm
Definition: types_c.h:1272
CvMat * temp4
Definition: tracking.hpp:203
CvMat * control_matrix
Definition: tracking.hpp:189
CV_EXPORTS_W Mat estimateRigidTransform(InputArray src, InputArray dst, bool fullAffine)
estimates the best-fit Euqcidean, similarity, affine or perspective transformation ...
const CvArr CvArr double int int int int double poly_sigma
Definition: tracking.hpp:102
int MP
Definition: tracking.hpp:165
Mat statePre
predicted state (x'(k)): x(k)=A*x(k-1)+B*u(k)
Definition: tracking.hpp:280
CvMat * transition_matrix
Definition: tracking.hpp:188
void CvArr
Definition: types_c.h:196
GLuint GLuint GLsizei count
Definition: core_c.h:973
Mat gain
Kalman gain matrix (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)
Definition: tracking.hpp:288
float * Temp1
Definition: tracking.hpp:180
Definition: tracking.hpp:303
float * KalmGainMatr
Definition: tracking.hpp:177
const CvArr CvArr * flow
Definition: tracking.hpp:102
const CvArr * curr
Definition: tracking.hpp:73
CvMat * temp3
Definition: tracking.hpp:202
OutputArray OutputArrayOfArrays
Definition: core.hpp:1450
CV_EXPORTS Ptr< DenseOpticalFlow > createOptFlow_DualTVL1()
Definition: types_c.h:645
const CvArr CvArr double int int int iterations
Definition: tracking.hpp:102
Definition: tracking.hpp:302
float * DynamMatr
Definition: tracking.hpp:173
CV_EXPORTS_W void calcOpticalFlowSF(Mat &from, Mat &to, Mat &flow, int layers, int averaging_block_size, int max_flow)
computes dense optical flow using Simple Flow algorithm
the maximum number of iterations or elements to compute
Definition: core.hpp:2096
CVAPI(void) cvCalcOpticalFlowPyrLK(const CvArr *prev
Definition: imgproc.hpp:64
The n-dimensional matrix class.
Definition: core.hpp:1688
CvMat * temp5
Definition: tracking.hpp:204
Definition: types_c.h:997
OutputArray InputOutputArray
Definition: core.hpp:1451
CvMat * measurement_matrix
Definition: tracking.hpp:191
Mat transitionMatrix
state transition matrix (A)
Definition: tracking.hpp:282
Window window
Definition: tracking.hpp:154
GLuint GLuint GLsizei GLenum type
Definition: core_c.h:114
const CvArr CvArr * prev_pyr
Definition: tracking.hpp:73
Mat temp4
Definition: tracking.hpp:295
Definition: types_c.h:1173
Definition: imgproc.hpp:62
CvArr CvMemStorage double double seg_thresh
Definition: tracking.hpp:138
CvRect CvTermCriteria CvConnectedComp * comp
Definition: tracking.hpp:148
Mat measurementNoiseCov
measurement noise covariance matrix (R)
Definition: tracking.hpp:286
Base class for high-level OpenCV algorithms.
Definition: core.hpp:4390
Mat temp5
Definition: tracking.hpp:296
float * PosterErrorCovariance
Definition: tracking.hpp:179
Definition: types_c.h:1333
GLuint dst
Definition: calib3d.hpp:134
Definition: tracking.hpp:301
const CvArr CvArr double int int int int poly_n
Definition: tracking.hpp:102
const CvArr CvArr CvArr * curr_pyr
Definition: tracking.hpp:73
Kalman filter.
Definition: tracking.hpp:265
CvMat * error_cov_post
Definition: tracking.hpp:198
float * PosterState
Definition: tracking.hpp:171
Smart pointer to dynamically allocated objects.
Definition: core.hpp:1268
const CvArr CvArr double int int winsize
Definition: tracking.hpp:102
int measure_params
Definition: tracking.hpp:208
CV_EXPORTS_W int meanShift(InputArray probImage, CV_OUT CV_IN_OUT Rect &window, TermCriteria criteria)
updates the object tracking window using meanshift algorithm
Definition: types_c.h:1040
const CvArr CvArr CvArr const CvPoint2D32f CvPoint2D32f float * matrices
Definition: tracking.hpp:88
CvArr CvArr double delta1
Definition: tracking.hpp:125
GLenum GLint GLuint mask
Definition: tracking.hpp:132
Mat errorCovPre
priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)*/
Definition: tracking.hpp:287
int CP
Definition: tracking.hpp:167
CV_EXPORTS_W void calcOpticalFlowFarneback(InputArray prev, InputArray next, CV_OUT InputOutputArray flow, double pyr_scale, int levels, int winsize, int iterations, int poly_n, double poly_sigma, int flags)
computes dense optical flow using Farneback algorithm
const CvArr CvArr CvArr const CvPoint2D32f * prev_features
Definition: tracking.hpp:73
const CvArr CvArr CvArr const CvPoint2D32f CvPoint2D32f int CvSize int char float CvTermCriteria criteria
Definition: tracking.hpp:73
CvArr CvArr double double int aperture_size CV_DEFAULT(3))
Proxy datatype for passing Mat's and vector<>'s as input parameters.
Definition: core.hpp:1400
CvArr CvArr double double delta2
Definition: tracking.hpp:125
const CvArr CvArr CvArr const CvPoint2D32f CvPoint2D32f int CvSize win_size
Definition: tracking.hpp:73
CV_EXPORTS_W void calcMotionGradient(InputArray mhi, OutputArray mask, OutputArray orientation, double delta1, double delta2, int apertureSize=3)
computes the motion gradient orientation image from the motion history image
float * Temp2
Definition: tracking.hpp:181
Rect_< int > Rect
Definition: core.hpp:897
Mat errorCovPost
posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k)
Definition: tracking.hpp:289
CvArr double double duration
Definition: tracking.hpp:120
const CvArr * next
Definition: tracking.hpp:102
const CvArr CvMat int full_affine
Definition: tracking.hpp:98
CvArr CvMemStorage * storage
Definition: tracking.hpp:138
CvMat * temp2
Definition: tracking.hpp:201
CV_EXPORTS_W int buildOpticalFlowPyramid(InputArray img, OutputArrayOfArrays pyramid, Size winSize, int maxLevel, bool withDerivatives=true, int pyrBorder=BORDER_REFLECT_101, int derivBorder=BORDER_CONSTANT, bool tryReuseInputImage=true)
constructs a pyramid which can be used as input for calcOpticalFlowPyrLK