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