| 286 | |
| 287 | /// |
| 288 | PYBIND11_MODULE(pymtracking, m) |
| 289 | { |
| 290 | m.doc() = R"pbdoc( |
| 291 | mtracking library |
| 292 | ----------------------- |
| 293 | .. currentmodule:: pymtracking |
| 294 | .. autosummary:: |
| 295 | :toctree: _generate |
| 296 | add |
| 297 | subtract |
| 298 | )pbdoc"; |
| 299 | |
| 300 | py::class_<KeyVal>(m, "KeyVal") |
| 301 | .def(py::init<>()) |
| 302 | .def("Add", &KeyVal::Add); |
| 303 | |
| 304 | py::bind_map<std::multimap<std::string, std::string>>(m, "MapStringString"); |
| 305 | py::bind_map<std::map<std::string, double>>(m, "MapStringDouble"); |
| 306 | |
| 307 | py::class_<TrackerSettings>(m, "TrackerSettings") |
| 308 | .def(py::init<>()) |
| 309 | .def("CheckDistance", &TrackerSettings::CheckDistance) |
| 310 | .def("SetDistances", &TrackerSettings::SetDistances) |
| 311 | .def("SetDistance", &TrackerSettings::SetDistance) |
| 312 | .def("AddNearTypes", &TrackerSettings::AddNearTypes) |
| 313 | .def("CheckType", &TrackerSettings::CheckType) |
| 314 | .def_readwrite("kalmanType", &TrackerSettings::m_kalmanType) |
| 315 | .def_readwrite("filterGoal", &TrackerSettings::m_filterGoal) |
| 316 | .def_readwrite("lostTrackType", &TrackerSettings::m_lostTrackType) |
| 317 | .def_readwrite("matchType", &TrackerSettings::m_matchType) |
| 318 | .def_readwrite("dt", &TrackerSettings::m_dt) |
| 319 | .def_readwrite("accelNoiseMag", &TrackerSettings::m_accelNoiseMag) |
| 320 | .def_readwrite("useAcceleration", &TrackerSettings::m_useAcceleration) |
| 321 | .def_readwrite("distThres", &TrackerSettings::m_distThres) |
| 322 | .def_readwrite("minAreaRadiusPix", &TrackerSettings::m_minAreaRadiusPix) |
| 323 | .def_readwrite("minAreaRadiusK", &TrackerSettings::m_minAreaRadiusK) |
| 324 | .def_readwrite("maximumAllowedSkippedFrames", &TrackerSettings::m_maximumAllowedSkippedFrames) |
| 325 | .def_readwrite("maxTraceLength", &TrackerSettings::m_maxTraceLength) |
| 326 | .def_readwrite("useAbandonedDetection", &TrackerSettings::m_useAbandonedDetection) |
| 327 | .def_readwrite("minStaticTime", &TrackerSettings::m_minStaticTime) |
| 328 | .def_readwrite("maxStaticTime", &TrackerSettings::m_maxStaticTime); |
| 329 | |
| 330 | py::class_<cv::Rect>(m, "CvRect") |
| 331 | .def(py::init<>()) |
| 332 | .def_readwrite("x", &cv::Rect::x) |
| 333 | .def_readwrite("y", &cv::Rect::y) |
| 334 | .def_readwrite("width", &cv::Rect::width) |
| 335 | .def_readwrite("height", &cv::Rect::height); |
| 336 | |
| 337 | py::class_<cv::RotatedRect>(m, "CvRRect") |
| 338 | .def(py::init<>()) |
| 339 | .def("brect", &cv::RotatedRect::boundingRect); |
| 340 | |
| 341 | py::class_<CRegion>(m, "CRegion") |
| 342 | .def(py::init<>()) |
| 343 | .def_readwrite("brect", &CRegion::m_brect) |
| 344 | .def_readwrite("type", &CRegion::m_type) |
| 345 | .def_readwrite("confidence", &CRegion::m_confidence); |