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
 
 ![MFC BGSLibrary](https://sites.google.com/site/andrewssobral/mfc_bgslibrary_120.png "MFC BGSLibrary")
 
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>