Permalink
Please sign in to comment.
Showing
with
39,237 additions
and 0 deletions.
- +52 −0 CMakeLists.txt
- +674 −0 COPYING.txt
- +22 −0 Config.h
- +182 −0 Demo.cpp
- +557 −0 FrameProcessor.cpp
- +235 −0 FrameProcessor.h
- +26 −0 IFrameProcessor.h
- +12 −0 LICENSE.txt
- +82 −0 Main.cpp
- +146 −0 PreProcessor.cpp
- +49 −0 PreProcessor.h
- +16 −0 README.txt
- +130 −0 VideoAnalysis.cpp
- +45 −0 VideoAnalysis.h
- +275 −0 VideoCapture.cpp
- +63 −0 VideoCapture.h
- +39 −0 bgslibrary_vs2010_opencv.txt
- +38 −0 config/FrameProcessor.xml
- +6 −0 config/PreProcessor.xml
- +13 −0 config/VideoCapture.xml
- BIN dataset/video.avi
- +49 −0 demos/DemoFrameDifferenceBGS.cpp
- +49 −0 demos/DemoMultiLayerBGS.cpp
- +101 −0 package_analysis/ForegroundMaskAnalysis.cpp
- +42 −0 package_analysis/ForegroundMaskAnalysis.h
- +111 −0 package_bgs/AdaptiveBackgroundLearning.cpp
- +50 −0 package_bgs/AdaptiveBackgroundLearning.h
- +131 −0 package_bgs/AdaptiveSelectiveBackgroundLearning.cpp
- +49 −0 package_bgs/AdaptiveSelectiveBackgroundLearning.h
- +83 −0 package_bgs/FrameDifferenceBGS.cpp
- +44 −0 package_bgs/FrameDifferenceBGS.h
- +99 −0 package_bgs/GMG.cpp
- +45 −0 package_bgs/GMG.h
- +33 −0 package_bgs/IBGS.h
- +95 −0 package_bgs/MixtureOfGaussianV1BGS.cpp
- +47 −0 package_bgs/MixtureOfGaussianV1BGS.h
- +98 −0 package_bgs/MixtureOfGaussianV2BGS.cpp
- +47 −0 package_bgs/MixtureOfGaussianV2BGS.h
- +79 −0 package_bgs/StaticFrameDifferenceBGS.cpp
- +45 −0 package_bgs/StaticFrameDifferenceBGS.h
- +122 −0 package_bgs/WeightedMovingMeanBGS.cpp
- +47 −0 package_bgs/WeightedMovingMeanBGS.h
- +161 −0 package_bgs/WeightedMovingVarianceBGS.cpp
- +48 −0 package_bgs/WeightedMovingVarianceBGS.h
- +128 −0 package_bgs/ae/KDE.cpp
- +58 −0 package_bgs/ae/KDE.h
- +116 −0 package_bgs/ae/KernelTable.cpp
- +71 −0 package_bgs/ae/KernelTable.h
- +1,160 −0 package_bgs/ae/NPBGSubtractor.cpp
- +154 −0 package_bgs/ae/NPBGSubtractor.h
- +127 −0 package_bgs/ae/NPBGmodel.cpp
- +111 −0 package_bgs/ae/NPBGmodel.h
- +166 −0 package_bgs/av/TBackground.cpp
- +51 −0 package_bgs/av/TBackground.h
- +380 −0 package_bgs/av/TBackgroundVuMeter.cpp
- +67 −0 package_bgs/av/TBackgroundVuMeter.h
- +116 −0 package_bgs/av/VuMeter.cpp
- +53 −0 package_bgs/av/VuMeter.h
- +87 −0 package_bgs/ck/LbpMrf.cpp
- +44 −0 package_bgs/ck/LbpMrf.h
- +40 −0 package_bgs/ck/MEDefs.cpp
- +83 −0 package_bgs/ck/MEDefs.hpp
- +508 −0 package_bgs/ck/MEHistogram.cpp
- +348 −0 package_bgs/ck/MEHistogram.hpp
- +1,472 −0 package_bgs/ck/MEImage.cpp
- +999 −0 package_bgs/ck/MEImage.hpp
- +1,425 −0 package_bgs/ck/MotionDetection.cpp
- +401 −0 package_bgs/ck/MotionDetection.hpp
- +135 −0 package_bgs/ck/README.TXT
- +286 −0 package_bgs/ck/block.h
- +80 −0 package_bgs/ck/graph.cpp
- +180 −0 package_bgs/ck/graph.h
- +514 −0 package_bgs/ck/maxflow.cpp
- +54 −0 package_bgs/db/IndependentMultimodalBGS.cpp
- +29 −0 package_bgs/db/IndependentMultimodalBGS.h
- +748 −0 package_bgs/db/imbs.cpp
- +178 −0 package_bgs/db/imbs.hpp
- +140 −0 package_bgs/dp/AdaptiveMedianBGS.cpp
- +89 −0 package_bgs/dp/AdaptiveMedianBGS.h
- +67 −0 package_bgs/dp/Bgs.h
- +59 −0 package_bgs/dp/BgsParams.h
- +104 −0 package_bgs/dp/DPAdaptiveMedianBGS.cpp
- +56 −0 package_bgs/dp/DPAdaptiveMedianBGS.h
- +106 −0 package_bgs/dp/DPEigenbackgroundBGS.cpp
- +56 −0 package_bgs/dp/DPEigenbackgroundBGS.h
- +105 −0 package_bgs/dp/DPGrimsonGMMBGS.cpp
- +56 −0 package_bgs/dp/DPGrimsonGMMBGS.h
- +105 −0 package_bgs/dp/DPMeanBGS.cpp
- +56 −0 package_bgs/dp/DPMeanBGS.h
- +107 −0 package_bgs/dp/DPPratiMediodBGS.cpp
- +57 −0 package_bgs/dp/DPPratiMediodBGS.h
- +156 −0 package_bgs/dp/DPTextureBGS.cpp
- +60 −0 package_bgs/dp/DPTextureBGS.h
- +105 −0 package_bgs/dp/DPWrenGABGS.cpp
- +56 −0 package_bgs/dp/DPWrenGABGS.h
- +104 −0 package_bgs/dp/DPZivkovicAGMMBGS.cpp
- +56 −0 package_bgs/dp/DPZivkovicAGMMBGS.h
- +190 −0 package_bgs/dp/Eigenbackground.cpp
- +101 −0 package_bgs/dp/Eigenbackground.h
- +57 −0 package_bgs/dp/Error.cpp
- +36 −0 package_bgs/dp/Error.h
- +332 −0 package_bgs/dp/GrimsonGMM.cpp
- +150 −0 package_bgs/dp/GrimsonGMM.h
- +76 −0 package_bgs/dp/Image.cpp
- +364 −0 package_bgs/dp/Image.h
- +131 −0 package_bgs/dp/MeanBGS.cpp
- +98 −0 package_bgs/dp/MeanBGS.h
- +276 −0 package_bgs/dp/PratiMediodBGS.cpp
- +142 −0 package_bgs/dp/PratiMediodBGS.h
- +153 −0 package_bgs/dp/TextureBGS.cpp
- +55 −0 package_bgs/dp/TextureBGS.h
- +174 −0 package_bgs/dp/WrenGA.cpp
- +120 −0 package_bgs/dp/WrenGA.h
- +411 −0 package_bgs/dp/ZivkovicAGMM.cpp
- +160 −0 package_bgs/dp/ZivkovicAGMM.h
- +216 −0 package_bgs/jmo/BGS.h
- +158 −0 package_bgs/jmo/BackgroundSubtractionAPI.h
- +1,490 −0 package_bgs/jmo/BlobExtraction.cpp
- +76 −0 package_bgs/jmo/BlobExtraction.h
- +62 −0 package_bgs/jmo/BlobLibraryConfiguration.h
- +920 −0 package_bgs/jmo/BlobResult.cpp
- +213 −0 package_bgs/jmo/BlobResult.h
- +2,128 −0 package_bgs/jmo/CMultiLayerBGS.cpp
- +313 −0 package_bgs/jmo/CMultiLayerBGS.h
- +314 −0 package_bgs/jmo/LocalBinaryPattern.cpp
- +103 −0 package_bgs/jmo/LocalBinaryPattern.h
- +332 −0 package_bgs/jmo/MultiLayerBGS.cpp
- +101 −0 package_bgs/jmo/MultiLayerBGS.h
- +224 −0 package_bgs/jmo/OpenCvDataConversion.h
- +1,149 −0 package_bgs/jmo/blob.cpp
- +853 −0 package_bgs/jmo/blob.h
- +87 −0 package_bgs/lb/BGModel.cpp
- +78 −0 package_bgs/lb/BGModel.h
- +210 −0 package_bgs/lb/BGModelFuzzyGauss.cpp
- +75 −0 package_bgs/lb/BGModelFuzzyGauss.h
- +298 −0 package_bgs/lb/BGModelFuzzySom.cpp
- +95 −0 package_bgs/lb/BGModelFuzzySom.h
- +200 −0 package_bgs/lb/BGModelGauss.cpp
- +73 −0 package_bgs/lb/BGModelGauss.h
- +309 −0 package_bgs/lb/BGModelMog.cpp
- +83 −0 package_bgs/lb/BGModelMog.h
- +291 −0 package_bgs/lb/BGModelSom.cpp
- +92 −0 package_bgs/lb/BGModelSom.h
- +109 −0 package_bgs/lb/LBAdaptiveSOM.cpp
- +56 −0 package_bgs/lb/LBAdaptiveSOM.h
- +109 −0 package_bgs/lb/LBFuzzyAdaptiveSOM.cpp
- +56 −0 package_bgs/lb/LBFuzzyAdaptiveSOM.h
- +105 −0 package_bgs/lb/LBFuzzyGaussian.cpp
- +55 −0 package_bgs/lb/LBFuzzyGaussian.h
- +105 −0 package_bgs/lb/LBMixtureOfGaussians.cpp
- +55 −0 package_bgs/lb/LBMixtureOfGaussians.h
- +100 −0 package_bgs/lb/LBSimpleGaussian.cpp
- +54 −0 package_bgs/lb/LBSimpleGaussian.h
- +99 −0 package_bgs/lb/Types.h
- +26 −0 package_bgs/my/MyBGS.cpp
- +22 −0 package_bgs/my/MyBGS.h
- +586 −0 package_bgs/pt/PBAS.cpp
- +207 −0 package_bgs/pt/PBAS.h
- +124 −0 package_bgs/pt/PixelBasedAdaptiveSegmenter.cpp
- +58 −0 package_bgs/pt/PixelBasedAdaptiveSegmenter.h
- +2,062 −0 package_bgs/sjn/SJN_MultiCueBGS.cpp
- +243 −0 package_bgs/sjn/SJN_MultiCueBGS.h
- +204 −0 package_bgs/tb/FuzzyChoquetIntegral.cpp
- +55 −0 package_bgs/tb/FuzzyChoquetIntegral.h
- +204 −0 package_bgs/tb/FuzzySugenoIntegral.cpp
- +55 −0 package_bgs/tb/FuzzySugenoIntegral.h
- +511 −0 package_bgs/tb/FuzzyUtils.cpp
- +54 −0 package_bgs/tb/FuzzyUtils.h
- +339 −0 package_bgs/tb/MRF.cpp
- +107 −0 package_bgs/tb/MRF.h
- +521 −0 package_bgs/tb/PerformanceUtils.cpp
- +54 −0 package_bgs/tb/PerformanceUtils.h
- +351 −0 package_bgs/tb/PixelUtils.cpp
- +61 −0 package_bgs/tb/PixelUtils.h
- +337 −0 package_bgs/tb/T2FGMM.cpp
- +135 −0 package_bgs/tb/T2FGMM.h
- +111 −0 package_bgs/tb/T2FGMM_UM.cpp
- +58 −0 package_bgs/tb/T2FGMM_UM.h
- +111 −0 package_bgs/tb/T2FGMM_UV.cpp
- +58 −0 package_bgs/tb/T2FGMM_UV.h
- +432 −0 package_bgs/tb/T2FMRF.cpp
- +164 −0 package_bgs/tb/T2FMRF.h
- +140 −0 package_bgs/tb/T2FMRF_UM.cpp
- +64 −0 package_bgs/tb/T2FMRF_UM.h
- +140 −0 package_bgs/tb/T2FMRF_UV.cpp
- +64 −0 package_bgs/tb/T2FMRF_UV.h
- +3 −0 run_camera.sh
- +3 −0 run_demo.sh
- +3 −0 run_video.sh
- +20 −0 vs2010/bgslibrary.sln
- BIN vs2010/bgslibrary.suo
- +220 −0 vs2010/bgslibrary.vcxproj
- +444 −0 vs2010/bgslibrary.vcxproj.filters
- +8 −0 vs2010/bgslibrary.vcxproj.user
| @@ -0,0 +1,52 @@ | ||
| + | ||
| +cmake_minimum_required(VERSION 2.8) | ||
| + | ||
| +project(bgs) | ||
| + | ||
| +set(CMAKE_CXX_FLAGS "${CMAKE_CSS_FLAGS} -std=gnu++0x") | ||
| + | ||
| +find_package(OpenCV REQUIRED) | ||
| + | ||
| +if(${OpenCV_VERSION} VERSION_LESS 2.3.1) | ||
| + message (FATAL_ERROR "OpenCV version is not compatible: ${OpenCV_VERSION}") | ||
| +endif() | ||
| + | ||
| +file(GLOB sources FrameProcessor.cpp PreProcessor.cpp VideoAnalysis.cpp VideoCapture.cpp) | ||
| +file(GLOB main Main.cpp) | ||
| +file(GLOB demo Demo.cpp) | ||
| + | ||
| +list(REMOVE_ITEM sources ${demo}) | ||
| + | ||
| +file(GLOB_RECURSE analysis package_analysis/*.cpp) | ||
| +file(GLOB_RECURSE bgs package_bgs/*.cpp) | ||
| +file(GLOB_RECURSE bgs_include package_bgs/*.h) | ||
| + | ||
| +# GMG is not available in older OpenCV versions | ||
| +if(${OpenCV_VERSION} VERSION_LESS 2.4.3) | ||
| + file(GLOB gmg package_bgs/GMG.cpp) | ||
| + list(REMOVE_ITEM bgs ${gmg}) | ||
| +endif() | ||
| + | ||
| +include_directories(${CMAKE_SOURCE_DIR}) | ||
| + | ||
| +add_library(bgs SHARED ${sources} ${bgs} ${analysis}) | ||
| +target_link_libraries(bgs ${OpenCV_LIBS}) | ||
| +set_property(TARGET bgs PROPERTY PUBLIC_HEADER ${bgs_include}) | ||
| + | ||
| +add_executable(bgs_bin ${main}) | ||
| +target_link_libraries(bgs_bin ${OpenCV_LIBS} bgs) | ||
| +set_target_properties(bgs_bin | ||
| + PROPERTIES OUTPUT_NAME bgs) | ||
| + | ||
| +add_executable(bgs_demo ${demo}) | ||
| +target_link_libraries(bgs_demo ${OpenCV_LIBS} bgs) | ||
| + | ||
| +INSTALL(TARGETS bgs | ||
| + bgs_demo | ||
| + bgs_bin | ||
| + RUNTIME DESTINATION bin COMPONENT app | ||
| + LIBRARY DESTINATION lib COMPONENT runtime | ||
| + ARCHIVE DESTINATION lib COMPONENT runtime | ||
| + PUBLIC_HEADER DESTINATION include/package_bgs COMPONENT dev | ||
| + FRAMEWORK DESTINATION "/Library/Frameworks" | ||
| +) |
| @@ -0,0 +1,22 @@ | ||
| +/* | ||
| +This file is part of BGSLibrary. | ||
| + | ||
| +BGSLibrary is free software: you can redistribute it and/or modify | ||
| +it under the terms of the GNU General Public License as published by | ||
| +the Free Software Foundation, either version 3 of the License, or | ||
| +(at your option) any later version. | ||
| + | ||
| +BGSLibrary is distributed in the hope that it will be useful, | ||
| +but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| +GNU General Public License for more details. | ||
| + | ||
| +You should have received a copy of the GNU General Public License | ||
| +along with BGSLibrary. If not, see <http://www.gnu.org/licenses/>. | ||
| +*/ | ||
| +#pragma once | ||
| + | ||
| +const int KEY_REPEAT = 'r'; | ||
| +const int KEY_SPACE = 32; | ||
| +const int KEY_ESC = 27; | ||
| +const int KEY_ESC2 = 'q'; |
| @@ -0,0 +1,182 @@ | ||
| +/* | ||
| +This file is part of BGSLibrary. | ||
| + | ||
| +BGSLibrary is free software: you can redistribute it and/or modify | ||
| +it under the terms of the GNU General Public License as published by | ||
| +the Free Software Foundation, either version 3 of the License, or | ||
| +(at your option) any later version. | ||
| + | ||
| +BGSLibrary is distributed in the hope that it will be useful, | ||
| +but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| +GNU General Public License for more details. | ||
| + | ||
| +You should have received a copy of the GNU General Public License | ||
| +along with BGSLibrary. If not, see <http://www.gnu.org/licenses/>. | ||
| +*/ | ||
| +#include <iostream> | ||
| +#include <cv.h> | ||
| +#include <highgui.h> | ||
| + | ||
| +#include "package_bgs/FrameDifferenceBGS.h" | ||
| +#include "package_bgs/StaticFrameDifferenceBGS.h" | ||
| +#include "package_bgs/WeightedMovingMeanBGS.h" | ||
| +#include "package_bgs/WeightedMovingVarianceBGS.h" | ||
| +#include "package_bgs/MixtureOfGaussianV1BGS.h" | ||
| +#include "package_bgs/MixtureOfGaussianV2BGS.h" | ||
| +#include "package_bgs/AdaptiveBackgroundLearning.h" | ||
| +#include "package_bgs/AdaptiveSelectiveBackgroundLearning.h" | ||
| + | ||
| +#if CV_MAJOR_VERSION >= 2 && CV_MINOR_VERSION >= 4 && CV_SUBMINOR_VERSION >= 3 | ||
| +#include "package_bgs/GMG.h" | ||
| +#endif | ||
| + | ||
| +#include "package_bgs/dp/DPAdaptiveMedianBGS.h" | ||
| +#include "package_bgs/dp/DPGrimsonGMMBGS.h" | ||
| +#include "package_bgs/dp/DPZivkovicAGMMBGS.h" | ||
| +#include "package_bgs/dp/DPMeanBGS.h" | ||
| +#include "package_bgs/dp/DPWrenGABGS.h" | ||
| +#include "package_bgs/dp/DPPratiMediodBGS.h" | ||
| +#include "package_bgs/dp/DPEigenbackgroundBGS.h" | ||
| +#include "package_bgs/dp/DPTextureBGS.h" | ||
| + | ||
| +#include "package_bgs/tb/T2FGMM_UM.h" | ||
| +#include "package_bgs/tb/T2FGMM_UV.h" | ||
| +#include "package_bgs/tb/T2FMRF_UM.h" | ||
| +#include "package_bgs/tb/T2FMRF_UV.h" | ||
| +#include "package_bgs/tb/FuzzySugenoIntegral.h" | ||
| +#include "package_bgs/tb/FuzzyChoquetIntegral.h" | ||
| + | ||
| +#include "package_bgs/lb/LBSimpleGaussian.h" | ||
| +#include "package_bgs/lb/LBFuzzyGaussian.h" | ||
| +#include "package_bgs/lb/LBMixtureOfGaussians.h" | ||
| +#include "package_bgs/lb/LBAdaptiveSOM.h" | ||
| +#include "package_bgs/lb/LBFuzzyAdaptiveSOM.h" | ||
| + | ||
| +#if !defined(_WIN32) | ||
| +// Currently this method works only on Linux platform. | ||
| +#include "package_bgs/ck/LbpMrf.h" | ||
| +#endif | ||
| + | ||
| +#include "package_bgs/jmo/MultiLayerBGS.h" | ||
| +#include "package_bgs/pt/PixelBasedAdaptiveSegmenter.h" | ||
| +#include "package_bgs/av/VuMeter.h" | ||
| +#include "package_bgs/ae/KDE.h" | ||
| +#include "package_bgs/db/IndependentMultimodalBGS.h" | ||
| +#include "package_bgs/sjn/SJN_MultiCueBGS.h" | ||
| + | ||
| +void main(int argc, char **argv) | ||
| +{ | ||
| + std::cout << "Using OpenCV " << CV_MAJOR_VERSION << "." << CV_MINOR_VERSION << "." << CV_SUBMINOR_VERSION << std::endl; | ||
| + | ||
| + CvCapture *capture = 0; | ||
| + int resize_factor = 100; | ||
| + | ||
| + if(argc > 1) | ||
| + { | ||
| + std::cout << "Openning: " << argv[1] << std::endl; | ||
| + capture = cvCaptureFromAVI(argv[1]); | ||
| + } | ||
| + else | ||
| + { | ||
| + capture = cvCaptureFromCAM(0); | ||
| + resize_factor = 50; // set size = 50% of original image | ||
| + } | ||
| + | ||
| + if(!capture) | ||
| + { | ||
| + std::cerr << "Cannot initialize video!" << std::endl; | ||
| + return; | ||
| + } | ||
| + | ||
| + IplImage *frame_aux = cvQueryFrame(capture); | ||
| + IplImage *frame = cvCreateImage(cvSize((int)((frame_aux->width*resize_factor)/100) , (int)((frame_aux->height*resize_factor)/100)), frame_aux->depth, frame_aux->nChannels); | ||
| + cvResize(frame_aux, frame); | ||
| + | ||
| + /* Background Subtraction Methods */ | ||
| + IBGS *bgs; | ||
| + | ||
| + /*** Default Package ***/ | ||
| + bgs = new FrameDifferenceBGS; | ||
| + //bgs = new StaticFrameDifferenceBGS; | ||
| + //bgs = new WeightedMovingMeanBGS; | ||
| + //bgs = new WeightedMovingVarianceBGS; | ||
| + //bgs = new MixtureOfGaussianV1BGS; | ||
| + //bgs = new MixtureOfGaussianV2BGS; | ||
| + //bgs = new AdaptiveBackgroundLearning; | ||
| + //bgs = new AdaptiveSelectiveBackgroundLearning; | ||
| + //bgs = new GMG; | ||
| + | ||
| + /*** DP Package (thanks to Donovan Parks) ***/ | ||
| + //bgs = new DPAdaptiveMedianBGS; | ||
| + //bgs = new DPGrimsonGMMBGS; | ||
| + //bgs = new DPZivkovicAGMMBGS; | ||
| + //bgs = new DPMeanBGS; | ||
| + //bgs = new DPWrenGABGS; | ||
| + //bgs = new DPPratiMediodBGS; | ||
| + //bgs = new DPEigenbackgroundBGS; | ||
| + //bgs = new DPTextureBGS; | ||
| + | ||
| + /*** TB Package (thanks to Thierry Bouwmans, Fida EL BAF and Zhenjie Zhao) ***/ | ||
| + //bgs = new T2FGMM_UM; | ||
| + //bgs = new T2FGMM_UV; | ||
| + //bgs = new T2FMRF_UM; | ||
| + //bgs = new T2FMRF_UV; | ||
| + //bgs = new FuzzySugenoIntegral; | ||
| + //bgs = new FuzzyChoquetIntegral; | ||
| + | ||
| + /*** JMO Package (thanks to Jean-Marc Odobez) ***/ | ||
| + //bgs = new MultiLayerBGS; | ||
| + | ||
| + /*** PT Package (thanks to Martin Hofmann, Philipp Tiefenbacher and Gerhard Rigoll) ***/ | ||
| + //bgs = new PixelBasedAdaptiveSegmenter; | ||
| + | ||
| + /*** LB Package (thanks to Laurence Bender) ***/ | ||
| + //bgs = new LBSimpleGaussian; | ||
| + //bgs = new LBFuzzyGaussian; | ||
| + //bgs = new LBMixtureOfGaussians; | ||
| + //bgs = new LBAdaptiveSOM; | ||
| + //bgs = new LBFuzzyAdaptiveSOM; | ||
| + | ||
| + /*** LBP-MRF Package (thanks to Csaba Kertész) ***/ | ||
| + //bgs = new LbpMrf; | ||
| + | ||
| + /*** AV Package (thanks to Lionel Robinault and Antoine Vacavant) ***/ | ||
| + //bgs = new VuMeter; | ||
| + | ||
| + /*** EG Package (thanks to Ahmed Elgammal) ***/ | ||
| + //bgs = new KDE; | ||
| + | ||
| + /*** DB Package (thanks to Domenico Daniele Bloisi) ***/ | ||
| + //bgs = new IndependentMultimodalBGS; | ||
| + | ||
| + /*** SJN Package (thanks to SeungJong Noh) ***/ | ||
| + //bgs = new SJN_MultiCueBGS; | ||
| + | ||
| + int key = 0; | ||
| + while(key != 'q') | ||
| + { | ||
| + frame_aux = cvQueryFrame(capture); | ||
| + if(!frame_aux) break; | ||
| + | ||
| + cvResize(frame_aux, frame); | ||
| + | ||
| + cv::Mat img_input(frame); | ||
| + cv::imshow("input", img_input); | ||
| + | ||
| + cv::Mat img_mask; | ||
| + cv::Mat img_bkgmodel; | ||
| + bgs->process(img_input, img_mask, img_bkgmodel); // by default, it shows automatically the foreground mask image | ||
| + | ||
| + //if(!img_mask.empty()) | ||
| + // cv::imshow("Foreground", img_mask); | ||
| + // do something | ||
| + | ||
| + key = cvWaitKey(33); | ||
| + } | ||
| + | ||
| + delete bgs; | ||
| + | ||
| + cvDestroyAllWindows(); | ||
| + cvReleaseCapture(&capture); | ||
| +} |
Oops, something went wrong.
0 comments on commit
9a6dabf