Skip to content

Commit

Permalink
Refactor Tracking group all legacy in a single file
Browse files Browse the repository at this point in the history
  • Loading branch information
UrielCh committed Sep 26, 2024
1 parent d81a9c7 commit e9a5780
Show file tree
Hide file tree
Showing 35 changed files with 796 additions and 969 deletions.
13 changes: 2 additions & 11 deletions binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -81,19 +81,10 @@
"cc/tracking/tracking.cc",
"cc/tracking/Tracker.cc",
"cc/tracking/MultiTracker.cc",
"cc/tracking/Trackers/TrackerBoosting.cc",
"cc/tracking/Trackers/TrackerBoostingParams.cc",
"cc/tracking/Trackers/TrackerKCF.cc",
"cc/tracking/Trackers/TrackerKCFParams.cc",
"cc/tracking/Trackers/TrackerMIL.cc",
"cc/tracking/Trackers/TrackerMILParams.cc",
"cc/tracking/Trackers/TrackerMedianFlow.cc",
"cc/tracking/Trackers/TrackerTLD.cc",
"cc/tracking/Trackers/TrackerLegacy.cc",
"cc/tracking/Trackers/TrackerLegacyParams.cc",
"cc/tracking/Trackers/TrackerGOTURN.cc",
"cc/tracking/Trackers/TrackerNano.cc",
"cc/tracking/Trackers/TrackerCSRT.cc",
"cc/tracking/Trackers/TrackerCSRTParams.cc",
"cc/tracking/Trackers/TrackerMOSSE.cc",
"cc/features2d/features2d.cc",
"cc/features2d/KeyPoint.cc",
"cc/features2d/KeyPointMatch.cc",
Expand Down
13 changes: 2 additions & 11 deletions binding_old.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -81,19 +81,10 @@
"cc/tracking/tracking.cc",
"cc/tracking/Tracker.cc",
"cc/tracking/MultiTracker.cc",
"cc/tracking/Trackers/TrackerBoosting.cc",
"cc/tracking/Trackers/TrackerBoostingParams.cc",
"cc/tracking/Trackers/TrackerKCF.cc",
"cc/tracking/Trackers/TrackerKCFParams.cc",
"cc/tracking/Trackers/TrackerMIL.cc",
"cc/tracking/Trackers/TrackerMILParams.cc",
"cc/tracking/Trackers/TrackerMedianFlow.cc",
"cc/tracking/Trackers/TrackerTLD.cc",
"cc/tracking/Trackers/TrackerLegacy.cc",
"cc/tracking/Trackers/TrackerLegacyParams.cc",
"cc/tracking/Trackers/TrackerGOTURN.cc",
"cc/tracking/Trackers/TrackerNano.cc",
"cc/tracking/Trackers/TrackerCSRT.cc",
"cc/tracking/Trackers/TrackerCSRTParams.cc",
"cc/tracking/Trackers/TrackerMOSSE.cc",
"cc/features2d/features2d.cc",
"cc/features2d/KeyPoint.cc",
"cc/features2d/KeyPointMatch.cc",
Expand Down
45 changes: 23 additions & 22 deletions cc/tracking/MultiTracker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ NAN_MODULE_INIT(MultiTracker::Init) {
Nan::SetPrototypeMethod(ctor, "addKCF", MultiTracker::AddKCF);
#if CV_VERSION_GREATER_EQUAL(3, 4, 0)
Nan::SetPrototypeMethod(ctor, "addMOSSE", MultiTracker::AddTLD);
#endif
#endif // CV_VERSION_GREATER_EQUAL(3, 4, 0)
#if CV_VERSION_GREATER_EQUAL(3, 4, 1)
Nan::SetPrototypeMethod(ctor, "addCSRT", MultiTracker::AddKCF);
#endif
#endif // CV_VERSION_GREATER_EQUAL(3, 4, 1)
Nan::SetPrototypeMethod(ctor, "update", MultiTracker::Update);

Nan::Set(target, FF::newString("MultiTracker"), FF::getFunction(ctor));
Expand All @@ -38,9 +38,9 @@ NAN_METHOD(MultiTracker::New) {
MultiTracker* self = new MultiTracker();
#if CV_VERSION_GREATER_EQUAL(4, 5, 2)
self->setNativeObject(cv::makePtr<cv::legacy::MultiTracker>());
#else
#else // CV_VERSION_GREATER_EQUAL(4, 5, 2)
self->setNativeObject(cv::makePtr<cv::MultiTracker>());
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
self->Wrap(info.Holder());
info.GetReturnValue().Set(info.Holder());
};
Expand All @@ -57,9 +57,9 @@ NAN_METHOD(MultiTracker::AddMIL) {
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerMIL::create();
#elif CV_VERSION_GREATER_EQUAL(3, 3, 0)
cv::Ptr<cv::Tracker> type = cv::TrackerMIL::create();
#else
#else // CV_VERSION_GREATER_EQUAL(3, 3, 0)
const std::string type("MIL");
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
Expand All @@ -76,9 +76,9 @@ NAN_METHOD(MultiTracker::AddBOOSTING) {
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerBoosting::create();
#elif CV_VERSION_GREATER_EQUAL(3, 3, 0)
cv::Ptr<cv::Tracker> type = cv::TrackerBoosting::create();
#else
#else // CV_VERSION_GREATER_EQUAL(3, 3, 0)
const std::string type("BOOSTING");
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
Expand All @@ -95,9 +95,9 @@ NAN_METHOD(MultiTracker::AddMEDIANFLOW) {
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerMedianFlow::create();
#elif CV_VERSION_GREATER_EQUAL(3, 3, 0)
cv::Ptr<cv::Tracker> type = cv::TrackerMedianFlow::create();
#else
#else // CV_VERSION_GREATER_EQUAL(3, 3, 0)
const std::string type("MEDIANFLOW");
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
Expand All @@ -114,9 +114,9 @@ NAN_METHOD(MultiTracker::AddTLD) {
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerTLD::create();
#elif CV_VERSION_GREATER_EQUAL(3, 3, 0)
cv::Ptr<cv::Tracker> type = cv::TrackerTLD::create();
#else
#else // CV_VERSION_GREATER_EQUAL(3, 3, 0)
const std::string type("TLD");
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
Expand All @@ -133,9 +133,9 @@ NAN_METHOD(MultiTracker::AddKCF) {
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerKCF::create();
#elif CV_VERSION_GREATER_EQUAL(3, 3, 0)
cv::Ptr<cv::Tracker> type = cv::TrackerKCF::create();
#else
#else // CV_VERSION_GREATER_EQUAL(3, 3, 0)
const std::string type("KCF");
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
Expand All @@ -151,6 +151,7 @@ NAN_METHOD(MultiTracker::Update) {
MultiTracker::unwrapSelf(info)->update(image, rects);
info.GetReturnValue().Set(Rect::ArrayConverter::wrap(rects));
}

#if CV_VERSION_GREATER_EQUAL(3, 4, 0)

NAN_METHOD(MultiTracker::AddMOSSE) {
Expand All @@ -163,14 +164,14 @@ NAN_METHOD(MultiTracker::AddMOSSE) {
}
#if CV_VERSION_GREATER_EQUAL(4, 5, 2)
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerMOSSE::create();
#else
#else // CV_VERSION_GREATER_EQUAL(4, 5, 2)
cv::Ptr<cv::Tracker> type = cv::TrackerMOSSE::create();
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
#endif // CV_VERSION_GREATER_EQUAL(3, 4, 0)

#endif
#if CV_VERSION_GREATER_EQUAL(3, 4, 1)

NAN_METHOD(MultiTracker::AddCSRT) {
Expand All @@ -183,14 +184,14 @@ NAN_METHOD(MultiTracker::AddCSRT) {
}
#if CV_VERSION_GREATER_EQUAL(4, 5, 2)
cv::Ptr<cv::legacy::Tracker> type = cv::legacy::TrackerCSRT::create();
#else
#else // CV_VERSION_GREATER_EQUAL(4, 5, 2)
cv::Ptr<cv::Tracker> type = cv::TrackerCSRT::create();
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
bool ret = MultiTracker::unwrapSelf(info)->add(type, image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
}
#endif
#endif // CV_VERSION_GREATER_EQUAL(3, 4, 1)

#endif
#endif // CV_VERSION_GREATER_EQUAL(3, 1, 0)

#endif
#endif // HAVE_OPENCV_TRACKING
16 changes: 9 additions & 7 deletions cc/tracking/MultiTracker.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include <opencv2/tracking.hpp>
#if CV_VERSION_GREATER_EQUAL(4, 5, 2)
#include <opencv2/tracking/tracking_legacy.hpp>
#endif
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
#include "Mat.h"
#include "Rect.h"

Expand All @@ -11,11 +11,13 @@
#ifndef __FF_MULTITRACKER_H__
#define __FF_MULTITRACKER_H__

class MultiTracker
#if CV_VERSION_GREATER_EQUAL(4, 5, 2)
class MultiTracker : public FF::ObjectWrap<MultiTracker, cv::Ptr<cv::legacy::MultiTracker>> {
#else
class MultiTracker : public FF::ObjectWrap<MultiTracker, cv::Ptr<cv::MultiTracker>> {
#endif
: public FF::ObjectWrap<MultiTracker, cv::Ptr<cv::legacy::MultiTracker>>
#else // CV_VERSION_GREATER_EQUAL(4, 5, 2)
: public FF::ObjectWrap<MultiTracker, cv::Ptr<cv::MultiTracker>>
#endif // CV_VERSION_GREATER_EQUAL(4, 5, 2)
{
public:
static Nan::Persistent<v8::FunctionTemplate> constructor;

Expand All @@ -36,6 +38,6 @@ class MultiTracker : public FF::ObjectWrap<MultiTracker, cv::Ptr<cv::MultiTracke
static NAN_METHOD(Update);
};

#endif
#endif // __FF_MULTITRACKER_H__

#endif
#endif // CV_VERSION_GREATER_EQUAL(3, 1, 0)
12 changes: 8 additions & 4 deletions cc/tracking/Tracker.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,17 @@ NAN_METHOD(Tracker::Init) {
FF::TryCatch tryCatch("Tracker::Init");
cv::Mat image;
cv::Rect2d boundingBox;
if (
Mat::Converter::arg(0, &image, info) || Rect::Converter::arg(1, &boundingBox, info)) {
if (Mat::Converter::arg(0, &image, info) || Rect::Converter::arg(1, &boundingBox, info)) {
return tryCatch.reThrow();
}

bool ret = Tracker::unwrapThis(info)->getTracker()->init(image, boundingBox);
info.GetReturnValue().Set(Nan::New(ret));
try {
bool ret = Tracker::unwrapThis(info)->getTracker()->init(image, boundingBox);
// If no error is thrown, return true
info.GetReturnValue().Set(Nan::New(ret));
} catch (const std::exception& e) {
return tryCatch.throwError(e.what());
}
}

NAN_METHOD(Tracker::Update) {
Expand Down
49 changes: 0 additions & 49 deletions cc/tracking/Trackers/TrackerBoosting.cc

This file was deleted.

30 changes: 0 additions & 30 deletions cc/tracking/Trackers/TrackerBoosting.h

This file was deleted.

39 changes: 0 additions & 39 deletions cc/tracking/Trackers/TrackerBoostingParams.cc

This file was deleted.

33 changes: 0 additions & 33 deletions cc/tracking/Trackers/TrackerBoostingParams.h

This file was deleted.

Loading

0 comments on commit e9a5780

Please sign in to comment.