diff --git a/.gitattributes b/.gitattributes index 2766b5e9f35ff451c6a46ab0e2f6a98b491ab794..f4151660690ab263cdfcfce01ce13eb886177685 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,6 @@ *.rc eol=crlf +*.rc2 eol=crlf *.vcproj eol=crlf *.bat eol=crlf -*.sln eol=crlf \ No newline at end of file +*.sln eol=crlf +*.ico -text \ No newline at end of file diff --git a/.gitignore b/.gitignore index cfa9c6a304f9826ee55e046818b43801da965710..1767fc464a9dd013015144bd003880168fcedf37 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ etc/ binaries/ +package_bgs/pt/ java_gui/dist/ java_gui/build/ java_gui/bgslibrary.exe @@ -7,4 +8,5 @@ python/ qt_gui/ fet/etc/ *.exe -*.pdb \ No newline at end of file +*.pdb +vs2010mfc/src/bgslibrary_vs2010_mfc.aps \ No newline at end of file diff --git a/README.md b/README.md index 54e92e4be160bc56bdbb6a1f09277b8d6956da53..124e39b479702580014ea0be4f963fc6b62dc3ce 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,15 @@ -<script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', 'UA-6131398-5', 'andrewssobral.github.io'); - ga('send', 'pageview'); -</script> - BGSLibrary ========== A Background Subtraction Library -Last Page Update: **25/01/2015** +Last Page Update: **01/05/2015** Latest Library Version: **1.9.2** (see Release Notes for more info) The BGSLibrary was developed by [Andrews Sobral](https://sites.google.com/site/andrewssobral) and provides an easy-to-use C++ framework based on [OpenCV](http://www.opencv.org/) to perform background subtraction (BGS) in videos. The BGSLibrary compiles under Linux, Mac OS X and Windows. Currently the library offers **37**¹ BGS algorithms. A large amount of algorithms were provided by several authors. The source code is available under GNU GPL v3 license, the library is free and open source for academic purposes². -For Windows users, a demo project for Visual Studio 2010 is provided. An executable version of BGSLibrary is available for Windows 32 bits and 64 bits. For Linux and Mac users, a Makefile can be used to compile all files. +For Windows users, a demo project for Visual Studio 2010/2013 is provided. An executable version of BGSLibrary is available for Windows 32 bits and 64 bits. For Linux and Mac users, a Makefile can be used to compile all files. Note: the BGSLibrary is based on OpenCV 2.X, if you want to use with OpenCV 3.x please check-out our [opencv3](https://github.com/andrewssobral/bgslibrary/tree/opencv3) branch. @@ -171,25 +162,15 @@ Download links * BGSLibrary v1.9.2 with MFC GUI v1.4.2 (x86/x64) -https://github.com/andrewssobral/bgslibrary/blob/master/binaries/mfc_bgslibrary_x86_v1.4.2.zip - -Old versions: - -* BGSLibrary v1.9.1 with MFC GUI v1.4.1 (x86/x64) (+src) - -https://github.com/andrewssobral/bgslibrary/blob/master/binaries/mfc_bgslibrary_x86_v1.4.1.zip - -* BGSLibrary v1.9.0 with MFC GUI v1.4.0 (x86/x64) (+src) - -https://github.com/andrewssobral/bgslibrary/blob/master/binaries/mfc_bgslibrary_x86_v1.4.0.7z +https://github.com/andrewssobral/bgslibrary/releases/download/v1.9.2_x86_mfc_gui/bgslibrary_x86_v1.9.2_with_mfc_gui_v1.4.2.7z -* BGSLibrary v1.5.0 with Java GUI for Windows 32bits (x86) +* BGSLibrary v1.9.2 with Java GUI for Windows 32bits (x86) -https://github.com/andrewssobral/bgslibrary/blob/master/binaries/bgs_library_x86_v1.5.0_with_gui.7z +https://github.com/andrewssobral/bgslibrary/releases/download/v1.9.2_x86_java_gui/bgslibrary_x86_v1.9.2_with_java_gui_v1.0.4.7z -* BGSLibrary v1.5.0 with Java GUI for Windows 64bits (x64) +* BGSLibrary v1.9.2 with Java GUI for Windows 64bits (x64) -https://github.com/andrewssobral/bgslibrary/blob/master/binaries/bgs_library_x64_v1.5.0_with_gui.7z +https://github.com/andrewssobral/bgslibrary/releases/download/v1.9.2_x64_java_gui/bgslibrary_x64_v1.9.2_with_java_gui_v1.0.4.7z  diff --git a/java_gui/config/FrameProcessor.xml b/java_gui/config/FrameProcessor.xml index 09e7c8bd1c57104e72b907851b73582da8f4b37c..5155bbf218b7a34466a2ab7b190ed97eac1a5b97 100644 --- a/java_gui/config/FrameProcessor.xml +++ b/java_gui/config/FrameProcessor.xml @@ -37,4 +37,6 @@ <enableIMBS>0</enableIMBS> <enableMultiCueBGS>0</enableMultiCueBGS> <enableSigmaDeltaBGS>0</enableSigmaDeltaBGS> +<enableSuBSENSEBGS>0</enableSuBSENSEBGS> +<enableLOBSTERBGS>0</enableLOBSTERBGS> </opencv_storage> diff --git a/vs2010mfc/.gitignore b/vs2010mfc/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..fc99052718c029dc8927b7fb705ddc2ad093f0c7 --- /dev/null +++ b/vs2010mfc/.gitignore @@ -0,0 +1,3 @@ +*.exe +*.pdb +*.dll \ No newline at end of file diff --git a/vs2010mfc/bgslibrary_vs2010_mfc.rc b/vs2010mfc/bgslibrary_vs2010_mfc.rc deleted file mode 100644 index 7251658acf1cfb47e9ec6c5f95ae0d54e0237ed3..0000000000000000000000000000000000000000 Binary files a/vs2010mfc/bgslibrary_vs2010_mfc.rc and /dev/null differ diff --git a/vs2010mfc/bgslibrary_vs2010_mfc.vcxproj b/vs2010mfc/bgslibrary_vs2010_mfc.vcxproj deleted file mode 100644 index 2a497b8ad2dee9491b8c230416f017195d35027c..0000000000000000000000000000000000000000 --- a/vs2010mfc/bgslibrary_vs2010_mfc.vcxproj +++ /dev/null @@ -1,296 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{236E77EE-00D6-4B4E-80C7-C38847B1B60E}</ProjectGuid> - <RootNamespace>bgslibrary_vs2010_mfc</RootNamespace> - <Keyword>MFCProj</Keyword> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <CharacterSet>Unicode</CharacterSet> - <UseOfMfc>Static</UseOfMfc> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - <UseOfMfc>Static</UseOfMfc> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <LinkIncremental>true</LinkIncremental> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <OutDir>.</OutDir> - <TargetName>$(ProjectName)_x86</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <PrecompiledHeader>Use</PrecompiledHeader> - <WarningLevel>Level3</WarningLevel> - <Optimization>Disabled</Optimization> - <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - </Link> - <Midl> - <MkTypLibCompatible>false</MkTypLibCompatible> - <ValidateAllParameters>true</ValidateAllParameters> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <Culture>0x0409</Culture> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>C:\OpenCV2.4.9\build\include;C:\OpenCV2.4.9\build\include\opencv;C:\boost_1_55_0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <AdditionalDependencies>C:\OpenCV2.4.9\build\x86\vc10\staticlib\*.lib;C:\boost_1_55_0\stage32\lib\vc10\*.lib;comctl32.lib;VFW32.lib;uafxcw.lib;LIBCMT.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ShowProgress>NotSet</ShowProgress> - <IgnoreSpecificDefaultLibraries>uafxcw.lib;LIBCMT.lib</IgnoreSpecificDefaultLibraries> - </Link> - <Midl> - <MkTypLibCompatible>false</MkTypLibCompatible> - <ValidateAllParameters>true</ValidateAllParameters> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - </Midl> - <ResourceCompile> - <Culture>0x0409</Culture> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ResourceCompile> - </ItemDefinitionGroup> - <ItemGroup> - <None Include="..\package_bgs\pl\LBSP_16bits_dbcross_1ch.i" /> - <None Include="..\package_bgs\pl\LBSP_16bits_dbcross_3ch1t.i" /> - <None Include="..\package_bgs\pl\LBSP_16bits_dbcross_3ch3t.i" /> - <None Include="..\package_bgs\pl\LBSP_16bits_dbcross_s3ch.i" /> - <None Include="ReadMe.txt" /> - <None Include="res\bgslibrary_vs2010_mfc.ico" /> - <None Include="res\bgslibrary_vs2010_mfc.rc2" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="..\package_bgs\pl\BackgroundSubtractorLBSP.h" /> - <ClInclude Include="..\package_bgs\pl\BackgroundSubtractorLOBSTER.h" /> - <ClInclude Include="..\package_bgs\pl\BackgroundSubtractorSuBSENSE.h" /> - <ClInclude Include="..\package_bgs\pl\DistanceUtils.h" /> - <ClInclude Include="..\package_bgs\pl\LBSP.h" /> - <ClInclude Include="..\package_bgs\pl\LOBSTER.h" /> - <ClInclude Include="..\package_bgs\pl\RandUtils.h" /> - <ClInclude Include="..\package_bgs\pl\SuBSENSE.h" /> - <ClInclude Include="App.h" /> - <ClInclude Include="Dlg.h" /> - <ClInclude Include="..\package_bgs\AdaptiveBackgroundLearning.h" /> - <ClInclude Include="..\package_bgs\AdaptiveSelectiveBackgroundLearning.h" /> - <ClInclude Include="..\package_bgs\ae\KDE.h" /> - <ClInclude Include="..\package_bgs\ae\KernelTable.h" /> - <ClInclude Include="..\package_bgs\ae\NPBGmodel.h" /> - <ClInclude Include="..\package_bgs\ae\NPBGSubtractor.h" /> - <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" /> - <ClInclude Include="..\package_bgs\dp\Bgs.h" /> - <ClInclude Include="..\package_bgs\dp\BgsParams.h" /> - <ClInclude Include="..\package_bgs\dp\DPAdaptiveMedianBGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPEigenbackgroundBGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPGrimsonGMMBGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPMeanBGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPPratiMediodBGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPTextureBGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPWrenGABGS.h" /> - <ClInclude Include="..\package_bgs\dp\DPZivkovicAGMMBGS.h" /> - <ClInclude Include="..\package_bgs\dp\Eigenbackground.h" /> - <ClInclude Include="..\package_bgs\dp\Error.h" /> - <ClInclude Include="..\package_bgs\dp\GrimsonGMM.h" /> - <ClInclude Include="..\package_bgs\dp\Image.h" /> - <ClInclude Include="..\package_bgs\dp\MeanBGS.h" /> - <ClInclude Include="..\package_bgs\dp\PratiMediodBGS.h" /> - <ClInclude Include="..\package_bgs\dp\TextureBGS.h" /> - <ClInclude Include="..\package_bgs\dp\WrenGA.h" /> - <ClInclude Include="..\package_bgs\dp\ZivkovicAGMM.h" /> - <ClInclude Include="..\package_bgs\FrameDifferenceBGS.h" /> - <ClInclude Include="..\package_bgs\GMG.h" /> - <ClInclude Include="..\package_bgs\IBGS.h" /> - <ClInclude Include="..\package_bgs\jmo\BackgroundSubtractionAPI.h" /> - <ClInclude Include="..\package_bgs\jmo\BGS.h" /> - <ClInclude Include="..\package_bgs\jmo\blob.h" /> - <ClInclude Include="..\package_bgs\jmo\BlobExtraction.h" /> - <ClInclude Include="..\package_bgs\jmo\BlobLibraryConfiguration.h" /> - <ClInclude Include="..\package_bgs\jmo\BlobResult.h" /> - <ClInclude Include="..\package_bgs\jmo\CMultiLayerBGS.h" /> - <ClInclude Include="..\package_bgs\jmo\LocalBinaryPattern.h" /> - <ClInclude Include="..\package_bgs\jmo\MultiLayerBGS.h" /> - <ClInclude Include="..\package_bgs\jmo\OpenCvDataConversion.h" /> - <ClInclude Include="..\package_bgs\lb\BGModel.h" /> - <ClInclude Include="..\package_bgs\lb\BGModelFuzzyGauss.h" /> - <ClInclude Include="..\package_bgs\lb\BGModelFuzzySom.h" /> - <ClInclude Include="..\package_bgs\lb\BGModelGauss.h" /> - <ClInclude Include="..\package_bgs\lb\BGModelMog.h" /> - <ClInclude Include="..\package_bgs\lb\BGModelSom.h" /> - <ClInclude Include="..\package_bgs\lb\LBAdaptiveSOM.h" /> - <ClInclude Include="..\package_bgs\lb\LBFuzzyAdaptiveSOM.h" /> - <ClInclude Include="..\package_bgs\lb\LBFuzzyGaussian.h" /> - <ClInclude Include="..\package_bgs\lb\LBMixtureOfGaussians.h" /> - <ClInclude Include="..\package_bgs\lb\LBSimpleGaussian.h" /> - <ClInclude Include="..\package_bgs\lb\Types.h" /> - <ClInclude Include="..\package_bgs\MixtureOfGaussianV1BGS.h" /> - <ClInclude Include="..\package_bgs\MixtureOfGaussianV2BGS.h" /> - <ClInclude Include="..\package_bgs\sjn\SJN_MultiCueBGS.h" /> - <ClInclude Include="..\package_bgs\StaticFrameDifferenceBGS.h" /> - <ClInclude Include="..\package_bgs\tb\FuzzyChoquetIntegral.h" /> - <ClInclude Include="..\package_bgs\tb\FuzzySugenoIntegral.h" /> - <ClInclude Include="..\package_bgs\tb\FuzzyUtils.h" /> - <ClInclude Include="..\package_bgs\tb\MRF.h" /> - <ClInclude Include="..\package_bgs\tb\PerformanceUtils.h" /> - <ClInclude Include="..\package_bgs\tb\PixelUtils.h" /> - <ClInclude Include="..\package_bgs\tb\T2FGMM.h" /> - <ClInclude Include="..\package_bgs\tb\T2FGMM_UM.h" /> - <ClInclude Include="..\package_bgs\tb\T2FGMM_UV.h" /> - <ClInclude Include="..\package_bgs\tb\T2FMRF.h" /> - <ClInclude Include="..\package_bgs\tb\T2FMRF_UM.h" /> - <ClInclude Include="..\package_bgs\tb\T2FMRF_UV.h" /> - <ClInclude Include="..\package_bgs\WeightedMovingMeanBGS.h" /> - <ClInclude Include="..\package_bgs\WeightedMovingVarianceBGS.h" /> - <ClInclude Include="Resource.h" /> - <ClInclude Include="stdafx.h" /> - <ClInclude Include="targetver.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="..\package_bgs\pl\BackgroundSubtractorLBSP.cpp" /> - <ClCompile Include="..\package_bgs\pl\BackgroundSubtractorLOBSTER.cpp" /> - <ClCompile Include="..\package_bgs\pl\BackgroundSubtractorSuBSENSE.cpp" /> - <ClCompile Include="..\package_bgs\pl\LBSP.cpp" /> - <ClCompile Include="..\package_bgs\pl\LOBSTER.cpp" /> - <ClCompile Include="..\package_bgs\pl\SuBSENSE.cpp" /> - <ClCompile Include="App.cpp" /> - <ClCompile Include="Dlg.cpp" /> - <ClCompile Include="..\package_bgs\AdaptiveBackgroundLearning.cpp" /> - <ClCompile Include="..\package_bgs\AdaptiveSelectiveBackgroundLearning.cpp" /> - <ClCompile Include="..\package_bgs\ae\KDE.cpp" /> - <ClCompile Include="..\package_bgs\ae\KernelTable.cpp" /> - <ClCompile Include="..\package_bgs\ae\NPBGmodel.cpp" /> - <ClCompile Include="..\package_bgs\ae\NPBGSubtractor.cpp" /> - <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" /> - <ClCompile Include="..\package_bgs\dp\DPAdaptiveMedianBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPEigenbackgroundBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPGrimsonGMMBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPMeanBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPPratiMediodBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPTextureBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPWrenGABGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\DPZivkovicAGMMBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\Eigenbackground.cpp" /> - <ClCompile Include="..\package_bgs\dp\Error.cpp" /> - <ClCompile Include="..\package_bgs\dp\GrimsonGMM.cpp" /> - <ClCompile Include="..\package_bgs\dp\Image.cpp" /> - <ClCompile Include="..\package_bgs\dp\MeanBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\PratiMediodBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\TextureBGS.cpp" /> - <ClCompile Include="..\package_bgs\dp\WrenGA.cpp" /> - <ClCompile Include="..\package_bgs\dp\ZivkovicAGMM.cpp" /> - <ClCompile Include="..\package_bgs\FrameDifferenceBGS.cpp" /> - <ClCompile Include="..\package_bgs\GMG.cpp" /> - <ClCompile Include="..\package_bgs\jmo\blob.cpp" /> - <ClCompile Include="..\package_bgs\jmo\BlobExtraction.cpp" /> - <ClCompile Include="..\package_bgs\jmo\BlobResult.cpp" /> - <ClCompile Include="..\package_bgs\jmo\CMultiLayerBGS.cpp" /> - <ClCompile Include="..\package_bgs\jmo\LocalBinaryPattern.cpp" /> - <ClCompile Include="..\package_bgs\jmo\MultiLayerBGS.cpp" /> - <ClCompile Include="..\package_bgs\lb\BGModel.cpp" /> - <ClCompile Include="..\package_bgs\lb\BGModelFuzzyGauss.cpp" /> - <ClCompile Include="..\package_bgs\lb\BGModelFuzzySom.cpp" /> - <ClCompile Include="..\package_bgs\lb\BGModelGauss.cpp" /> - <ClCompile Include="..\package_bgs\lb\BGModelMog.cpp" /> - <ClCompile Include="..\package_bgs\lb\BGModelSom.cpp" /> - <ClCompile Include="..\package_bgs\lb\LBAdaptiveSOM.cpp" /> - <ClCompile Include="..\package_bgs\lb\LBFuzzyAdaptiveSOM.cpp" /> - <ClCompile Include="..\package_bgs\lb\LBFuzzyGaussian.cpp" /> - <ClCompile Include="..\package_bgs\lb\LBMixtureOfGaussians.cpp" /> - <ClCompile Include="..\package_bgs\lb\LBSimpleGaussian.cpp" /> - <ClCompile Include="..\package_bgs\MixtureOfGaussianV1BGS.cpp" /> - <ClCompile Include="..\package_bgs\MixtureOfGaussianV2BGS.cpp" /> - <ClCompile Include="..\package_bgs\sjn\SJN_MultiCueBGS.cpp" /> - <ClCompile Include="..\package_bgs\StaticFrameDifferenceBGS.cpp" /> - <ClCompile Include="..\package_bgs\tb\FuzzyChoquetIntegral.cpp" /> - <ClCompile Include="..\package_bgs\tb\FuzzySugenoIntegral.cpp" /> - <ClCompile Include="..\package_bgs\tb\FuzzyUtils.cpp" /> - <ClCompile Include="..\package_bgs\tb\MRF.cpp" /> - <ClCompile Include="..\package_bgs\tb\PerformanceUtils.cpp" /> - <ClCompile Include="..\package_bgs\tb\PixelUtils.cpp" /> - <ClCompile Include="..\package_bgs\tb\T2FGMM.cpp" /> - <ClCompile Include="..\package_bgs\tb\T2FGMM_UM.cpp" /> - <ClCompile Include="..\package_bgs\tb\T2FGMM_UV.cpp" /> - <ClCompile Include="..\package_bgs\tb\T2FMRF.cpp" /> - <ClCompile Include="..\package_bgs\tb\T2FMRF_UM.cpp" /> - <ClCompile Include="..\package_bgs\tb\T2FMRF_UV.cpp" /> - <ClCompile Include="..\package_bgs\WeightedMovingMeanBGS.cpp" /> - <ClCompile Include="..\package_bgs\WeightedMovingVarianceBGS.cpp" /> - <ClCompile Include="stdafx.cpp"> - <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> - <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> - </ClCompile> - </ItemGroup> - <ItemGroup> - <ResourceCompile Include="bgslibrary_vs2010_mfc.rc" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <ProjectExtensions> - <VisualStudio> - <UserProperties RESOURCE_FILE="bgslibrary_vs2010_mfc.rc" /> - </VisualStudio> - </ProjectExtensions> -</Project> \ No newline at end of file diff --git a/vs2010mfc/bgslibrary_vs2010_mfc.vcxproj.user b/vs2010mfc/bgslibrary_vs2010_mfc.vcxproj.user deleted file mode 100644 index ace9a86acb77340247c6d79e985eca55840261de..0000000000000000000000000000000000000000 --- a/vs2010mfc/bgslibrary_vs2010_mfc.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> -</Project> \ No newline at end of file diff --git a/vs2010mfc/bgslibrary_vs2010_mfc_x86.exe b/vs2010mfc/bgslibrary_vs2010_mfc_x86.exe deleted file mode 100644 index c5ddc4edfb1aae7579a83fa09a0a4b670f98d567..0000000000000000000000000000000000000000 Binary files a/vs2010mfc/bgslibrary_vs2010_mfc_x86.exe and /dev/null differ diff --git a/vs2010mfc/dataset/video.avi b/vs2010mfc/dataset/video.avi new file mode 100644 index 0000000000000000000000000000000000000000..a29f00658be7d05b10344859e6bee9a501a7a2b1 Binary files /dev/null and b/vs2010mfc/dataset/video.avi differ diff --git a/vs2010mfc/res/bgslibrary_vs2010_mfc.rc2 b/vs2010mfc/res/bgslibrary_vs2010_mfc.rc2 deleted file mode 100644 index e327fa85913f2210efffc3a01eb0194aadda29e2..0000000000000000000000000000000000000000 Binary files a/vs2010mfc/res/bgslibrary_vs2010_mfc.rc2 and /dev/null differ diff --git a/vs2010mfc/src/.gitignore b/vs2010mfc/src/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..4ad092eb1e2981311d46fee0774589cf43dcb17a --- /dev/null +++ b/vs2010mfc/src/.gitignore @@ -0,0 +1,6 @@ +Release/ +ipch/ +*.exe +*.pdb +*.sdf +*.opensdf \ No newline at end of file diff --git a/vs2010mfc/src/App.cpp b/vs2010mfc/src/App.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a6f45c78da8e675b92213074239b23c9907a1738 --- /dev/null +++ b/vs2010mfc/src/App.cpp @@ -0,0 +1,94 @@ + +// App.cpp : Defines the class behaviors for the application. +// + +#include "stdafx.h" +#include "App.h" +#include "Dlg.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + + +// CApp + +BEGIN_MESSAGE_MAP(CApp, CWinApp) + ON_COMMAND(ID_HELP, &CWinApp::OnHelp) +END_MESSAGE_MAP() + + +// CApp construction + +CApp::CApp() +{ + // support Restart Manager + m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; + + // TODO: add construction code here, + // Place all significant initialization in InitInstance +} + + +// The one and only CApp object + +CApp theApp; + + +// CApp initialization + +BOOL CApp::InitInstance() +{ + // InitCommonControlsEx() is required on Windows XP if an application + // manifest specifies use of ComCtl32.dll version 6 or later to enable + // visual styles. Otherwise, any window creation will fail. + INITCOMMONCONTROLSEX InitCtrls; + InitCtrls.dwSize = sizeof(InitCtrls); + // Set this to include all the common control classes you want to use + // in your application. + InitCtrls.dwICC = ICC_WIN95_CLASSES; + InitCommonControlsEx(&InitCtrls); + + CWinApp::InitInstance(); + + + AfxEnableControlContainer(); + + // Create the shell manager, in case the dialog contains + // any shell tree view or shell list view controls. + CShellManager *pShellManager = new CShellManager; + + // Standard initialization + // If you are not using these features and wish to reduce the size + // of your final executable, you should remove from the following + // the specific initialization routines you do not need + // Change the registry key under which our settings are stored + // TODO: You should modify this string to be something appropriate + // such as the name of your company or organization + SetRegistryKey(_T("Local AppWizard-Generated Applications")); + + CDlg dlg; + m_pMainWnd = &dlg; + INT_PTR nResponse = dlg.DoModal(); + if (nResponse == IDOK) + { + // TODO: Place code here to handle when the dialog is + // dismissed with OK + } + else if (nResponse == IDCANCEL) + { + // TODO: Place code here to handle when the dialog is + // dismissed with Cancel + } + + // Delete the shell manager created above. + if (pShellManager != NULL) + { + delete pShellManager; + } + + // Since the dialog has been closed, return FALSE so that we exit the + // application, rather than start the application's message pump. + return FALSE; +} + diff --git a/vs2010mfc/src/App.h b/vs2010mfc/src/App.h new file mode 100644 index 0000000000000000000000000000000000000000..5ef9764a331791f71d688154f7af484024a9ca7f --- /dev/null +++ b/vs2010mfc/src/App.h @@ -0,0 +1,32 @@ + +// App.h : main header file for the application +// + +#pragma once + +#ifndef __AFXWIN_H__ + #error "include 'stdafx.h' before including this file for PCH" +#endif + +#include "resource.h" // main symbols + + +// CApp: +// See App.cpp for the implementation of this class +// + +class CApp : public CWinApp +{ +public: + CApp(); + +// Overrides +public: + virtual BOOL InitInstance(); + +// Implementation + + DECLARE_MESSAGE_MAP() +}; + +extern CApp theApp; \ No newline at end of file diff --git a/vs2010mfc/src/Dlg.cpp b/vs2010mfc/src/Dlg.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f39249eb3c7c450e55cb335666b94e7f910928e2 --- /dev/null +++ b/vs2010mfc/src/Dlg.cpp @@ -0,0 +1,709 @@ + +// Dlg.cpp : implementation file +// + +#include "stdafx.h" +#include "App.h" +#include "Dlg.h" +#include "afxdialogex.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + + +// CAboutDlg dialog used for App About + +class CAboutDlg : public CDialogEx +{ +public: + CAboutDlg(); + +// Dialog Data + enum { IDD = IDD_ABOUTBOX }; + + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + +// Implementation +protected: + DECLARE_MESSAGE_MAP() +}; + +CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) +{ +} + +void CAboutDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); +} + +BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) +END_MESSAGE_MAP() + + +// CDlg dialog + + + + +CDlg::CDlg(CWnd* pParent /*=NULL*/) + : CDialogEx(CDlg::IDD, pParent) +{ + m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); +} + +void CDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + DDX_Control(pDX, IDC_COMBO_BGSLIST, m_bgslist); + DDX_Control(pDX, IDC_LOG, m_log); + DDX_Control(pDX, IDC_INPUT_VIDEO, m_inputVideo); + DDX_Control(pDX, IDC_USE_WEBCAM, m_useWebCam); + DDX_Control(pDX, IDC_SPIN_WEBCAM_INDEX, m_spinWebCamIndex); + DDX_Control(pDX, IDC_EDIT_WEBCAM_INDEX, m_webCamIndex); + DDX_Control(pDX, IDC_FRAME_NUMBER, m_frameNumber); + DDX_Control(pDX, IDC_SAVE_FRAME, m_saveFrame); + DDX_Control(pDX, IDC_SAVE_MASK, m_saveMask); + DDX_Control(pDX, IDC_SAVE_BKG, m_saveBkg); + DDX_Control(pDX, IDC_IMG_SEQ, m_isImgSeq); + DDX_Control(pDX, IDC_EDIT_START_IDX, m_startIdx); + DDX_Control(pDX, IDC_EDIT_STOP_IDX, m_stopIdx); + DDX_Control(pDX, IDC_COMBO_FILE_TYPE, m_fileTypeList); + DDX_Control(pDX, IDC_SPIN_START_IDX, m_spinStartIdx); + DDX_Control(pDX, IDC_SPIN_STOP_IDX, m_spinStopIdx); + DDX_Control(pDX, IDC_EDIT_DELAY, m_delay); + DDX_Control(pDX, IDC_EXEC_TIME, m_execTime); + DDX_Control(pDX, IDC_MEDIAN_FILTER, m_medianFilter); +} + +BEGIN_MESSAGE_MAP(CDlg, CDialogEx) + ON_WM_SYSCOMMAND() + ON_WM_PAINT() + ON_WM_QUERYDRAGICON() + ON_BN_CLICKED(IDSTART, &CDlg::OnBnClickedStart) + ON_BN_CLICKED(IDSTOP, &CDlg::OnBnClickedStop) + ON_BN_CLICKED(IDC_USE_WEBCAM, &CDlg::OnBnClickedUseWebcam) + ON_BN_CLICKED(IDC_IMG_SEQ, &CDlg::OnBnClickedImgSeq) + ON_BN_CLICKED(IDSAVE, &CDlg::OnBnClickedSave) +END_MESSAGE_MAP() + + +// CDlg message handlers + +BOOL CDlg::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + + // Add "About..." menu item to system menu. + + // IDM_ABOUTBOX must be in the system command range. + ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); + ASSERT(IDM_ABOUTBOX < 0xF000); + + CMenu* pSysMenu = GetSystemMenu(FALSE); + if (pSysMenu != NULL) + { + BOOL bNameValid; + CString strAboutMenu; + bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); + ASSERT(bNameValid); + if (!strAboutMenu.IsEmpty()) + { + pSysMenu->AppendMenu(MF_SEPARATOR); + pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); + } + } + + // Set the icon for this dialog. The framework does this automatically + // when the application's main window is not a dialog + SetIcon(m_hIcon, TRUE); // Set big icon + SetIcon(m_hIcon, FALSE); // Set small icon + + // TODO: Add extra initialization here + methodName = L""; + useWebCam = false; + useImgSeq = false; + filePath = L""; + bgs = NULL; + webCamIndex = 0; + m_spinWebCamIndex.SetRange(0, 9); + m_spinStartIdx.SetRange(0, 999999); + m_spinStopIdx.SetRange(0, 999999); + m_frameNumber.SetWindowTextW(L"0"); + + addBgsList(); + m_fileTypeList.AddString(L"PNG"); + m_fileTypeList.AddString(L"JPG"); + m_fileTypeList.AddString(L"JPEG"); + m_fileTypeList.AddString(L"JPE"); + m_fileTypeList.AddString(L"JP2"); + m_fileTypeList.AddString(L"BMP"); + m_fileTypeList.AddString(L"DIB"); + m_fileTypeList.AddString(L"PBM"); + m_fileTypeList.AddString(L"PGM"); + m_fileTypeList.AddString(L"PPM"); + m_fileTypeList.AddString(L"SR"); + m_fileTypeList.AddString(L"RAS"); + m_fileTypeList.AddString(L"TIFF"); + m_fileTypeList.AddString(L"TIF"); + m_fileTypeList.SelectString(0,L"PNG"); + m_inputVideo.SetWindowTextW(L"dataset/video.avi"); + m_delay.SetWindowTextW(L"1"); + m_execTime.SetWindowTextW(L"0"); + + started = false; + if(started == false) + { + cv::namedWindow("INPUT", 1); + HWND hWnd = (HWND) cvGetWindowHandle("INPUT"); + HWND hParent = ::GetParent(hWnd); + ::SetParent(hWnd, GetDlgItem(IDC_FRAME_INPUT)->m_hWnd); + ::ShowWindow(hParent, SW_HIDE); + } + + if(started == false) + { + cv::namedWindow("MASK", 1); + HWND hWnd = (HWND) cvGetWindowHandle("MASK"); + HWND hParent = ::GetParent(hWnd); + ::SetParent(hWnd, GetDlgItem(IDC_FRAME_MASK)->m_hWnd); + ::ShowWindow(hParent, SW_HIDE); + } + + if(started == false) + { + cv::namedWindow("BKG", 1); + HWND hWnd = (HWND) cvGetWindowHandle("BKG"); + HWND hParent = ::GetParent(hWnd); + ::SetParent(hWnd, GetDlgItem(IDC_FRAME_BKG)->m_hWnd); + ::ShowWindow(hParent, SW_HIDE); + } + + return TRUE; // return TRUE unless you set the focus to a control +} + +void CDlg::OnSysCommand(UINT nID, LPARAM lParam) +{ + if ((nID & 0xFFF0) == IDM_ABOUTBOX) + { + CAboutDlg dlgAbout; + dlgAbout.DoModal(); + } + else + { + CDialogEx::OnSysCommand(nID, lParam); + } +} + +// If you add a minimize button to your dialog, you will need the code below +// to draw the icon. For MFC applications using the document/view model, +// this is automatically done for you by the framework. + +void CDlg::OnPaint() +{ + if (IsIconic()) + { + CPaintDC dc(this); // device context for painting + + SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); + + // Center icon in client rectangle + int cxIcon = GetSystemMetrics(SM_CXICON); + int cyIcon = GetSystemMetrics(SM_CYICON); + CRect rect; + GetClientRect(&rect); + int x = (rect.Width() - cxIcon + 1) / 2; + int y = (rect.Height() - cyIcon + 1) / 2; + + // Draw the icon + dc.DrawIcon(x, y, m_hIcon); + } + else + { + CDialogEx::OnPaint(); + } +} + +// The system calls this function to obtain the cursor to display while the user drags +// the minimized window. +HCURSOR CDlg::OnQueryDragIcon() +{ + return static_cast<HCURSOR>(m_hIcon); +} + +void CDlg::addBgsList() +{ + // 37 algorithms + m_bgslist.AddString(L"FrameDifferenceBGS"); + m_bgslist.AddString(L"StaticFrameDifferenceBGS"); + m_bgslist.AddString(L"WeightedMovingMeanBGS"); + m_bgslist.AddString(L"WeightedMovingVarianceBGS"); + m_bgslist.AddString(L"MixtureOfGaussianV1BGS"); + m_bgslist.AddString(L"MixtureOfGaussianV2BGS"); + m_bgslist.AddString(L"AdaptiveBackgroundLearning"); + m_bgslist.AddString(L"AdaptiveSelectiveBackgroundLearning"); + m_bgslist.AddString(L"GMG"); + m_bgslist.AddString(L"DPAdaptiveMedianBGS"); + m_bgslist.AddString(L"DPGrimsonGMMBGS"); + m_bgslist.AddString(L"DPZivkovicAGMMBGS"); + m_bgslist.AddString(L"DPMeanBGS"); + m_bgslist.AddString(L"DPWrenGABGS"); + m_bgslist.AddString(L"DPPratiMediodBGS"); + m_bgslist.AddString(L"DPEigenbackgroundBGS"); + m_bgslist.AddString(L"DPTextureBGS"); + m_bgslist.AddString(L"T2FGMM_UM"); + m_bgslist.AddString(L"T2FGMM_UV"); + m_bgslist.AddString(L"T2FMRF_UM"); + m_bgslist.AddString(L"T2FMRF_UV"); + m_bgslist.AddString(L"FuzzySugenoIntegral"); + m_bgslist.AddString(L"FuzzyChoquetIntegral"); + m_bgslist.AddString(L"LBSimpleGaussian"); + m_bgslist.AddString(L"LBFuzzyGaussian"); + m_bgslist.AddString(L"LBMixtureOfGaussians"); + m_bgslist.AddString(L"LBAdaptiveSOM"); + m_bgslist.AddString(L"LBFuzzyAdaptiveSOM"); + m_bgslist.AddString(L"MultiLayerBGS"); + //m_bgslist.AddString(L"PBAS"); + m_bgslist.AddString(L"VuMeter"); + m_bgslist.AddString(L"KDE"); + m_bgslist.AddString(L"IndependentMultimodalBGS"); + m_bgslist.AddString(L"SJN_MultiCueBGS"); + m_bgslist.AddString(L"SigmaDeltaBGS"); + m_bgslist.AddString(L"SuBSENSEBGS"); + m_bgslist.AddString(L"LOBSTERBGS"); +} + +bool CDlg::getBgsMethodName() +{ + int nIndex = m_bgslist.GetCurSel(); + if(nIndex != CB_ERR) + { + m_bgslist.GetLBText(nIndex, methodName); + return true; + } + else + { + AfxMessageBox(L"Please, select one background subtraction method!"); + return false; + } +} + +bool CDlg::getFileType() +{ + int nIndex = m_fileTypeList.GetCurSel(); + if(nIndex != CB_ERR) + { + m_fileTypeList.GetLBText(nIndex, fileType); + return true; + } + else + { + AfxMessageBox(L"Please, select one file type or extension!"); + return false; + } +} + +bool CDlg::getInputVideoFilePath() +{ + m_inputVideo.GetWindowTextW(filePath); + + if(filePath.GetLength() > 0) + return true; + else + { + AfxMessageBox(L"Please, select one video file or image sequence folder!"); + return false; + } +} + +void CDlg::OnBnClickedStart() +{ + if(started == false) + { + m_log.SetWindowTextW(L"Checking..."); + + if(!getBgsMethodName()) + { + m_log.SetWindowTextW(L"Stopped..."); + return; + } + + useWebCam = false; + if(m_useWebCam.GetCheck() == BST_CHECKED) + useWebCam = true; + + useImgSeq = false; + if(m_isImgSeq.GetCheck() == BST_CHECKED) + { + useImgSeq = true; + + if(!getFileType()) + { + m_log.SetWindowTextW(L"Stopped..."); + return; + } + } + + if(useWebCam == false) + if(!getInputVideoFilePath()) + { + m_log.SetWindowTextW(L"Stopped..."); + return; + } + + m_log.SetWindowTextW(L"Starting..."); + thread = AfxBeginThread((AFX_THREADPROC) CDlg::Thread, (LPVOID) this); + } + else + { + AfxMessageBox(L"Thread is already initialized!"); + return; + } +} + +DWORD CDlg::Thread(LPVOID *lpvParam) +{ + CDlg *thr = (CDlg*) lpvParam; + thr->ThreadProcess(); + return NULL; +} + +void CDlg::ThreadProcess() +{ + CString csStartIdx; + m_startIdx.GetWindowTextW(csStartIdx); + startIdx = _tstoi(csStartIdx); + + CString csStopIdx; + m_stopIdx.GetWindowTextW(csStopIdx); + stopIdx = _tstoi(csStopIdx); + + if(useImgSeq == false) + { + if(useWebCam) + { + CString strIndex; + m_webCamIndex.GetWindowTextW(strIndex); + webCamIndex = _tstoi(strIndex); + capture = cvCaptureFromCAM(webCamIndex); + } + else + { + CStringA file_path_aux(filePath); + capture = cvCaptureFromFile((const char *) file_path_aux); + } + + if(!capture) + { + AfxMessageBox(L"ERROR: Cannot initialize video!"); + m_log.SetWindowTextW(L"Stopped..."); + return; + } + } + else + { + if(stopIdx == 0) + { + AfxMessageBox(L"Stop index not defined!"); + return; + } + + if(startIdx > stopIdx) + { + AfxMessageBox(L"Start index is higher than stop index!"); + return; + } + } + + /* Background Subtraction Methods */ + + if(methodName == "FrameDifferenceBGS") + bgs = new FrameDifferenceBGS; + if(methodName == "StaticFrameDifferenceBGS") + bgs = new StaticFrameDifferenceBGS; + if(methodName == "WeightedMovingMeanBGS") + bgs = new WeightedMovingMeanBGS; + if(methodName == "WeightedMovingVarianceBGS") + bgs = new WeightedMovingVarianceBGS; + if(methodName == "MixtureOfGaussianV1BGS") + bgs = new MixtureOfGaussianV1BGS; + if(methodName == "MixtureOfGaussianV2BGS") + bgs = new MixtureOfGaussianV2BGS; + if(methodName == "AdaptiveBackgroundLearning") + bgs = new AdaptiveBackgroundLearning; + if(methodName == "AdaptiveSelectiveBackgroundLearning") + bgs = new AdaptiveSelectiveBackgroundLearning; + if(methodName == "GMG") + bgs = new GMG; + + if(methodName == "DPAdaptiveMedianBGS") + bgs = new DPAdaptiveMedianBGS; + if(methodName == "DPGrimsonGMMBGS") + bgs = new DPGrimsonGMMBGS; + if(methodName == "DPZivkovicAGMMBGS") + bgs = new DPZivkovicAGMMBGS; + if(methodName == "DPMeanBGS") + bgs = new DPMeanBGS; + if(methodName == "DPWrenGABGS") + bgs = new DPWrenGABGS; + if(methodName == "DPPratiMediodBGS") + bgs = new DPPratiMediodBGS; + if(methodName == "DPEigenbackgroundBGS") + bgs = new DPEigenbackgroundBGS; + if(methodName == "DPTextureBGS") + bgs = new DPTextureBGS; + + if(methodName == "T2FGMM_UM") + bgs = new T2FGMM_UM; + if(methodName == "T2FGMM_UV") + bgs = new T2FGMM_UV; + if(methodName == "T2FMRF_UM") + bgs = new T2FMRF_UM; + if(methodName == "T2FMRF_UV") + bgs = new T2FMRF_UV; + if(methodName == "FuzzySugenoIntegral") + bgs = new FuzzySugenoIntegral; + if(methodName == "FuzzyChoquetIntegral") + bgs = new FuzzyChoquetIntegral; + + if(methodName == "LBSimpleGaussian") + bgs = new LBSimpleGaussian; + if(methodName == "LBFuzzyGaussian") + bgs = new LBFuzzyGaussian; + if(methodName == "LBMixtureOfGaussians") + bgs = new LBMixtureOfGaussians; + if(methodName == "LBAdaptiveSOM") + bgs = new LBAdaptiveSOM; + if(methodName == "LBFuzzyAdaptiveSOM") + bgs = new LBFuzzyAdaptiveSOM; + if(methodName == "MultiLayerBGS") + bgs = new MultiLayerBGS; + //if(methodName == "PBAS") + //bgs = new PixelBasedAdaptiveSegmenter; + if(methodName == "VuMeter") + bgs = new VuMeter; + if(methodName == "KDE") + bgs = new KDE; + if(methodName == "IndependentMultimodalBGS") + bgs = new IndependentMultimodalBGS; + if(methodName == "SJN_MultiCueBGS") + bgs = new SJN_MultiCueBGS; + if (methodName == "SigmaDeltaBGS") + bgs = new SigmaDeltaBGS; + if (methodName == "SuBSENSEBGS") + bgs = new SuBSENSEBGS; + if (methodName == "LOBSTERBGS") + bgs = new LOBSTERBGS; + + if(bgs == NULL) + { + AfxMessageBox(L"BGS object not defined!"); + return; + } + + started = true; + int i = 0; + if(useImgSeq == true && startIdx > 0) + i = startIdx - 1; + CString strFrameNumber; + CString strExecTime; + cv::Size default_size; + default_size.width = 235; + default_size.height = 189; + IplImage* frame; + std::string input_filename; + cv::Mat img_input; + // Convert a TCHAR string to a LPCSTR + CT2CA fileType2(fileType); + CT2CA filePath2(filePath); + // construct a std::string using the LPCSTR input + std::string str_fileType(fileType2); + std::string str_filePath(filePath2); + // delay + CString csDelay; + m_delay.GetWindowTextW(csDelay); + int delay = _tstoi(csDelay); + + do + { + m_log.SetWindowTextW(L"Running..."); + + i++; + //::Sleep(1); + + if(useImgSeq == true && i == (stopIdx + 1)) + break; + + if(useImgSeq) + { + input_filename = str_filePath + "\\" + boost::lexical_cast<std::string>(i) + "." + str_fileType; + img_input = cv::imread(input_filename); + + CString input_filename2(input_filename.c_str()); + m_log.SetWindowTextW(input_filename2); + + strFrameNumber.Format(L"%d",i); + m_frameNumber.SetWindowTextW(strFrameNumber); + + if(img_input.data == NULL) + { + AfxMessageBox(L"File can not be read!"); + break; + } + } + else + { + if(useWebCam == false && stopIdx >= 2 && i > stopIdx) + break; + + frame = cvQueryFrame(capture); + if(!frame) + break; + + if(useWebCam == false && startIdx >= 2 && i < startIdx) + continue; + + img_input = cv::Mat(frame,true); + } + + cv::Mat img_mask; + cv::Mat img_bkg; + Clock::time_point t0 = Clock::now(); + bgs->process(img_input, img_mask, img_bkg); + Clock::time_point t1 = Clock::now(); + auto d = boost::chrono::duration_cast<milliseconds>(t1 - t0); + //std::cout << "\nElapsed time: " << d.count() << "ms" << std::endl; + + cv::Mat img_input_aux; + cv::resize(img_input, img_input_aux, default_size); + + cv::Mat img_mask_aux; + if(img_mask.empty()) + img_mask = cv::Mat::zeros(cv::Size(img_input.size().width, img_input.size().height), img_input.type()); + if(m_medianFilter.GetCheck() == BST_CHECKED) + cv::medianBlur(img_mask, img_mask, 5); + cv::resize(img_mask, img_mask_aux, default_size); + + cv::Mat img_bgk_aux; + if(img_bkg.empty()) + img_bkg = cv::Mat::zeros(cv::Size(img_input.size().width, img_input.size().height), img_input.type()); + cv::resize(img_bkg, img_bgk_aux, default_size); + + cv::imshow("INPUT", img_input_aux); + cv::imshow("MASK", img_mask_aux); + cv::imshow("BKG", img_bgk_aux); + + extern_input_filename = "outputs/input/" + boost::lexical_cast<std::string>(i)+".png"; + img_input.copyTo(extern_input_img); + if(m_saveFrame.GetCheck() == BST_CHECKED) + cv::imwrite(extern_input_filename, img_input); + + extern_fg_filename = "outputs/foreground/" + boost::lexical_cast<std::string>(i)+".png"; + img_mask.copyTo(extern_fg_img); + if(m_saveMask.GetCheck() == BST_CHECKED) + cv::imwrite(extern_fg_filename, img_mask); + + extern_bg_filename = "outputs/background/" + boost::lexical_cast<std::string>(i)+".png"; + img_bkg.copyTo(extern_bg_img); + if(m_saveBkg.GetCheck() == BST_CHECKED) + cv::imwrite(extern_bg_filename, img_bkg); + + strFrameNumber.Format(L"%d",i); + m_frameNumber.SetWindowTextW(strFrameNumber); + + //strExecTime.Format(_T("%.2f"), d.count()); + strExecTime.Format(_T("%d"), d.count()); + m_execTime.SetWindowTextW(strExecTime); + + ::Sleep(delay); + + }while(1); + + delete bgs; + + if(!useImgSeq) + cvReleaseCapture(&capture); + + //AfxMessageBox(L"Thread is finished!"); + m_log.SetWindowTextW(L"Finished!"); + started = false; +} + + +void CDlg::OnBnClickedStop() +{ + if(started) + { + m_log.SetWindowTextW(L"Stopping..."); + + StopThread(); + + if(!useImgSeq) + if(capture) + cvReleaseCapture(&capture); + + delete bgs; + bgs = NULL; + + m_log.SetWindowTextW(L"Stopped!"); + started = false; + } +} + +void CDlg::StopThread() +{ + DWORD exit_code = NULL; + + if(thread != NULL) + { + GetExitCodeThread(thread->m_hThread, &exit_code); + + if(exit_code == STILL_ACTIVE) + { + ::TerminateThread(thread->m_hThread, 0); + CloseHandle(thread->m_hThread); + } + + thread->m_hThread = NULL; + thread = NULL; + } +} + +void CDlg::OnBnClickedUseWebcam() +{ + if(m_useWebCam.GetCheck() == BST_CHECKED) + m_isImgSeq.SetCheck(BST_UNCHECKED); + + m_inputVideo.EnableFileBrowseButton(); +} + +void CDlg::OnBnClickedImgSeq() +{ + if(m_isImgSeq.GetCheck() == BST_CHECKED) + { + m_inputVideo.EnableFolderBrowseButton(); + m_useWebCam.SetCheck(BST_UNCHECKED); + } + else + { + m_startIdx.SetWindowTextW(L"0"); + m_stopIdx.SetWindowTextW(L"0"); + m_inputVideo.EnableFileBrowseButton(); + } +} + +void CDlg::OnBnClickedSave() +{ + if(m_saveFrame.GetCheck() == BST_CHECKED) + cv::imwrite(extern_input_filename, extern_input_img); + + if(m_saveMask.GetCheck() == BST_CHECKED) + cv::imwrite(extern_fg_filename, extern_fg_img); + + if(m_saveBkg.GetCheck() == BST_CHECKED) + cv::imwrite(extern_bg_filename, extern_bg_img); + + m_log.SetWindowTextW(L"OK! Saved!"); +} diff --git a/vs2010mfc/src/Dlg.h b/vs2010mfc/src/Dlg.h new file mode 100644 index 0000000000000000000000000000000000000000..479d7271be837a490bf17915279e371f41461e85 --- /dev/null +++ b/vs2010mfc/src/Dlg.h @@ -0,0 +1,92 @@ + +// Dlg.h : header file +// + +#pragma once +#include "stdafx.h" +#include "afxwin.h" +#include "afxcmn.h" + +// CDlg dialog +class CDlg : public CDialogEx +{ +// Construction +public: + CDlg(CWnd* pParent = NULL); // standard constructor + +// Dialog Data + enum { IDD = IDD_APP }; + + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + + +// Implementation +protected: + HICON m_hIcon; + + // Generated message map functions + virtual BOOL OnInitDialog(); + afx_msg void OnSysCommand(UINT nID, LPARAM lParam); + afx_msg void OnPaint(); + afx_msg HCURSOR OnQueryDragIcon(); + DECLARE_MESSAGE_MAP() + +private: + bool started; + CWinThread* thread; + CvCapture* capture; + IBGS* bgs; + CString methodName; + CString fileType; + bool useWebCam; + bool useImgSeq; + int webCamIndex; + int startIdx; + int stopIdx; + int extern_i; + std::string extern_input_filename; + cv::Mat extern_input_img; + std::string extern_fg_filename; + cv::Mat extern_fg_img; + std::string extern_bg_filename; + cv::Mat extern_bg_img; + + CString filePath; + +public: + afx_msg void ThreadProcess(); + static DWORD Thread(LPVOID *x); + afx_msg void StopThread(); + afx_msg bool ipDraw(HDC hdc, IplImage* img, int xoffset=0, int yoffset=0); + +public: + void addBgsList(); + bool getBgsMethodName(); + CComboBox m_bgslist; + afx_msg void OnBnClickedStart(); + CStatic m_log; + CMFCEditBrowseCtrl m_inputVideo; + bool getInputVideoFilePath(); + CButton m_useWebCam; + afx_msg void OnBnClickedStop(); + CSpinButtonCtrl m_spinWebCamIndex; + CEdit m_webCamIndex; + CStatic m_frameNumber; + CButton m_saveFrame; + CButton m_saveMask; + CButton m_saveBkg; + CButton m_isImgSeq; + CEdit m_startIdx; + CEdit m_stopIdx; + CComboBox m_fileTypeList; + bool getFileType(); + CSpinButtonCtrl m_spinStartIdx; + CSpinButtonCtrl m_spinStopIdx; + afx_msg void OnBnClickedUseWebcam(); + afx_msg void OnBnClickedImgSeq(); + CEdit m_delay; + CStatic m_execTime; + CButton m_medianFilter; + afx_msg void OnBnClickedSave(); +}; diff --git a/vs2010mfc/src/ReadMe.txt b/vs2010mfc/src/ReadMe.txt new file mode 100644 index 0000000000000000000000000000000000000000..6c7fde03e015240ce34101fd9d65e3e2fa76f3f6 --- /dev/null +++ b/vs2010mfc/src/ReadMe.txt @@ -0,0 +1,100 @@ +================================================================================ + MICROSOFT FOUNDATION CLASS LIBRARY : bgslibrary_vs2010_mfc Project Overview +=============================================================================== + +The application wizard has created this bgslibrary_vs2010_mfc application for +you. This application not only demonstrates the basics of using the Microsoft +Foundation Classes but is also a starting point for writing your application. + +This file contains a summary of what you will find in each of the files that +make up your bgslibrary_vs2010_mfc application. + +bgslibrary_vs2010_mfc.vcxproj + This is the main project file for VC++ projects generated using an application wizard. + It contains information about the version of Visual C++ that generated the file, and + information about the platforms, configurations, and project features selected with the + application wizard. + +bgslibrary_vs2010_mfc.vcxproj.filters + This is the filters file for VC++ projects generated using an Application Wizard. + It contains information about the association between the files in your project + and the filters. This association is used in the IDE to show grouping of files with + similar extensions under a specific node (for e.g. ".cpp" files are associated with the + "Source Files" filter). + +bgslibrary_vs2010_mfc.h + This is the main header file for the application. It includes other + project specific headers (including Resource.h) and declares the + CApp application class. + +bgslibrary_vs2010_mfc.cpp + This is the main application source file that contains the application + class CApp. + +bgslibrary_vs2010_mfc.rc + This is a listing of all of the Microsoft Windows resources that the + program uses. It includes the icons, bitmaps, and cursors that are stored + in the RES subdirectory. This file can be directly edited in Microsoft + Visual C++. Your project resources are in 1033. + +res\bgslibrary_vs2010_mfc.ico + This is an icon file, which is used as the application's icon. This + icon is included by the main resource file bgslibrary_vs2010_mfc.rc. + +res\bgslibrary_vs2010_mfc.rc2 + This file contains resources that are not edited by Microsoft + Visual C++. You should place all resources not editable by + the resource editor in this file. + + +///////////////////////////////////////////////////////////////////////////// + +The application wizard creates one dialog class: + +Dlg.h, Dlg.cpp - the dialog + These files contain your CDlg class. This class defines + the behavior of your application's main dialog. The dialog's template is + in bgslibrary_vs2010_mfc.rc, which can be edited in Microsoft Visual C++. + + +///////////////////////////////////////////////////////////////////////////// + +Other Features: + +ActiveX Controls + The application includes support to use ActiveX controls. + +///////////////////////////////////////////////////////////////////////////// + +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named bgslibrary_vs2010_mfc.pch and a precompiled types file named StdAfx.obj. + +Resource.h + This is the standard header file, which defines new resource IDs. + Microsoft Visual C++ reads and updates this file. + +bgslibrary_vs2010_mfc.manifest + Application manifest files are used by Windows XP to describe an applications + dependency on specific versions of Side-by-Side assemblies. The loader uses this + information to load the appropriate assembly from the assembly cache or private + from the application. The Application manifest maybe included for redistribution + as an external .manifest file that is installed in the same folder as the application + executable or it may be included in the executable in the form of a resource. +///////////////////////////////////////////////////////////////////////////// + +Other notes: + +The application wizard uses "TODO:" to indicate parts of the source code you +should add to or customize. + +If your application uses MFC in a shared DLL, you will need +to redistribute the MFC DLLs. If your application is in a language +other than the operating system's locale, you will also have to +redistribute the corresponding localized resources MFC100XXX.DLL. +For more information on both of these topics, please see the section on +redistributing Visual C++ applications in MSDN documentation. + +///////////////////////////////////////////////////////////////////////////// diff --git a/vs2010mfc/src/bgslibrary_vs2010_mfc.rc b/vs2010mfc/src/bgslibrary_vs2010_mfc.rc new file mode 100644 index 0000000000000000000000000000000000000000..a5c55ee59739b14d6bed0fe26c5ae16b963b01ed --- /dev/null +++ b/vs2010mfc/src/bgslibrary_vs2010_mfc.rc @@ -0,0 +1,258 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#ifndef APSTUDIO_INVOKED +#include "targetver.h" +#endif +#include "afxres.h" +#include "verrsrc.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_ABOUTBOX DIALOGEX 0, 0, 170, 62 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About MFC BGSLibrary" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + ICON IDR_MAINFRAME,IDC_STATIC,14,14,20,20 + LTEXT "MFC BGSLibrary, Version 1.4.2",IDC_STATIC,42,14,114,8,SS_NOPREFIX + LTEXT "Copyright (C) 2014",IDC_STATIC,42,26,114,8 + DEFPUSHBUTTON "OK",IDOK,113,41,50,14,WS_GROUP +END + +IDD_APP DIALOGEX 0, 0, 505, 257 +STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "BGSLibrary MFC GUI" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + DEFPUSHBUTTON "Start",IDSTART,390,236,50,14 + PUSHBUTTON "Stop",IDSTOP,448,236,50,14 + LTEXT "Background Subtraction Method:",IDC_STATIC,7,7,106,8 + COMBOBOX IDC_COMBO_BGSLIST,7,20,111,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + LTEXT "Log:",IDC_LOG,7,242,310,8 + LTEXT "Input (video file or image sequence):",IDC_STATIC,130,7,119,8 + CONTROL "",IDC_INPUT_VIDEO,"MfcEditBrowse",WS_BORDER | WS_TABSTOP | 0x80,130,20,361,14 + CONTROL "",IDC_FRAME_INPUT,"Static",SS_BLACKFRAME | SS_CENTERIMAGE | SS_REALSIZEIMAGE | WS_BORDER,7,69,160,120 + CTEXT "Input",IDC_STATIC,7,58,160,8 + CONTROL "",IDC_FRAME_MASK,"Static",SS_BLACKFRAME | SS_CENTERIMAGE | SS_REALSIZEIMAGE | WS_BORDER,170,69,160,120 + CTEXT "Foreground Mask",IDC_STATIC,170,58,160,8 + CONTROL "Use Web Camera",IDC_USE_WEBCAM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,40,69,10 + EDITTEXT IDC_EDIT_WEBCAM_INDEX,77,39,33,14,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SPIN_WEBCAM_INDEX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,99,39,11,14 + LTEXT "Frame number:",IDC_TEXT_FRAME_NUMBER,45,221,50,8 + RTEXT "0",IDC_FRAME_NUMBER,97,221,35,8 + CONTROL "",IDC_FRAME_BKG,"Static",SS_BLACKFRAME | WS_BORDER,333,69,160,120 + CTEXT "Background Model",IDC_STATIC,333,58,160,8 + CONTROL "Save input frames",IDC_SAVE_FRAME,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,74,10 + CONTROL "Save foreground masks",IDC_SAVE_MASK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,170,191,91,10 + CONTROL "Save background models",IDC_SAVE_BKG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,333,191,95,10 + CONTROL "The input is a sequence of images?",IDC_IMG_SEQ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,130,40,127,10 + LTEXT "Start index:",IDC_STATIC,257,40,39,8 + EDITTEXT IDC_EDIT_START_IDX,295,38,40,14,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SPIN_START_IDX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,323,38,10,14 + LTEXT "Stop index:",IDC_STATIC,341,40,38,8 + EDITTEXT IDC_EDIT_STOP_IDX,378,38,40,14,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "",IDC_SPIN_STOP_IDX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,407,38,10,14 + LTEXT "File type:",IDC_STATIC,424,40,31,8 + COMBOBOX IDC_COMBO_FILE_TYPE,456,38,35,19,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP + LTEXT "Delay:",IDC_STATIC,73,207,22,8 + EDITTEXT IDC_EDIT_DELAY,97,205,32,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER + LTEXT "ms",IDC_STATIC,132,207,10,8 + CONTROL "Median filter",IDC_MEDIAN_FILTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,265,191,55,10 + LTEXT "Execution time (ms/frame):",IDC_STATIC,7,232,88,8 + RTEXT "0",IDC_EXEC_TIME,97,233,35,8 + PUSHBUTTON "Save Results",IDSAVE,331,236,50,14 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x1L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "BGSLibrary" + VALUE "FileDescription", "bgslibrary_vs2010_mfc" + VALUE "FileVersion", "1.0.0.1" + VALUE "InternalName", "bgslibrary_vs2010_mfc.exe" + VALUE "LegalCopyright", "TODO: (c) MFC BGSLibrary. All rights reserved." + VALUE "OriginalFilename", "bgslibrary_vs2010_mfc.exe" + VALUE "ProductName", "MFC BGSLibrary" + VALUE "ProductVersion", "1.0.0.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_ABOUTBOX, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 163 + TOPMARGIN, 7 + BOTTOMMARGIN, 55 + END + + IDD_APP, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 498 + TOPMARGIN, 7 + BOTTOMMARGIN, 250 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog Info +// + +IDD_APP DLGINIT +BEGIN + IDC_INPUT_VIDEO, 0x37c, 42, 0 +0x4d3c, 0x4346, 0x6445, 0x7469, 0x7242, 0x776f, 0x6573, 0x4d5f, 0x646f, +0x3e65, 0x3c31, 0x4d2f, 0x4346, 0x6445, 0x7469, 0x7242, 0x776f, 0x6573, +0x4d5f, 0x646f, 0x3e65, + 0 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_ABOUTBOX "&About MFC BGSLibrary..." +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// Portuguese (Brazil) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PTB) +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#ifndef APSTUDIO_INVOKED\r\n" + "#include ""targetver.h""\r\n" + "#endif\r\n" + "#include ""afxres.h""\r\n" + "#include ""verrsrc.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "LANGUAGE 9, 1\r\n" + "#include ""res\\bgslibrary_vs2010_mfc.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDR_MAINFRAME ICON "res\\bgslibrary_vs2010_mfc.ico" +#endif // Portuguese (Brazil) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE 9, 1 +#include "res\bgslibrary_vs2010_mfc.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/vs2010mfc/src/bgslibrary_vs2010_mfc.sln b/vs2010mfc/src/bgslibrary_vs2010_mfc.sln new file mode 100644 index 0000000000000000000000000000000000000000..f082581f1fd0405b195a65ebb6f6c52e847782c3 --- /dev/null +++ b/vs2010mfc/src/bgslibrary_vs2010_mfc.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bgslibrary_vs2010_mfc", "bgslibrary_vs2010_mfc.vcxproj", "{236E77EE-00D6-4B4E-80C7-C38847B1B60E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {236E77EE-00D6-4B4E-80C7-C38847B1B60E}.Debug|Win32.ActiveCfg = Debug|Win32 + {236E77EE-00D6-4B4E-80C7-C38847B1B60E}.Debug|Win32.Build.0 = Debug|Win32 + {236E77EE-00D6-4B4E-80C7-C38847B1B60E}.Release|Win32.ActiveCfg = Release|Win32 + {236E77EE-00D6-4B4E-80C7-C38847B1B60E}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/vs2010mfc/src/bgslibrary_vs2010_mfc.v12.suo b/vs2010mfc/src/bgslibrary_vs2010_mfc.v12.suo new file mode 100644 index 0000000000000000000000000000000000000000..dde25911dbe9553c86ec3483e9f01294bcef873b Binary files /dev/null and b/vs2010mfc/src/bgslibrary_vs2010_mfc.v12.suo differ diff --git a/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj b/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj new file mode 100644 index 0000000000000000000000000000000000000000..1ed007d81a93f2a9df418151d5ca8fa2aeea5ab6 --- /dev/null +++ b/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj @@ -0,0 +1,296 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{236E77EE-00D6-4B4E-80C7-C38847B1B60E}</ProjectGuid> + <RootNamespace>bgslibrary_vs2010_mfc</RootNamespace> + <Keyword>MFCProj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + <UseOfMfc>Static</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + <UseOfMfc>Static</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>../</OutDir> + <TargetName>mfc_bgslibrary</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>Use</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + <Midl> + <MkTypLibCompatible>false</MkTypLibCompatible> + <ValidateAllParameters>true</ValidateAllParameters> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </Midl> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>C:\OpenCV2.4.10\build\include;C:\OpenCV2.4.10\build\include\opencv;C:\boost_1_55_0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <AdditionalDependencies>C:\OpenCV2.4.10\build\x86\vc10\staticlib\*.lib;C:\boost_1_55_0\stage32\lib\vc10\*.lib;comctl32.lib;VFW32.lib;uafxcw.lib;LIBCMT.lib;%(AdditionalDependencies)</AdditionalDependencies> + <ShowProgress>NotSet</ShowProgress> + <IgnoreSpecificDefaultLibraries>uafxcw.lib;LIBCMT.lib</IgnoreSpecificDefaultLibraries> + </Link> + <Midl> + <MkTypLibCompatible>false</MkTypLibCompatible> + <ValidateAllParameters>true</ValidateAllParameters> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </Midl> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_1ch.i" /> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_3ch1t.i" /> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_3ch3t.i" /> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_s3ch.i" /> + <None Include="ReadMe.txt" /> + <None Include="res\bgslibrary_vs2010_mfc.ico" /> + <None Include="res\bgslibrary_vs2010_mfc.rc2" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\package_bgs\pl\BackgroundSubtractorLBSP.h" /> + <ClInclude Include="..\..\package_bgs\pl\BackgroundSubtractorLOBSTER.h" /> + <ClInclude Include="..\..\package_bgs\pl\BackgroundSubtractorSuBSENSE.h" /> + <ClInclude Include="..\..\package_bgs\pl\DistanceUtils.h" /> + <ClInclude Include="..\..\package_bgs\pl\LBSP.h" /> + <ClInclude Include="..\..\package_bgs\pl\LOBSTER.h" /> + <ClInclude Include="..\..\package_bgs\pl\RandUtils.h" /> + <ClInclude Include="..\..\package_bgs\pl\SuBSENSE.h" /> + <ClInclude Include="App.h" /> + <ClInclude Include="Dlg.h" /> + <ClInclude Include="..\..\package_bgs\AdaptiveBackgroundLearning.h" /> + <ClInclude Include="..\..\package_bgs\AdaptiveSelectiveBackgroundLearning.h" /> + <ClInclude Include="..\..\package_bgs\ae\KDE.h" /> + <ClInclude Include="..\..\package_bgs\ae\KernelTable.h" /> + <ClInclude Include="..\..\package_bgs\ae\NPBGmodel.h" /> + <ClInclude Include="..\..\package_bgs\ae\NPBGSubtractor.h" /> + <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" /> + <ClInclude Include="..\..\package_bgs\dp\Bgs.h" /> + <ClInclude Include="..\..\package_bgs\dp\BgsParams.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPAdaptiveMedianBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPEigenbackgroundBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPGrimsonGMMBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPMeanBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPPratiMediodBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPTextureBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPWrenGABGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\DPZivkovicAGMMBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\Eigenbackground.h" /> + <ClInclude Include="..\..\package_bgs\dp\Error.h" /> + <ClInclude Include="..\..\package_bgs\dp\GrimsonGMM.h" /> + <ClInclude Include="..\..\package_bgs\dp\Image.h" /> + <ClInclude Include="..\..\package_bgs\dp\MeanBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\PratiMediodBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\TextureBGS.h" /> + <ClInclude Include="..\..\package_bgs\dp\WrenGA.h" /> + <ClInclude Include="..\..\package_bgs\dp\ZivkovicAGMM.h" /> + <ClInclude Include="..\..\package_bgs\FrameDifferenceBGS.h" /> + <ClInclude Include="..\..\package_bgs\GMG.h" /> + <ClInclude Include="..\..\package_bgs\IBGS.h" /> + <ClInclude Include="..\..\package_bgs\jmo\BackgroundSubtractionAPI.h" /> + <ClInclude Include="..\..\package_bgs\jmo\BGS.h" /> + <ClInclude Include="..\..\package_bgs\jmo\blob.h" /> + <ClInclude Include="..\..\package_bgs\jmo\BlobExtraction.h" /> + <ClInclude Include="..\..\package_bgs\jmo\BlobLibraryConfiguration.h" /> + <ClInclude Include="..\..\package_bgs\jmo\BlobResult.h" /> + <ClInclude Include="..\..\package_bgs\jmo\CMultiLayerBGS.h" /> + <ClInclude Include="..\..\package_bgs\jmo\LocalBinaryPattern.h" /> + <ClInclude Include="..\..\package_bgs\jmo\MultiLayerBGS.h" /> + <ClInclude Include="..\..\package_bgs\jmo\OpenCvDataConversion.h" /> + <ClInclude Include="..\..\package_bgs\lb\BGModel.h" /> + <ClInclude Include="..\..\package_bgs\lb\BGModelFuzzyGauss.h" /> + <ClInclude Include="..\..\package_bgs\lb\BGModelFuzzySom.h" /> + <ClInclude Include="..\..\package_bgs\lb\BGModelGauss.h" /> + <ClInclude Include="..\..\package_bgs\lb\BGModelMog.h" /> + <ClInclude Include="..\..\package_bgs\lb\BGModelSom.h" /> + <ClInclude Include="..\..\package_bgs\lb\LBAdaptiveSOM.h" /> + <ClInclude Include="..\..\package_bgs\lb\LBFuzzyAdaptiveSOM.h" /> + <ClInclude Include="..\..\package_bgs\lb\LBFuzzyGaussian.h" /> + <ClInclude Include="..\..\package_bgs\lb\LBMixtureOfGaussians.h" /> + <ClInclude Include="..\..\package_bgs\lb\LBSimpleGaussian.h" /> + <ClInclude Include="..\..\package_bgs\lb\Types.h" /> + <ClInclude Include="..\..\package_bgs\MixtureOfGaussianV1BGS.h" /> + <ClInclude Include="..\..\package_bgs\MixtureOfGaussianV2BGS.h" /> + <ClInclude Include="..\..\package_bgs\sjn\SJN_MultiCueBGS.h" /> + <ClInclude Include="..\..\package_bgs\StaticFrameDifferenceBGS.h" /> + <ClInclude Include="..\..\package_bgs\tb\FuzzyChoquetIntegral.h" /> + <ClInclude Include="..\..\package_bgs\tb\FuzzySugenoIntegral.h" /> + <ClInclude Include="..\..\package_bgs\tb\FuzzyUtils.h" /> + <ClInclude Include="..\..\package_bgs\tb\MRF.h" /> + <ClInclude Include="..\..\package_bgs\tb\PerformanceUtils.h" /> + <ClInclude Include="..\..\package_bgs\tb\PixelUtils.h" /> + <ClInclude Include="..\..\package_bgs\tb\T2FGMM.h" /> + <ClInclude Include="..\..\package_bgs\tb\T2FGMM_UM.h" /> + <ClInclude Include="..\..\package_bgs\tb\T2FGMM_UV.h" /> + <ClInclude Include="..\..\package_bgs\tb\T2FMRF.h" /> + <ClInclude Include="..\..\package_bgs\tb\T2FMRF_UM.h" /> + <ClInclude Include="..\..\package_bgs\tb\T2FMRF_UV.h" /> + <ClInclude Include="..\..\package_bgs\WeightedMovingMeanBGS.h" /> + <ClInclude Include="..\..\package_bgs\WeightedMovingVarianceBGS.h" /> + <ClInclude Include="Resource.h" /> + <ClInclude Include="stdafx.h" /> + <ClInclude Include="targetver.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\package_bgs\pl\BackgroundSubtractorLBSP.cpp" /> + <ClCompile Include="..\..\package_bgs\pl\BackgroundSubtractorLOBSTER.cpp" /> + <ClCompile Include="..\..\package_bgs\pl\BackgroundSubtractorSuBSENSE.cpp" /> + <ClCompile Include="..\..\package_bgs\pl\LBSP.cpp" /> + <ClCompile Include="..\..\package_bgs\pl\LOBSTER.cpp" /> + <ClCompile Include="..\..\package_bgs\pl\SuBSENSE.cpp" /> + <ClCompile Include="App.cpp" /> + <ClCompile Include="Dlg.cpp" /> + <ClCompile Include="..\..\package_bgs\AdaptiveBackgroundLearning.cpp" /> + <ClCompile Include="..\..\package_bgs\AdaptiveSelectiveBackgroundLearning.cpp" /> + <ClCompile Include="..\..\package_bgs\ae\KDE.cpp" /> + <ClCompile Include="..\..\package_bgs\ae\KernelTable.cpp" /> + <ClCompile Include="..\..\package_bgs\ae\NPBGmodel.cpp" /> + <ClCompile Include="..\..\package_bgs\ae\NPBGSubtractor.cpp" /> + <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" /> + <ClCompile Include="..\..\package_bgs\dp\DPAdaptiveMedianBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPEigenbackgroundBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPGrimsonGMMBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPMeanBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPPratiMediodBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPTextureBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPWrenGABGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\DPZivkovicAGMMBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\Eigenbackground.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\Error.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\GrimsonGMM.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\Image.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\MeanBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\PratiMediodBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\TextureBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\WrenGA.cpp" /> + <ClCompile Include="..\..\package_bgs\dp\ZivkovicAGMM.cpp" /> + <ClCompile Include="..\..\package_bgs\FrameDifferenceBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\GMG.cpp" /> + <ClCompile Include="..\..\package_bgs\jmo\blob.cpp" /> + <ClCompile Include="..\..\package_bgs\jmo\BlobExtraction.cpp" /> + <ClCompile Include="..\..\package_bgs\jmo\BlobResult.cpp" /> + <ClCompile Include="..\..\package_bgs\jmo\CMultiLayerBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\jmo\LocalBinaryPattern.cpp" /> + <ClCompile Include="..\..\package_bgs\jmo\MultiLayerBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\BGModel.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\BGModelFuzzyGauss.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\BGModelFuzzySom.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\BGModelGauss.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\BGModelMog.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\BGModelSom.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\LBAdaptiveSOM.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\LBFuzzyAdaptiveSOM.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\LBFuzzyGaussian.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\LBMixtureOfGaussians.cpp" /> + <ClCompile Include="..\..\package_bgs\lb\LBSimpleGaussian.cpp" /> + <ClCompile Include="..\..\package_bgs\MixtureOfGaussianV1BGS.cpp" /> + <ClCompile Include="..\..\package_bgs\MixtureOfGaussianV2BGS.cpp" /> + <ClCompile Include="..\..\package_bgs\sjn\SJN_MultiCueBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\StaticFrameDifferenceBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\FuzzyChoquetIntegral.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\FuzzySugenoIntegral.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\FuzzyUtils.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\MRF.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\PerformanceUtils.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\PixelUtils.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\T2FGMM.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\T2FGMM_UM.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\T2FGMM_UV.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\T2FMRF.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\T2FMRF_UM.cpp" /> + <ClCompile Include="..\..\package_bgs\tb\T2FMRF_UV.cpp" /> + <ClCompile Include="..\..\package_bgs\WeightedMovingMeanBGS.cpp" /> + <ClCompile Include="..\..\package_bgs\WeightedMovingVarianceBGS.cpp" /> + <ClCompile Include="stdafx.cpp"> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="bgslibrary_vs2010_mfc.rc" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> + <ProjectExtensions> + <VisualStudio> + <UserProperties RESOURCE_FILE="bgslibrary_vs2010_mfc.rc" /> + </VisualStudio> + </ProjectExtensions> +</Project> \ No newline at end of file diff --git a/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj.filters b/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj.filters new file mode 100644 index 0000000000000000000000000000000000000000..28d979dd3d0204fa3d2b913eb231e03c20dc1944 --- /dev/null +++ b/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj.filters @@ -0,0 +1,581 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + <Filter Include="Header Files\package_bgs"> + <UniqueIdentifier>{be6b45b0-e96c-4347-a65e-a72506b4195f}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\av"> + <UniqueIdentifier>{c4756493-26d9-46f4-93d6-024b4d1ca61a}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\dp"> + <UniqueIdentifier>{a3dff805-136a-4fc5-a8e9-a7eadebcd6f2}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\jmo"> + <UniqueIdentifier>{d9c40f02-d18f-46bb-a956-522e83a8a2e7}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\lb"> + <UniqueIdentifier>{77576fcd-de50-4205-8072-cb25a1aab145}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\tb"> + <UniqueIdentifier>{50f16e47-ef1d-46b0-a0cb-f7c07599cd21}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\ae"> + <UniqueIdentifier>{704bbcb4-9bbe-4fe1-8a80-78ee8d7f49c5}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\sjn"> + <UniqueIdentifier>{d365878b-8639-4bfd-8008-adb158c9cd8b}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\db"> + <UniqueIdentifier>{f7961eef-2755-4712-a9b7-1b840b7936b1}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\bl"> + <UniqueIdentifier>{e23418b4-562b-41ae-bd15-e9ad45ece1d1}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\package_bgs\pl"> + <UniqueIdentifier>{2a0f8129-33e2-4829-a112-edba4c8f5ef6}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <None Include="ReadMe.txt" /> + <None Include="res\bgslibrary_vs2010_mfc.rc2"> + <Filter>Resource Files</Filter> + </None> + <None Include="res\bgslibrary_vs2010_mfc.ico"> + <Filter>Resource Files</Filter> + </None> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_1ch.i"> + <Filter>Header Files\package_bgs\pl</Filter> + </None> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_3ch1t.i"> + <Filter>Header Files\package_bgs\pl</Filter> + </None> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_3ch3t.i"> + <Filter>Header Files\package_bgs\pl</Filter> + </None> + <None Include="..\..\package_bgs\pl\LBSP_16bits_dbcross_s3ch.i"> + <Filter>Header Files\package_bgs\pl</Filter> + </None> + </ItemGroup> + <ItemGroup> + <ClInclude Include="Dlg.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="stdafx.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="targetver.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="Resource.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="App.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\AdaptiveBackgroundLearning.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\FrameDifferenceBGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\GMG.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\IBGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\MixtureOfGaussianV1BGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\MixtureOfGaussianV2BGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\StaticFrameDifferenceBGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\WeightedMovingMeanBGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\WeightedMovingVarianceBGS.h"> + <Filter>Header Files\package_bgs</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\av\TBackground.h"> + <Filter>Header Files\package_bgs\av</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\av\TBackgroundVuMeter.h"> + <Filter>Header Files\package_bgs\av</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\av\VuMeter.h"> + <Filter>Header Files\package_bgs\av</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\BackgroundSubtractionAPI.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\BGS.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\blob.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\BlobExtraction.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\BlobLibraryConfiguration.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\BlobResult.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\CMultiLayerBGS.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\LocalBinaryPattern.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\MultiLayerBGS.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\jmo\OpenCvDataConversion.h"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\BGModel.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\BGModelFuzzyGauss.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\BGModelFuzzySom.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\BGModelGauss.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\BGModelMog.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\BGModelSom.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\LBAdaptiveSOM.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\LBFuzzyAdaptiveSOM.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\LBFuzzyGaussian.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\LBMixtureOfGaussians.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\LBSimpleGaussian.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\lb\Types.h"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\FuzzyChoquetIntegral.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\FuzzySugenoIntegral.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\FuzzyUtils.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\MRF.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\PerformanceUtils.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\PixelUtils.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\T2FGMM.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\T2FGMM_UM.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\T2FGMM_UV.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\T2FMRF.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\T2FMRF_UM.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\tb\T2FMRF_UV.h"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\ae\KDE.h"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\ae\KernelTable.h"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\ae\NPBGmodel.h"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\ae\NPBGSubtractor.h"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\AdaptiveMedianBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\Bgs.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\BgsParams.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPAdaptiveMedianBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPEigenbackgroundBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPGrimsonGMMBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPMeanBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPPratiMediodBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPTextureBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPWrenGABGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\DPZivkovicAGMMBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\Eigenbackground.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\Error.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\GrimsonGMM.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\Image.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\MeanBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\PratiMediodBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\TextureBGS.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\WrenGA.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\dp\ZivkovicAGMM.h"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\sjn\SJN_MultiCueBGS.h"> + <Filter>Header Files\package_bgs\sjn</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\db\imbs.hpp"> + <Filter>Header Files\package_bgs\db</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\db\IndependentMultimodalBGS.h"> + <Filter>Header Files\package_bgs\db</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\AdaptiveSelectiveBackgroundLearning.h"> + <Filter>Header Files\package_bgs</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> + <ClInclude Include="..\..\package_bgs\pl\BackgroundSubtractorLBSP.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\BackgroundSubtractorLOBSTER.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\BackgroundSubtractorSuBSENSE.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\DistanceUtils.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\LBSP.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\LOBSTER.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\RandUtils.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + <ClInclude Include="..\..\package_bgs\pl\SuBSENSE.h"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ClCompile Include="Dlg.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="stdafx.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="App.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\AdaptiveBackgroundLearning.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\FrameDifferenceBGS.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\GMG.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\MixtureOfGaussianV1BGS.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\MixtureOfGaussianV2BGS.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\StaticFrameDifferenceBGS.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\WeightedMovingMeanBGS.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\WeightedMovingVarianceBGS.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\av\TBackground.cpp"> + <Filter>Header Files\package_bgs\av</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\av\TBackgroundVuMeter.cpp"> + <Filter>Header Files\package_bgs\av</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\av\VuMeter.cpp"> + <Filter>Header Files\package_bgs\av</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\jmo\blob.cpp"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\jmo\BlobExtraction.cpp"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\jmo\BlobResult.cpp"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\jmo\CMultiLayerBGS.cpp"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\jmo\LocalBinaryPattern.cpp"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\jmo\MultiLayerBGS.cpp"> + <Filter>Header Files\package_bgs\jmo</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\BGModel.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\BGModelFuzzyGauss.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\BGModelFuzzySom.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\BGModelGauss.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\BGModelMog.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\BGModelSom.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\LBAdaptiveSOM.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\LBFuzzyAdaptiveSOM.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\LBFuzzyGaussian.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\LBMixtureOfGaussians.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\lb\LBSimpleGaussian.cpp"> + <Filter>Header Files\package_bgs\lb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\FuzzyChoquetIntegral.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\FuzzySugenoIntegral.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\FuzzyUtils.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\MRF.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\PerformanceUtils.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\PixelUtils.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\T2FGMM.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\T2FGMM_UM.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\T2FGMM_UV.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\T2FMRF.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\T2FMRF_UM.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\tb\T2FMRF_UV.cpp"> + <Filter>Header Files\package_bgs\tb</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\ae\KDE.cpp"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\ae\KernelTable.cpp"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\ae\NPBGmodel.cpp"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\ae\NPBGSubtractor.cpp"> + <Filter>Header Files\package_bgs\ae</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\AdaptiveMedianBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPAdaptiveMedianBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPEigenbackgroundBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPGrimsonGMMBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPMeanBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPPratiMediodBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPTextureBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPWrenGABGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\DPZivkovicAGMMBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\Eigenbackground.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\Error.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\GrimsonGMM.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\Image.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\MeanBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\PratiMediodBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\TextureBGS.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\WrenGA.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\dp\ZivkovicAGMM.cpp"> + <Filter>Header Files\package_bgs\dp</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\sjn\SJN_MultiCueBGS.cpp"> + <Filter>Header Files\package_bgs\sjn</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\db\imbs.cpp"> + <Filter>Header Files\package_bgs\db</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\db\IndependentMultimodalBGS.cpp"> + <Filter>Header Files\package_bgs\db</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\AdaptiveSelectiveBackgroundLearning.cpp"> + <Filter>Header Files\package_bgs</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\bl\sdLaMa091.cpp"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\bl\SigmaDeltaBGS.cpp"> + <Filter>Header Files\package_bgs\bl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\pl\BackgroundSubtractorLBSP.cpp"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\pl\BackgroundSubtractorLOBSTER.cpp"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\pl\BackgroundSubtractorSuBSENSE.cpp"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\pl\LBSP.cpp"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\pl\LOBSTER.cpp"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClCompile> + <ClCompile Include="..\..\package_bgs\pl\SuBSENSE.cpp"> + <Filter>Header Files\package_bgs\pl</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="bgslibrary_vs2010_mfc.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj.user b/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj.user new file mode 100644 index 0000000000000000000000000000000000000000..882b48c8d7ec68d8f657f496796212ce80d27ea7 --- /dev/null +++ b/vs2010mfc/src/bgslibrary_vs2010_mfc.vcxproj.user @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <LocalDebuggerWorkingDirectory>../</LocalDebuggerWorkingDirectory> + <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor> + </PropertyGroup> +</Project> \ No newline at end of file diff --git a/vs2010mfc/bgslibrary_vs2010_mfc.aps b/vs2010mfc/src/res/bgslibrary_vs2010_mfc.ico similarity index 54% rename from vs2010mfc/bgslibrary_vs2010_mfc.aps rename to vs2010mfc/src/res/bgslibrary_vs2010_mfc.ico index 8686b15558a5ee61c91ac09c35ce34241894708a..d56fbcdfdf6eac0f4727c34770c26689271d96af 100644 Binary files a/vs2010mfc/bgslibrary_vs2010_mfc.aps and b/vs2010mfc/src/res/bgslibrary_vs2010_mfc.ico differ diff --git a/vs2010mfc/src/res/bgslibrary_vs2010_mfc.rc2 b/vs2010mfc/src/res/bgslibrary_vs2010_mfc.rc2 new file mode 100644 index 0000000000000000000000000000000000000000..bfac6f89e0e07bded3d8651aca58403a1c237f40 --- /dev/null +++ b/vs2010mfc/src/res/bgslibrary_vs2010_mfc.rc2 @@ -0,0 +1,13 @@ +// +// bgslibrary_vs2010_mfc.RC2 - resources Microsoft Visual C++ does not edit directly +// + +#ifdef APSTUDIO_INVOKED +#error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// Add manually edited resources here... + +///////////////////////////////////////////////////////////////////////////// diff --git a/vs2010mfc/src/resource.h b/vs2010mfc/src/resource.h new file mode 100644 index 0000000000000000000000000000000000000000..606dd8c2eebd167158db80652c82fc50419d8ec6 Binary files /dev/null and b/vs2010mfc/src/resource.h differ diff --git a/vs2010mfc/src/stdafx.cpp b/vs2010mfc/src/stdafx.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9e260e7224cab759fbfae5b285437dcdec4e40db --- /dev/null +++ b/vs2010mfc/src/stdafx.cpp @@ -0,0 +1,8 @@ + +// stdafx.cpp : source file that includes just the standard includes +// bgslibrary_vs2010_mfc.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + + diff --git a/vs2010mfc/src/stdafx.h b/vs2010mfc/src/stdafx.h new file mode 100644 index 0000000000000000000000000000000000000000..4d734a9e557b27d0ff404d1ae85769b66c6e890e --- /dev/null +++ b/vs2010mfc/src/stdafx.h @@ -0,0 +1,104 @@ + +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, +// but are changed infrequently + +#pragma once + +#ifndef _SECURE_ATL +#define _SECURE_ATL 1 +#endif + +#ifndef VC_EXTRALEAN +#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers +#endif + +#include "targetver.h" + +#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit + +// turns off MFC's hiding of some common and often safely ignored warning messages +#define _AFX_ALL_WARNINGS + +#include <afxwin.h> // MFC core and standard components +#include <afxext.h> // MFC extensions + + +#include <afxdisp.h> // MFC Automation classes + + + +#ifndef _AFX_NO_OLE_SUPPORT +#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls +#endif +#ifndef _AFX_NO_AFXCMN_SUPPORT +#include <afxcmn.h> // MFC support for Windows Common Controls +#endif // _AFX_NO_AFXCMN_SUPPORT + +#include <afxcontrolbars.h> // MFC support for ribbons and control bars + +#ifdef _UNICODE +#if defined _M_IX86 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") +#elif defined _M_X64 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") +#else +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") +#endif +#endif + +#include <boost/lexical_cast.hpp> +#include <boost/chrono.hpp> +typedef boost::chrono::high_resolution_clock Clock; +typedef boost::chrono::milliseconds milliseconds; +typedef boost::chrono::microseconds microseconds; + +#include <iostream> + +#include <cv.h> +#include <highgui.h> + +// BGSLibrary algorithms + +#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" +#include "../../package_bgs/GMG.h" + +#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" + +#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" +#include "../../package_bgs/bl/SigmaDeltaBGS.h" + +#include "../../package_bgs/pl/SuBSENSE.h" +#include "../../package_bgs/pl/LOBSTER.h" diff --git a/vs2010mfc/src/targetver.h b/vs2010mfc/src/targetver.h new file mode 100644 index 0000000000000000000000000000000000000000..87c0086de751bac3d47208b77d76b82d78f26702 --- /dev/null +++ b/vs2010mfc/src/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// Including SDKDDKVer.h defines the highest available Windows platform. + +// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and +// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + +#include <SDKDDKVer.h>