diff --git a/Demo.py b/Demo.py index b1f6c02..174857e 100644 --- a/Demo.py +++ b/Demo.py @@ -45,6 +45,7 @@ #bgs = libbgs.WeightedMovingVariance() #bgs = libbgs.TwoPoints() #bgs = libbgs.ViBe() +#bgs = libbgs.CodeBook() video_file = "dataset/video.avi" diff --git a/VideoCapture.cpp b/VideoCapture.cpp index c7e12ea..ed8964d 100644 --- a/VideoCapture.cpp +++ b/VideoCapture.cpp @@ -135,14 +135,18 @@ namespace bgslibrary if (useVideo) setUpVideo(); //if (!capture) std::cerr << "Capture error..." << std::endl; - using namespace std::chrono_literals; + //using namespace std::chrono_literals; do { capture >> frame; if (frame.empty()) { std::cout << "Frame is not ready" << std::endl; - std::this_thread::sleep_for(1s); + std::string dummy; + std::cout << "Enter to continue..." << std::endl; + std::getline(std::cin, dummy); + //cv::waitKey(1000); + //std::this_thread::sleep_for(1s); } else break; @@ -193,7 +197,7 @@ namespace bgslibrary std::cout << "Set ROI (press ESC to skip)" << std::endl; VC_ROI::img_input1 = new IplImage(img_input); cvSetMouseCallback("Input", VC_ROI::VideoCapture_on_mouse, NULL); - key = cvWaitKey(0); + key = cv::waitKey(0); delete VC_ROI::img_input1; } else @@ -239,17 +243,17 @@ namespace bgslibrary //cvResetImageROI(frame); - key = cvWaitKey(loopDelay); + key = cv::waitKey(loopDelay); //std::cout << "key: " << key << std::endl; if (key == KEY_SPACE) - key = cvWaitKey(0); + key = cv::waitKey(0); if (key == KEY_ESC) break; if (stopAt > 0 && stopAt == frameNumber) - key = cvWaitKey(0); + key = cv::waitKey(0); firstTime = false; } while (1); diff --git a/VideoCapture.h b/VideoCapture.h index b787682..8b7cd63 100644 --- a/VideoCapture.h +++ b/VideoCapture.h @@ -17,8 +17,9 @@ along with BGSLibrary. If not, see . #pragma once #include -#include -#include +#include +//#include +//#include #include #include #include diff --git a/wrapper_matlab/backgroundSubtractor_wrapper.cpp b/wrapper_matlab/backgroundSubtractor_wrapper.cpp index 5470120..96fb4a6 100644 --- a/wrapper_matlab/backgroundSubtractor_wrapper.cpp +++ b/wrapper_matlab/backgroundSubtractor_wrapper.cpp @@ -66,6 +66,7 @@ #include "PAWCS.h" #include "TwoPoints.h" #include "ViBe.h" +#include "CodeBook.h" using namespace bgslibrary::algorithms; @@ -165,6 +166,8 @@ namespace bgslibrary return (IBGS *)mxCalloc(1, sizeof(TwoPoints)); if (alg_name.compare("ViBe") == 0) return (IBGS *)mxCalloc(1, sizeof(ViBe)); + if (alg_name.compare("CodeBook") == 0) + return (IBGS *)mxCalloc(1, sizeof(CodeBook)); return NULL; } @@ -260,6 +263,8 @@ namespace bgslibrary return new (ptrBGS) TwoPoints(); if (alg_name.compare("ViBe") == 0) return new (ptrBGS) ViBe(); + if (alg_name.compare("CodeBook") == 0) + return new (ptrBGS) CodeBook(); return NULL; } } diff --git a/wrapper_matlab/compile.m b/wrapper_matlab/compile.m index 078834e..36ddf84 100644 --- a/wrapper_matlab/compile.m +++ b/wrapper_matlab/compile.m @@ -91,4 +91,5 @@ "../package_bgs/ViBe.cpp" ... "../package_bgs/ViBe/vibe-background-sequential.cpp" ... "../package_bgs/TwoPoints.cpp" ... - "../package_bgs/TwoPoints/two_points.cpp" + "../package_bgs/TwoPoints/two_points.cpp" ... + "../package_bgs/CodeBook.cpp" diff --git a/wrapper_matlab/run_demo.m b/wrapper_matlab/run_demo.m index d7afed4..72307de 100644 --- a/wrapper_matlab/run_demo.m +++ b/wrapper_matlab/run_demo.m @@ -56,4 +56,5 @@ % demo('LOBSTER') % demo('PAWCS') % demo('TwoPoints') -% demo('ViBe') \ No newline at end of file +% demo('ViBe') +% demo('CodeBook') \ No newline at end of file diff --git a/wrapper_python/bgslibrary_module.cpp b/wrapper_python/bgslibrary_module.cpp index edb75a8..a8aa624 100644 --- a/wrapper_python/bgslibrary_module.cpp +++ b/wrapper_python/bgslibrary_module.cpp @@ -260,6 +260,11 @@ namespace fs .def("apply", &ViBe::apply) .def("getBackgroundModel", &ViBe::getBackgroundModel) ; + + py::class_("CodeBook") + .def("apply", &CodeBook::apply) + .def("getBackgroundModel", &CodeBook::getBackgroundModel) + ; } } // namespace fs } // namespace python