1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 07:43:03 +04:00

js: add TrackerMIL

This commit is contained in:
Alexander Alekhin
2021-11-10 02:25:17 +00:00
parent fa5c7a9e75
commit 3d5d3ea20c
4 changed files with 67 additions and 4 deletions
+26
View File
@@ -97,6 +97,10 @@ using namespace cv::dnn;
using namespace aruco;
#endif
#ifdef HAVE_OPENCV_VIDEO
typedef TrackerMIL::Params TrackerMIL_Params;
#endif
namespace binding_utils
{
template<typename classT, typename enumT>
@@ -364,6 +368,23 @@ namespace binding_utils
result.call<void>("push", arg2);
return result;
}
void Tracker_init_wrapper(cv::Tracker& arg0, const cv::Mat& arg1, const Rect& arg2)
{
return arg0.init(arg1, arg2);
}
emscripten::val Tracker_update_wrapper(cv::Tracker& arg0, const cv::Mat& arg1)
{
Rect rect;
bool update = arg0.update(arg1, rect);
emscripten::val result = emscripten::val::array();
result.call<void>("push", update);
result.call<void>("push", rect);
return result;
}
#endif // HAVE_OPENCV_VIDEO
std::string getExceptionMsg(const cv::Exception& e) {
@@ -676,6 +697,11 @@ EMSCRIPTEN_BINDINGS(binding_utils)
function("CamShift", select_overload<emscripten::val(const cv::Mat&, Rect&, TermCriteria)>(&binding_utils::CamShiftWrapper));
function("meanShift", select_overload<emscripten::val(const cv::Mat&, Rect&, TermCriteria)>(&binding_utils::meanShiftWrapper));
emscripten::class_<cv::Tracker >("Tracker")
.function("init", select_overload<void(cv::Tracker&,const cv::Mat&,const Rect&)>(&binding_utils::Tracker_init_wrapper), pure_virtual())
.function("update", select_overload<emscripten::val(cv::Tracker&,const cv::Mat&)>(&binding_utils::Tracker_update_wrapper), pure_virtual());
#endif
function("getBuildInformation", &binding_utils::getBuildInformation);