@@ -74,7 +74,7 @@ namespace cv
74
74
75
75
/* * @brief Abstract base class for TrackerFeature that represents the feature.
76
76
*/
77
- class CV_EXPORTS_W TrackerFeature
77
+ class CV_EXPORTS TrackerFeature
78
78
{
79
79
public:
80
80
virtual ~TrackerFeature ();
@@ -131,7 +131,7 @@ TrackerFeatureSet is an aggregation of TrackerFeature
131
131
TrackerFeature
132
132
133
133
*/
134
- class CV_EXPORTS_W TrackerFeatureSet
134
+ class CV_EXPORTS TrackerFeatureSet
135
135
{
136
136
public:
137
137
@@ -209,7 +209,7 @@ class CV_EXPORTS_W TrackerFeatureSet
209
209
/* * @brief Abstract base class for TrackerSamplerAlgorithm that represents the algorithm for the specific
210
210
sampler.
211
211
*/
212
- class CV_EXPORTS_W TrackerSamplerAlgorithm
212
+ class CV_EXPORTS TrackerSamplerAlgorithm
213
213
{
214
214
public:
215
215
/* *
@@ -261,7 +261,7 @@ TrackerSampler is an aggregation of TrackerSamplerAlgorithm
261
261
@sa
262
262
TrackerSamplerAlgorithm
263
263
*/
264
- class CV_EXPORTS_W TrackerSampler
264
+ class CV_EXPORTS TrackerSampler
265
265
{
266
266
public:
267
267
@@ -334,7 +334,7 @@ See @cite AAM \f$\hat{x}^{i}_{k}\f$ all the states candidates.
334
334
Inherits this class with your Target state, In own implementation you can add scale variation,
335
335
width, height, orientation, etc.
336
336
*/
337
- class CV_EXPORTS_W TrackerTargetState
337
+ class CV_EXPORTS TrackerTargetState
338
338
{
339
339
public:
340
340
virtual ~TrackerTargetState ()
@@ -403,7 +403,7 @@ See @cite AAM State estimator
403
403
404
404
See @cite AMVOT Statistical modeling (Fig. 3), Table III (generative) - IV (discriminative) - V (hybrid)
405
405
*/
406
- class CV_EXPORTS_W TrackerStateEstimator
406
+ class CV_EXPORTS TrackerStateEstimator
407
407
{
408
408
public:
409
409
virtual ~TrackerStateEstimator ();
@@ -449,7 +449,7 @@ See @cite AAM Ak
449
449
450
450
Inherits this with your TrackerModel
451
451
*/
452
- class CV_EXPORTS_W TrackerModel
452
+ class CV_EXPORTS TrackerModel
453
453
{
454
454
public:
455
455
@@ -539,7 +539,7 @@ class CV_EXPORTS_W Tracker : public virtual Algorithm
539
539
540
540
@return True if initialization went succesfully, false otherwise
541
541
*/
542
- bool init ( const Mat& image, const Rect2d& boundingBox );
542
+ CV_WRAP bool init ( const Mat& image, const Rect2d& boundingBox );
543
543
544
544
/* * @brief Update the tracker, find the new most likely bounding box for the target
545
545
@param image The current frame
@@ -550,7 +550,7 @@ class CV_EXPORTS_W Tracker : public virtual Algorithm
550
550
current frame. Note, that latter *does not* imply that tracker has failed, maybe target is indeed
551
551
missing from the frame (say, out of sight)
552
552
*/
553
- bool update ( const Mat& image, Rect2d& boundingBox );
553
+ CV_WRAP bool update ( const Mat& image, CV_OUT Rect2d& boundingBox );
554
554
555
555
/* * @brief Creates a tracker by its name.
556
556
@param trackerType Tracker type
@@ -560,7 +560,7 @@ class CV_EXPORTS_W Tracker : public virtual Algorithm
560
560
- "MIL" -- TrackerMIL
561
561
- "BOOSTING" -- TrackerBoosting
562
562
*/
563
- static Ptr<Tracker> create ( const String& trackerType );
563
+ CV_WRAP static Ptr<Tracker> create ( const String& trackerType );
564
564
565
565
virtual void read ( const FileNode& fn )=0;
566
566
virtual void write ( FileStorage& fs ) const =0;
@@ -587,7 +587,7 @@ class CV_EXPORTS_W Tracker : public virtual Algorithm
587
587
588
588
/* * @brief TrackerStateEstimator based on Boosting
589
589
*/
590
- class CV_EXPORTS_W TrackerStateEstimatorMILBoosting : public TrackerStateEstimator
590
+ class CV_EXPORTS TrackerStateEstimatorMILBoosting : public TrackerStateEstimator
591
591
{
592
592
public:
593
593
@@ -664,7 +664,7 @@ class CV_EXPORTS_W TrackerStateEstimatorMILBoosting : public TrackerStateEstimat
664
664
665
665
/* * @brief TrackerStateEstimatorAdaBoosting based on ADA-Boosting
666
666
*/
667
- class CV_EXPORTS_W TrackerStateEstimatorAdaBoosting : public TrackerStateEstimator
667
+ class CV_EXPORTS TrackerStateEstimatorAdaBoosting : public TrackerStateEstimator
668
668
{
669
669
public:
670
670
/* * @brief Implementation of the target state for TrackerAdaBoostingTargetState
@@ -774,7 +774,7 @@ class CV_EXPORTS_W TrackerStateEstimatorAdaBoosting : public TrackerStateEstimat
774
774
/* *
775
775
* \brief TrackerStateEstimator based on SVM
776
776
*/
777
- class CV_EXPORTS_W TrackerStateEstimatorSVM : public TrackerStateEstimator
777
+ class CV_EXPORTS TrackerStateEstimatorSVM : public TrackerStateEstimator
778
778
{
779
779
public:
780
780
TrackerStateEstimatorSVM ();
@@ -789,7 +789,7 @@ class CV_EXPORTS_W TrackerStateEstimatorSVM : public TrackerStateEstimator
789
789
790
790
/* * @brief TrackerSampler based on CSC (current state centered), used by MIL algorithm TrackerMIL
791
791
*/
792
- class CV_EXPORTS_W TrackerSamplerCSC : public TrackerSamplerAlgorithm
792
+ class CV_EXPORTS TrackerSamplerCSC : public TrackerSamplerAlgorithm
793
793
{
794
794
public:
795
795
enum
@@ -847,7 +847,7 @@ class CV_EXPORTS_W TrackerSamplerCSC : public TrackerSamplerAlgorithm
847
847
848
848
/* * @brief TrackerSampler based on CS (current state), used by algorithm TrackerBoosting
849
849
*/
850
- class CV_EXPORTS_W TrackerSamplerCS : public TrackerSamplerAlgorithm
850
+ class CV_EXPORTS TrackerSamplerCS : public TrackerSamplerAlgorithm
851
851
{
852
852
public:
853
853
enum
@@ -914,7 +914,7 @@ It should be noted, that the definition of "similarity" between two rectangles i
914
914
their histograms. As experiments show, tracker is *not* very succesfull if target is assumed to
915
915
strongly change its dimensions.
916
916
*/
917
- class CV_EXPORTS_W TrackerSamplerPF : public TrackerSamplerAlgorithm
917
+ class CV_EXPORTS TrackerSamplerPF : public TrackerSamplerAlgorithm
918
918
{
919
919
public:
920
920
/* * @brief This structure contains all the parameters that can be varied during the course of sampling
@@ -949,7 +949,7 @@ class CV_EXPORTS_W TrackerSamplerPF : public TrackerSamplerAlgorithm
949
949
/* *
950
950
* \brief TrackerFeature based on Feature2D
951
951
*/
952
- class CV_EXPORTS_W TrackerFeatureFeature2d : public TrackerFeature
952
+ class CV_EXPORTS TrackerFeatureFeature2d : public TrackerFeature
953
953
{
954
954
public:
955
955
@@ -976,7 +976,7 @@ class CV_EXPORTS_W TrackerFeatureFeature2d : public TrackerFeature
976
976
/* *
977
977
* \brief TrackerFeature based on HOG
978
978
*/
979
- class CV_EXPORTS_W TrackerFeatureHOG : public TrackerFeature
979
+ class CV_EXPORTS TrackerFeatureHOG : public TrackerFeature
980
980
{
981
981
public:
982
982
@@ -995,7 +995,7 @@ class CV_EXPORTS_W TrackerFeatureHOG : public TrackerFeature
995
995
/* * @brief TrackerFeature based on HAAR features, used by TrackerMIL and many others algorithms
996
996
@note HAAR features implementation is copied from apps/traincascade and modified according to MIL
997
997
*/
998
- class CV_EXPORTS_W TrackerFeatureHAAR : public TrackerFeature
998
+ class CV_EXPORTS TrackerFeatureHAAR : public TrackerFeature
999
999
{
1000
1000
public:
1001
1001
struct CV_EXPORTS Params
@@ -1057,7 +1057,7 @@ class CV_EXPORTS_W TrackerFeatureHAAR : public TrackerFeature
1057
1057
/* *
1058
1058
* \brief TrackerFeature based on LBP
1059
1059
*/
1060
- class CV_EXPORTS_W TrackerFeatureLBP : public TrackerFeature
1060
+ class CV_EXPORTS TrackerFeatureLBP : public TrackerFeature
1061
1061
{
1062
1062
public:
1063
1063
@@ -1083,7 +1083,7 @@ based on @cite MIL .
1083
1083
1084
1084
Original code can be found here <http://vision.ucsd.edu/~bbabenko/project_miltrack.shtml>
1085
1085
*/
1086
- class CV_EXPORTS_W TrackerMIL : public Tracker
1086
+ class CV_EXPORTS TrackerMIL : public Tracker
1087
1087
{
1088
1088
public:
1089
1089
struct CV_EXPORTS Params
@@ -1113,7 +1113,7 @@ class CV_EXPORTS_W TrackerMIL : public Tracker
1113
1113
The classifier uses the surrounding background as negative examples in update step to avoid the
1114
1114
drifting problem. The implementation is based on @cite OLB .
1115
1115
*/
1116
- class CV_EXPORTS_W TrackerBoosting : public Tracker
1116
+ class CV_EXPORTS TrackerBoosting : public Tracker
1117
1117
{
1118
1118
public:
1119
1119
struct CV_EXPORTS Params
@@ -1151,7 +1151,7 @@ by authors to outperform MIL). During the implementation period the code at
1151
1151
<http://www.aonsquared.co.uk/node/5>, the courtesy of the author Arthur Amarra, was used for the
1152
1152
reference purpose.
1153
1153
*/
1154
- class CV_EXPORTS_W TrackerMedianFlow : public Tracker
1154
+ class CV_EXPORTS TrackerMedianFlow : public Tracker
1155
1155
{
1156
1156
public:
1157
1157
struct CV_EXPORTS Params
@@ -1180,7 +1180,7 @@ The Median Flow algorithm (see cv::TrackerMedianFlow) was chosen as a tracking c
1180
1180
implementation, following authors. Tracker is supposed to be able to handle rapid motions, partial
1181
1181
occlusions, object absence etc.
1182
1182
*/
1183
- class CV_EXPORTS_W TrackerTLD : public Tracker
1183
+ class CV_EXPORTS TrackerTLD : public Tracker
1184
1184
{
1185
1185
public:
1186
1186
struct CV_EXPORTS Params
@@ -1202,7 +1202,7 @@ class CV_EXPORTS_W TrackerTLD : public Tracker
1202
1202
* as well as the matlab implementation. For more information about KCF with color-names features, please refer to
1203
1203
* <http://www.cvl.isy.liu.se/research/objrec/visualtracking/colvistrack/index.html>.
1204
1204
*/
1205
- class CV_EXPORTS_W TrackerKCF : public Tracker
1205
+ class CV_EXPORTS TrackerKCF : public Tracker
1206
1206
{
1207
1207
public:
1208
1208
/* *
@@ -1271,7 +1271,7 @@ class CV_EXPORTS_W MultiTracker
1271
1271
* In the case of trackerType is given, it will be set as the default algorithm for all trackers.
1272
1272
* @param trackerType the name of the tracker algorithm to be used
1273
1273
*/
1274
- MultiTracker (const String& trackerType = " " );
1274
+ CV_WRAP MultiTracker (const String& trackerType = " " );
1275
1275
1276
1276
/* *
1277
1277
* \brief Destructor
@@ -1284,30 +1284,30 @@ class CV_EXPORTS_W MultiTracker
1284
1284
* @param image input image
1285
1285
* @param boundingBox a rectangle represents ROI of the tracked object
1286
1286
*/
1287
- bool add (const Mat& image, const Rect2d& boundingBox);
1287
+ CV_WRAP bool add (const Mat& image, const Rect2d& boundingBox);
1288
1288
1289
1289
/* *
1290
1290
* \brief Add a new object to be tracked.
1291
1291
* @param trackerType the name of the tracker algorithm to be used
1292
1292
* @param image input image
1293
1293
* @param boundingBox a rectangle represents ROI of the tracked object
1294
1294
*/
1295
- bool add (const String& trackerType, const Mat& image, const Rect2d& boundingBox);
1295
+ CV_WRAP bool add (const String& trackerType, const Mat& image, const Rect2d& boundingBox);
1296
1296
1297
1297
/* *
1298
1298
* \brief Add a set of objects to be tracked.
1299
1299
* @param trackerType the name of the tracker algorithm to be used
1300
1300
* @param image input image
1301
1301
* @param boundingBox list of the tracked objects
1302
1302
*/
1303
- bool add (const String& trackerType, const Mat& image, std::vector<Rect2d> boundingBox);
1303
+ CV_WRAP bool add (const String& trackerType, const Mat& image, std::vector<Rect2d> boundingBox);
1304
1304
1305
1305
/* *
1306
1306
* \brief Add a set of objects to be tracked using the defaultAlgorithm tracker.
1307
1307
* @param image input image
1308
1308
* @param boundingBox list of the tracked objects
1309
1309
*/
1310
- bool add (const Mat& image, std::vector<Rect2d> boundingBox);
1310
+ CV_WRAP bool add (const Mat& image, std::vector<Rect2d> boundingBox);
1311
1311
1312
1312
/* *
1313
1313
* \brief Update the current tracking status.
@@ -1324,7 +1324,7 @@ class CV_EXPORTS_W MultiTracker
1324
1324
* @param image input image
1325
1325
* @param boundingBox the tracking result, represent a list of ROIs of the tracked objects.
1326
1326
*/
1327
- bool update (const Mat& image, std::vector<Rect2d> & boundingBox);
1327
+ CV_WRAP bool update (const Mat& image, CV_OUT std::vector<Rect2d> & boundingBox);
1328
1328
1329
1329
protected:
1330
1330
// !< storage for the tracker algorithms.
@@ -1337,8 +1337,8 @@ class CV_EXPORTS_W MultiTracker
1337
1337
class ROISelector {
1338
1338
public:
1339
1339
Rect2d select (Mat img, bool fromCenter = true );
1340
- Rect2d select (const std::string & windowName, Mat img, bool showCrossair = true , bool fromCenter = true );
1341
- void select (const std::string & windowName, Mat img, std::vector<Rect2d> & boundingBox, bool fromCenter = true );
1340
+ Rect2d select (const cv::String & windowName, Mat img, bool showCrossair = true , bool fromCenter = true );
1341
+ void select (const cv::String & windowName, Mat img, std::vector<Rect2d> & boundingBox, bool fromCenter = true );
1342
1342
1343
1343
struct handlerT {
1344
1344
// basic parameters
@@ -1366,8 +1366,8 @@ class ROISelector {
1366
1366
};
1367
1367
1368
1368
Rect2d CV_EXPORTS_W selectROI (Mat img, bool fromCenter = true );
1369
- Rect2d CV_EXPORTS_W selectROI (const std::string & windowName, Mat img, bool showCrossair = true , bool fromCenter = true );
1370
- void CV_EXPORTS_W selectROI (const std::string & windowName, Mat img, std::vector<Rect2d> & boundingBox, bool fromCenter = true );
1369
+ Rect2d CV_EXPORTS_W selectROI (const cv::String & windowName, Mat img, bool showCrossair = true , bool fromCenter = true );
1370
+ void CV_EXPORTS_W selectROI (const cv::String & windowName, Mat img, std::vector<Rect2d> & boundingBox, bool fromCenter = true );
1371
1371
1372
1372
1373
1373
/* *********************************** Multi-Tracker Classes ---By Tyan Vladimir---************************************/
@@ -1376,7 +1376,7 @@ void CV_EXPORTS_W selectROI(const std::string& windowName, Mat img, std::vector<
1376
1376
1377
1377
@sa Tracker, MultiTrackerTLD
1378
1378
*/
1379
- class CV_EXPORTS_W MultiTracker_Alt
1379
+ class CV_EXPORTS MultiTracker_Alt
1380
1380
{
1381
1381
public:
1382
1382
/* * @brief Constructor for Multitracker
@@ -1433,7 +1433,7 @@ occlusions, object absence etc.
1433
1433
1434
1434
@sa Tracker, MultiTracker, TrackerTLD
1435
1435
*/
1436
- class CV_EXPORTS_W MultiTrackerTLD : public MultiTracker_Alt
1436
+ class CV_EXPORTS MultiTrackerTLD : public MultiTracker_Alt
1437
1437
{
1438
1438
public:
1439
1439
/* * @brief Update all trackers from the tracking-list, find a new most likely bounding boxes for the targets by
0 commit comments