diff --git a/FrameProcessor.cpp b/FrameProcessor.cpp index 9f9bc28b902eca80cb5ca822c86950d96723b7b2..85cfab92b0b3683696747a4d092796d6b79f4d08 100644 --- a/FrameProcessor.cpp +++ b/FrameProcessor.cpp @@ -142,6 +142,9 @@ namespace bgslibrary if (enableMultiCueBGS) mcbgs = new SJN_MultiCueBGS; + if (enableSigmaDeltaBGS) + sdbgs = new SigmaDeltaBGS; + if (enableForegroundMaskAnalysis) foregroundMaskAnalysis = new ForegroundMaskAnalysis; } @@ -275,6 +278,9 @@ namespace bgslibrary if (enableMultiCueBGS) process("MultiCueBGS", mcbgs, img_prep, img_mcbgs); + if (enableSigmaDeltaBGS) + process("SigmaDeltaBGS", sdbgs, img_prep, img_sdbgs); + if (enableForegroundMaskAnalysis) { foregroundMaskAnalysis->stopAt = frameToStop; @@ -318,6 +324,7 @@ namespace bgslibrary foregroundMaskAnalysis->process(frameNumber, "KDE", img_kde); foregroundMaskAnalysis->process(frameNumber, "IMBS", img_imbs); foregroundMaskAnalysis->process(frameNumber, "MultiCueBGS", img_mcbgs); + foregroundMaskAnalysis->process(frameNumber, "SigmaDeltaBGS", img_sdbgs); } firstTime = false; @@ -346,6 +353,9 @@ namespace bgslibrary if (enableForegroundMaskAnalysis) delete foregroundMaskAnalysis; + if (enableSigmaDeltaBGS) + delete sdbgs; + if (enableMultiCueBGS) delete mcbgs; @@ -521,6 +531,7 @@ namespace bgslibrary cvWriteInt(fs, "enableKDE", enableKDE); cvWriteInt(fs, "enableIMBS", enableIMBS); cvWriteInt(fs, "enableMultiCueBGS", enableMultiCueBGS); + cvWriteInt(fs, "enableSigmaDeltaBGS", enableSigmaDeltaBGS); cvReleaseFileStorage(&fs); } @@ -578,6 +589,7 @@ namespace bgslibrary enableKDE = cvReadIntByName(fs, 0, "enableKDE", false); enableIMBS = cvReadIntByName(fs, 0, "enableIMBS", false); enableMultiCueBGS = cvReadIntByName(fs, 0, "enableMultiCueBGS", false); + enableSigmaDeltaBGS = cvReadIntByName(fs, 0, "enableSigmaDeltaBGS", false); cvReleaseFileStorage(&fs); } diff --git a/FrameProcessor.h b/FrameProcessor.h index 91ce08cbeee3e81fe75d4b7d4a87b78308cdb1cb..e29d7edb6174691d1e4bb3344d5de8e1c008e781 100644 --- a/FrameProcessor.h +++ b/FrameProcessor.h @@ -68,6 +68,7 @@ along with BGSLibrary. If not, see <http://www.gnu.org/licenses/>. #include "package_bgs/ae/KDE.h" #include "package_bgs/db/IndependentMultimodalBGS.h" #include "package_bgs/sjn/SJN_MultiCueBGS.h" +#include "package_bgs/bl/SigmaDeltaBGS.h" #include "package_analysis/ForegroundMaskAnalysis.h" @@ -226,6 +227,10 @@ namespace bgslibrary SJN_MultiCueBGS* mcbgs; bool enableMultiCueBGS; + cv::Mat img_sdbgs; + SigmaDeltaBGS* sdbgs; + bool enableSigmaDeltaBGS; + ForegroundMaskAnalysis* foregroundMaskAnalysis; bool enableForegroundMaskAnalysis; diff --git a/Main.cpp b/Main.cpp index 3d27e61e7b4d76dfc41fe1cb941854b056e079a0..a7168720e2df995ff588a0bd12b2c0072d381ef4 100644 --- a/Main.cpp +++ b/Main.cpp @@ -29,7 +29,7 @@ namespace bgslibrary static void start(int argc, const char **argv) { std::cout << "-----------------------------------------" << std::endl; - std::cout << "Background Subtraction Library v1.9.0 " << std::endl; + std::cout << "Background Subtraction Library v1.9.1 " << std::endl; std::cout << "http://code.google.com/p/bgslibrary " << std::endl; std::cout << "by: " << std::endl; std::cout << "Andrews Sobral (andrewssobral@gmail.com) " << std::endl; diff --git a/bgslibrary.exe b/bgslibrary.exe index 5cbd4e2099cfd60482da69ac24ddd2acefa48c32..1bdc85c896c2e77b5b5b209822f4ef80d47bc4ec 100644 Binary files a/bgslibrary.exe and b/bgslibrary.exe differ diff --git a/config/FrameProcessor.xml b/config/FrameProcessor.xml index 9ff1a61df218a26630f1c7db93a9e36d63c7c638..f20b2a7d262b46c8b8d0305b3dccc129c1601360 100644 --- a/config/FrameProcessor.xml +++ b/config/FrameProcessor.xml @@ -35,4 +35,5 @@ <enableKDE>0</enableKDE> <enableIMBS>0</enableIMBS> <enableMultiCueBGS>0</enableMultiCueBGS> +<enableSigmaDeltaBGS>0</enableSigmaDeltaBGS> </opencv_storage> diff --git a/run_camera.bat b/run_camera.bat new file mode 100644 index 0000000000000000000000000000000000000000..672229f6755ef00727eca7d1b2c183c24612ef13 --- /dev/null +++ b/run_camera.bat @@ -0,0 +1,2 @@ +@echo off +bgslibrary.exe --use_cam --camera=0 \ No newline at end of file diff --git a/vs2010/bgslibrary.v12.suo b/vs2010/bgslibrary.v12.suo index 318f0336bf43288341f2a845a4a0e9b1eff5180c..0ffb2950bddaadb81b9d80b1cbd5203a718df60e 100644 Binary files a/vs2010/bgslibrary.v12.suo and b/vs2010/bgslibrary.v12.suo differ diff --git a/vs2010/bgslibrary.vcxproj b/vs2010/bgslibrary.vcxproj index a1bddf6930ec4de042f5c75fd7d7b380ab69bf75..bba9c02dbda4a7ba1669bd8b8cc647ea379be921 100644 --- a/vs2010/bgslibrary.vcxproj +++ b/vs2010/bgslibrary.vcxproj @@ -81,8 +81,15 @@ <ClCompile Include="..\Demo.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> </ClCompile> - <ClCompile Include="..\FrameProcessor.cpp" /> - <ClCompile Include="..\Main.cpp" /> + <ClCompile Include="..\Demo2.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\FrameProcessor.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\Main.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClCompile> <ClCompile Include="..\package_analysis\ForegroundMaskAnalysis.cpp" /> <ClCompile Include="..\package_bgs\AdaptiveBackgroundLearning.cpp" /> <ClCompile Include="..\package_bgs\AdaptiveSelectiveBackgroundLearning.cpp" /> @@ -93,6 +100,8 @@ <ClCompile Include="..\package_bgs\av\TBackground.cpp" /> <ClCompile Include="..\package_bgs\av\TBackgroundVuMeter.cpp" /> <ClCompile Include="..\package_bgs\av\VuMeter.cpp" /> + <ClCompile Include="..\package_bgs\bl\sdLaMa091.cpp" /> + <ClCompile Include="..\package_bgs\bl\SigmaDeltaBGS.cpp" /> <ClCompile Include="..\package_bgs\db\imbs.cpp" /> <ClCompile Include="..\package_bgs\db\IndependentMultimodalBGS.cpp" /> <ClCompile Include="..\package_bgs\dp\AdaptiveMedianBGS.cpp" /> @@ -150,14 +159,26 @@ <ClCompile Include="..\package_bgs\tb\T2FMRF_UV.cpp" /> <ClCompile Include="..\package_bgs\WeightedMovingMeanBGS.cpp" /> <ClCompile Include="..\package_bgs\WeightedMovingVarianceBGS.cpp" /> - <ClCompile Include="..\PreProcessor.cpp" /> - <ClCompile Include="..\VideoAnalysis.cpp" /> - <ClCompile Include="..\VideoCapture.cpp" /> + <ClCompile Include="..\PreProcessor.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\VideoAnalysis.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\VideoCapture.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="..\Config.h" /> - <ClInclude Include="..\FrameProcessor.h" /> - <ClInclude Include="..\IFrameProcessor.h" /> + <ClInclude Include="..\Config.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClInclude> + <ClInclude Include="..\FrameProcessor.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClInclude> + <ClInclude Include="..\IFrameProcessor.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClInclude> <ClInclude Include="..\package_analysis\ForegroundMaskAnalysis.h" /> <ClInclude Include="..\package_bgs\AdaptiveBackgroundLearning.h" /> <ClInclude Include="..\package_bgs\AdaptiveSelectiveBackgroundLearning.h" /> @@ -168,6 +189,9 @@ <ClInclude Include="..\package_bgs\av\TBackground.h" /> <ClInclude Include="..\package_bgs\av\TBackgroundVuMeter.h" /> <ClInclude Include="..\package_bgs\av\VuMeter.h" /> + <ClInclude Include="..\package_bgs\bl\sdLaMa091.h" /> + <ClInclude Include="..\package_bgs\bl\SigmaDeltaBGS.h" /> + <ClInclude Include="..\package_bgs\bl\stdbool.h" /> <ClInclude Include="..\package_bgs\db\imbs.hpp" /> <ClInclude Include="..\package_bgs\db\IndependentMultimodalBGS.h" /> <ClInclude Include="..\package_bgs\dp\AdaptiveMedianBGS.h" /> @@ -233,9 +257,15 @@ <ClInclude Include="..\package_bgs\tb\T2FMRF_UV.h" /> <ClInclude Include="..\package_bgs\WeightedMovingMeanBGS.h" /> <ClInclude Include="..\package_bgs\WeightedMovingVarianceBGS.h" /> - <ClInclude Include="..\PreProcessor.h" /> - <ClInclude Include="..\VideoAnalysis.h" /> - <ClInclude Include="..\VideoCapture.h" /> + <ClInclude Include="..\PreProcessor.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClInclude> + <ClInclude Include="..\VideoAnalysis.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClInclude> + <ClInclude Include="..\VideoCapture.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild> + </ClInclude> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/vs2010/bgslibrary.vcxproj.filters b/vs2010/bgslibrary.vcxproj.filters index f91c2cc38b74bc9d99526a9bcdf3c9eccdd53f38..b2401b0287ac39c646420bc8e9b1b406d1e6a26c 100644 --- a/vs2010/bgslibrary.vcxproj.filters +++ b/vs2010/bgslibrary.vcxproj.filters @@ -49,6 +49,9 @@ <Filter Include="Header Files\package_analysis"> <UniqueIdentifier>{52a9f254-d817-4577-96c2-0b3b0a9527b7}</UniqueIdentifier> </Filter> + <Filter Include="Header Files\package_bgs\bl"> + <UniqueIdentifier>{0494c5d4-b4bb-421c-b032-176903ba8e1b}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ClCompile Include="..\package_bgs\AdaptiveBackgroundLearning.cpp"> @@ -270,6 +273,15 @@ <ClCompile Include="..\package_analysis\ForegroundMaskAnalysis.cpp"> <Filter>Header Files\package_analysis</Filter> </ClCompile> + <ClCompile Include="..\Demo2.cpp"> + <Filter>Source Files\demo</Filter> + </ClCompile> + <ClCompile Include="..\package_bgs\bl\SigmaDeltaBGS.cpp"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClCompile> + <ClCompile Include="..\package_bgs\bl\sdLaMa091.cpp"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\package_bgs\AdaptiveBackgroundLearning.h"> @@ -515,5 +527,14 @@ <ClInclude Include="..\package_analysis\ForegroundMaskAnalysis.h"> <Filter>Header Files\package_analysis</Filter> </ClInclude> + <ClInclude Include="..\package_bgs\bl\sdLaMa091.h"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClInclude> + <ClInclude Include="..\package_bgs\bl\SigmaDeltaBGS.h"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClInclude> + <ClInclude Include="..\package_bgs\bl\stdbool.h"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClInclude> </ItemGroup> </Project> \ No newline at end of file