}}}
}
-namespace cv
-{
- template<> void DefaultDeleter<CvBGStatModel>::operator ()(CvBGStatModel* obj) const
- {
- cvReleaseBGStatModel(&obj);
- }
-}
-
-TEST(FGDStatModel)
-{
- const std::string inputFile = abspath("768x576.avi");
-
- VideoCapture cap(inputFile);
- if (!cap.isOpened()) throw runtime_error("can't open 768x576.avi");
-
- Mat frame;
- cap >> frame;
-
- IplImage ipl_frame = frame;
- Ptr<CvBGStatModel> model(cvCreateFGDStatModel(&ipl_frame));
-
- while (!TestSystem::instance().stop())
- {
- cap >> frame;
- ipl_frame = frame;
-
- TestSystem::instance().cpuOn();
-
- cvUpdateBGStatModel(&ipl_frame, model);
-
- TestSystem::instance().cpuOff();
- }
- TestSystem::instance().cpuComplete();
-
- cap.open(inputFile);
-
- cap >> frame;
-
- cuda::GpuMat d_frame(frame), d_fgmask;
- Ptr<BackgroundSubtractor> d_fgd = cuda::createBackgroundSubtractorFGD();
-
- d_fgd->apply(d_frame, d_fgmask);
-
- while (!TestSystem::instance().stop())
- {
- cap >> frame;
- d_frame.upload(frame);
-
- TestSystem::instance().gpuOn();
-
- d_fgd->apply(d_frame, d_fgmask);
-
- TestSystem::instance().gpuOff();
- }
- TestSystem::instance().gpuComplete();
-}
-
TEST(MOG)
{
const std::string inputFile = abspath("768x576.avi");