diff options
Diffstat (limited to 'FaceTrackNoIR')
-rw-r--r-- | FaceTrackNoIR/FaceTrackNoIR.vcproj | 24 | ||||
-rw-r--r-- | FaceTrackNoIR/tracker.cpp | 190 | ||||
-rw-r--r-- | FaceTrackNoIR/tracker.h | 4 |
3 files changed, 110 insertions, 108 deletions
diff --git a/FaceTrackNoIR/FaceTrackNoIR.vcproj b/FaceTrackNoIR/FaceTrackNoIR.vcproj index 2ec885e4..e56d9e5c 100644 --- a/FaceTrackNoIR/FaceTrackNoIR.vcproj +++ b/FaceTrackNoIR/FaceTrackNoIR.vcproj @@ -47,7 +47,7 @@ OmitFramePointers="false"
EnableFiberSafeOptimizations="false"
WholeProgramOptimization="false"
- AdditionalIncludeDirectories=".\GeneratedFiles;"$(QTDIR)\include";".\GeneratedFiles\$(ConfigurationName)";"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtNetwork";"$(QTDIR)\include\QtGui";"$(QTDIR)\include\QtOpenGL";"$(QTDIR)\include\QtWebKit";"$(QTDIR)\include\QtTest";"$(SM_API_PATH)\include";"$(SM_API_CPP_WRAPPERS)\include";"$(SM_API_QTDIR)\include";"$(SM_API_WIDGETS)\include";"$(SolutionDir)\FTNoIR_Tracker_UDP""
+ AdditionalIncludeDirectories=".\GeneratedFiles;"$(QTDIR)\include";".\GeneratedFiles\$(ConfigurationName)";"$(QTDIR)\include\QtCore";"$(QTDIR)\include\QtNetwork";"$(QTDIR)\include\QtGui";"$(QTDIR)\include\QtOpenGL";"$(QTDIR)\include\QtWebKit";"$(QTDIR)\include\QtTest";"$(SM_API_PATH)\include";"$(SM_API_CPP_WRAPPERS)\include";"$(SM_API_QTDIR)\include";"$(SM_API_WIDGETS)\include";"$(SolutionDir)\FTNoIR_Tracker_UDP";"$(SolutionDir)\FTNoIR_Filter_EWMA2""
PreprocessorDefinitions="UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_THREAD_SUPPORT;QT_NO_DEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_OPENGL_LIB;QT_NETWORK_LIB;QT_DLL"
RuntimeLibrary="2"
FloatingPointModel="2"
@@ -258,7 +258,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\ExcelServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\ExcelServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -284,7 +284,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FaceApp.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FaceApp.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -310,7 +310,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FaceTrackNoIR.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FaceTrackNoIR.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -336,7 +336,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FGServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FGServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -366,7 +366,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FSUIPCServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FSUIPCServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -392,7 +392,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FTIRServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FTIRServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -422,7 +422,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FTNoIR_cxx_protocolserver.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FTNoIR_cxx_protocolserver.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -448,7 +448,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\FTServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\FTServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -482,7 +482,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\PPJoyServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\PPJoyServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -512,7 +512,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\SCServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\SCServer.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
@@ -538,7 +538,7 @@ <Tool
Name="VCCustomBuildTool"
Description="Moc'ing $(InputFileName)..."
- CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." ".\tracker.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
+ CommandLine=""$(QTDIR)\bin\moc.exe" -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_THREAD_SUPPORT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_OPENGL_LIB -DQT_NETWORK_LIB -DQT_DLL -I".\GeneratedFiles\." -I"$(QTDIR)\include\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtNetwork\." -I"$(QTDIR)\include\QtGui\." -I"$(QTDIR)\include\QtOpenGL\." -I"$(QTDIR)\include\QtWebKit\." -I"$(QTDIR)\include\QtTest\." -I"$(SM_API_PATH)\include\." -I"$(SM_API_CPP_WRAPPERS)\include\." -I"$(SM_API_QTDIR)\include\." -I"$(SM_API_WIDGETS)\include\." -I"$(SolutionDir)\FTNoIR_Tracker_UDP\." -I"$(SolutionDir)\FTNoIR_Filter_EWMA2\." ".\tracker.h" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
"
AdditionalDependencies=""$(QTDIR)\bin\moc.exe";$(InputPath)"
Outputs="".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp""
/>
diff --git a/FaceTrackNoIR/tracker.cpp b/FaceTrackNoIR/tracker.cpp index 73023b2f..ab2f3b86 100644 --- a/FaceTrackNoIR/tracker.cpp +++ b/FaceTrackNoIR/tracker.cpp @@ -53,7 +53,7 @@ // Definitions for testing purposes
//
#define USE_HEADPOSE_CALLBACK
-//#define USE_DEBUG_CLIENT
+#define USE_DEBUG_CLIENT
using namespace sm::faceapi;
using namespace sm::faceapi::qt;
@@ -84,6 +84,9 @@ TShortKey Tracker::InhibitKey; // ShortKey to inhibit axis while tracking Tracker::Tracker( int clientID, int facetrackerID ) {
importGetTracker getIT;
QLibrary *trackerLib;
+importGetFilter getFilter;
+QLibrary *filterLib;
+
// Remember the selected client, from the ListBox
// If the Tracker runs, this can NOT be changed...
@@ -179,9 +182,28 @@ QLibrary *trackerLib; break;
}
-# ifdef USE_DEBUG_CLIENT
- debug_Client = QSharedPointer<ExcelServer>(new ExcelServer ( this )); // Create Excel protocol-server
-# endif
+# ifdef USE_DEBUG_CLIENT
+ debug_Client = QSharedPointer<ExcelServer>(new ExcelServer ( this )); // Create Excel protocol-server
+# endif
+
+ //
+ // Load the DLL with the filter-logic and retrieve a pointer to the Filter-class.
+ //
+ filterLib = new QLibrary("FTNoIR_Filter_EWMA2.dll");
+
+ getFilter = (importGetFilter) filterLib->resolve("GetFilter");
+ if (getFilter) {
+ IFilterPtr ptrXyz(getFilter());
+ if (ptrXyz)
+ {
+ pFilter = ptrXyz;
+ qDebug() << "Filter::setup Function Resolved!";
+ }
+ }
+ else {
+ QMessageBox::warning(0,"FaceTrackNoIR Error", "Filter-DLL not loaded",QMessageBox::Ok,QMessageBox::NoButton);
+ return;
+ }
// Load the settings from the INI-file
loadSettings();
@@ -245,8 +267,6 @@ void Tracker::setup(QWidget *head, FaceTrackNoIR *parent) { }
if (selectedTracker == FT_FTNOIR) {
- int fooResult = pTracker->Foo(42);
- qDebug() << "Tracker::setup Foo gives: " << fooResult;
pTracker->StartTracker();
}
@@ -295,18 +315,38 @@ void Tracker::run() { float rawrotX, rawrotY, rawrotZ; // Locals...
float rawposX, rawposY, rawposZ;
- float rotX, rotY, rotZ; // Locals...
- float posX, posY, posZ;
+ //float new_camera_position.pitch, new_camera_position.yaw, new_camera_position.roll; // Locals...
+ //float new_camera_position.x, new_camera_position.y, new_camera_position.z;
SYSTEMTIME now;
long newHeadPoseTime;
float dT;
+ THeadPoseData current_camera_position; // Used for filtering
+ THeadPoseData target_camera_position;
+ THeadPoseData new_camera_position;
+
# ifndef USE_HEADPOSE_CALLBACK
smEngineHeadPoseData head_pose; // headpose from faceAPI
smEngineHeadPoseData temp_head_pose; // headpose from faceAPI
# endif
+ new_camera_position.x = 0.0f;
+ new_camera_position.y = 0.0f;
+ new_camera_position.z = 0.0f;
+ new_camera_position.yaw = 0.0f;
+ new_camera_position.pitch = 0.0f;
+ new_camera_position.roll = 0.0f;
+
+ //
+ // Test some Filter-stuff
+ //
+ if (pFilter) {
+ QString filterName;
+ pFilter->getFilterFullName(&filterName);
+ qDebug() << "Tracker::run() FilterName = " << filterName;
+ }
+
//
// Setup the DirectInput for keyboard strokes
//
@@ -511,85 +551,43 @@ void Tracker::run() { if (Tracker::do_tracking && Tracker::confid) {
- ////// Use this for some debug-output to file...
- //// QFile data("output.txt");
- //// if (data.open(QFile::WriteOnly | QFile::Append)) {
- //// QTextStream out(&data);
- //// out << Pitch.NeutralZone << " " << getDegreesFromRads(rotX) << " " << getOutputFromCurve(&Pitch.curve, getDegreesFromRads(rotX), Pitch.NeutralZone, Pitch.MaxInput) << '\n';
- ////// out << dT << " " << getSmoothFromList( &Pitch.rawList ) << " " << Pitch.offset_headPos << '\n';
- //// }
-
// Pitch
- if (Tracker::useFilter) {
- rotX = lowPassFilter ( getSmoothFromList( &Pitch.rawList ) - Pitch.offset_headPos - Pitch.initial_headPos,
-// rotX = lowPassFilter ( getSmoothFromList( &Pitch.rawList ),
- &Pitch.prevPos, dT, Tracker::Pitch.red );
- }
- else {
- rotX = getSmoothFromList( &Pitch.rawList ) - Pitch.offset_headPos - Pitch.initial_headPos;
- }
- rotX = Pitch.invert * getOutputFromCurve(&Pitch.curve, rotX, Pitch.NeutralZone, Pitch.MaxInput);
-
- // Yaw
- if (Tracker::useFilter) {
- rotY = lowPassFilter ( getSmoothFromList( &Yaw.rawList ) - Yaw.offset_headPos - Yaw.initial_headPos,
- &Yaw.prevPos, dT, Tracker::Yaw.red );
- }
- else {
- rotY = getSmoothFromList( &Yaw.rawList ) - Yaw.offset_headPos - Yaw.initial_headPos;
- }
- rotY = Yaw.invert * getOutputFromCurve(&Yaw.curve, rotY, Yaw.NeutralZone, Yaw.MaxInput);
-
- // Roll
- if (Tracker::useFilter) {
- rotZ = lowPassFilter ( getSmoothFromList( &Roll.rawList ) - Roll.offset_headPos - Roll.initial_headPos,
- &Roll.prevPos, dT, Tracker::Roll.red );
- }
- else {
- rotZ = getSmoothFromList( &Roll.rawList ) - Roll.offset_headPos - Roll.initial_headPos;
- }
- rotZ = Roll.invert * getOutputFromCurve(&Roll.curve, rotZ, Roll.NeutralZone, Roll.MaxInput);
-
- // X
- if (Tracker::useFilter) {
- posX = lowPassFilter ( getSmoothFromList( &X.rawList ) - X.offset_headPos - X.initial_headPos,
- &X.prevPos, dT, Tracker::X.red );
- }
- else {
- posX = getSmoothFromList( &X.rawList ) - X.offset_headPos - X.initial_headPos;
- }
- posX = X.invert * getOutputFromCurve(&X.curve, posX, X.NeutralZone, X.MaxInput);
-
- // Y
- if (Tracker::useFilter) {
- posY = lowPassFilter ( getSmoothFromList( &Y.rawList ) - Y.offset_headPos - Y.initial_headPos,
- &Y.prevPos, dT, Tracker::Y.red );
- }
- else {
- posY = getSmoothFromList( &Y.rawList ) - Y.offset_headPos - Y.initial_headPos;
- }
- posY = Y.invert * getOutputFromCurve(&Y.curve, posY, Y.NeutralZone, Y.MaxInput);
-
- // Z
- if (Tracker::useFilter) {
- posZ = lowPassFilter ( getSmoothFromList( &Z.rawList ) - Z.offset_headPos - Z.initial_headPos,
- &Z.prevPos, dT, Tracker::Z.red );
+ current_camera_position = new_camera_position; // Remember the latest position
+ target_camera_position.x = X.headPos - X.offset_headPos - X.initial_headPos;
+ target_camera_position.y = Y.headPos - Y.offset_headPos - Y.initial_headPos;
+ target_camera_position.z = Z.headPos - Z.offset_headPos - Z.initial_headPos;
+ target_camera_position.pitch = Pitch.headPos - Pitch.offset_headPos - Pitch.initial_headPos;
+ target_camera_position.yaw = Yaw.headPos - Yaw.offset_headPos - Yaw.initial_headPos;
+ target_camera_position.roll = Roll.headPos - Roll.offset_headPos - Roll.initial_headPos;
+
+ if (Tracker::useFilter && pFilter) {
+ pFilter->FilterHeadPoseData(¤t_camera_position, &target_camera_position, &new_camera_position);
}
else {
- posZ = getSmoothFromList( &Z.rawList ) - Z.offset_headPos - Z.initial_headPos;
+ new_camera_position.x = getSmoothFromList( &X.rawList ) - X.offset_headPos - X.initial_headPos;
+ new_camera_position.y = getSmoothFromList( &Y.rawList ) - Y.offset_headPos - Y.initial_headPos;
+ new_camera_position.z = getSmoothFromList( &Z.rawList ) - Z.offset_headPos - Z.initial_headPos;
+ new_camera_position.pitch = getSmoothFromList( &Pitch.rawList ) - Pitch.offset_headPos - Pitch.initial_headPos;
+ new_camera_position.yaw = getSmoothFromList( &Yaw.rawList ) - Yaw.offset_headPos - Yaw.initial_headPos;
+ new_camera_position.roll = getSmoothFromList( &Roll.rawList ) - Roll.offset_headPos - Roll.initial_headPos;
}
- posZ = Z.invert * getOutputFromCurve(&Z.curve, posZ, Z.NeutralZone, Z.MaxInput);
+ new_camera_position.x = X.invert * getOutputFromCurve(&X.curve, new_camera_position.x, X.NeutralZone, X.MaxInput);
+ new_camera_position.y = Y.invert * getOutputFromCurve(&Y.curve, new_camera_position.y, Y.NeutralZone, Y.MaxInput);
+ new_camera_position.z = Z.invert * getOutputFromCurve(&Z.curve, new_camera_position.z, Z.NeutralZone, Z.MaxInput);
+ new_camera_position.pitch = Pitch.invert * getOutputFromCurve(&Pitch.curve, new_camera_position.pitch, Pitch.NeutralZone, Pitch.MaxInput);
+ new_camera_position.yaw = Yaw.invert * getOutputFromCurve(&Yaw.curve, new_camera_position.yaw, Yaw.NeutralZone, Yaw.MaxInput);
+ new_camera_position.roll = Roll.invert * getOutputFromCurve(&Roll.curve, new_camera_position.roll, Roll.NeutralZone, Roll.MaxInput);
//
// Reset value for the selected axis, if inhibition is active
//
if (Tracker::do_inhibit) {
- if (InhibitKey.doPitch) rotX = 0.0f;
- if (InhibitKey.doYaw) rotY = 0.0f;
- if (InhibitKey.doRoll) rotZ = 0.0f;
- if (InhibitKey.doX) posX = 0.0f;
- if (InhibitKey.doY) posY = 0.0f;
- if (InhibitKey.doZ) posZ = 0.0f;
+ if (InhibitKey.doPitch) new_camera_position.pitch = 0.0f;
+ if (InhibitKey.doYaw) new_camera_position.yaw = 0.0f;
+ if (InhibitKey.doRoll) new_camera_position.roll = 0.0f;
+ if (InhibitKey.doX) new_camera_position.x = 0.0f;
+ if (InhibitKey.doY) new_camera_position.y = 0.0f;
+ if (InhibitKey.doZ) new_camera_position.z = 0.0f;
}
//
@@ -597,23 +595,23 @@ void Tracker::run() { //
// Free-track
if (selectedClient == FREE_TRACK) {
- server_Game->setHeadRotX( rotX ); // degrees
- server_Game->setHeadRotY( rotY );
- server_Game->setHeadRotZ( rotZ );
+ server_Game->setHeadRotX( new_camera_position.pitch ); // degrees
+ server_Game->setHeadRotY( new_camera_position.yaw );
+ server_Game->setHeadRotZ( new_camera_position.roll );
- server_Game->setHeadPosX( posX ); // centimeters
- server_Game->setHeadPosY( posY );
- server_Game->setHeadPosZ( posZ );
+ server_Game->setHeadPosX( new_camera_position.x ); // centimeters
+ server_Game->setHeadPosY( new_camera_position.y );
+ server_Game->setHeadPosZ( new_camera_position.z );
}
// All Protocol server(s)
if (server_Game) {
- server_Game->setVirtRotX ( rotX ); // degrees
- server_Game->setVirtRotY ( rotY );
- server_Game->setVirtRotZ ( rotZ );
- server_Game->setVirtPosX ( posX ); // centimeters
- server_Game->setVirtPosY ( posY );
- server_Game->setVirtPosZ ( posZ );
+ server_Game->setVirtRotX ( new_camera_position.pitch ); // degrees
+ //server_Game->setVirtRotY ( new_camera_position.yaw );
+ //server_Game->setVirtRotZ ( new_camera_position.roll );
+ //server_Game->setVirtPosX ( new_camera_position.x ); // centimeters
+ //server_Game->setVirtPosY ( new_camera_position.y );
+ //server_Game->setVirtPosZ ( new_camera_position.z );
}
# ifdef USE_DEBUG_CLIENT
@@ -625,12 +623,12 @@ void Tracker::run() { debug_Client->setHeadPosY( Tracker::Y.headPos );
debug_Client->setHeadPosZ( Tracker::Z.headPos );
- debug_Client->setVirtRotX ( rotX ); // degrees
- debug_Client->setVirtRotY ( rotY );
- debug_Client->setVirtRotZ ( rotZ );
- debug_Client->setVirtPosX ( posX ); // centimeters
- debug_Client->setVirtPosY ( posY );
- debug_Client->setVirtPosZ ( posZ );
+ debug_Client->setVirtRotX ( new_camera_position.pitch ); // degrees
+ debug_Client->setVirtRotY ( new_camera_position.yaw );
+ debug_Client->setVirtRotZ ( new_camera_position.roll );
+ debug_Client->setVirtPosX ( new_camera_position.x ); // centimeters
+ debug_Client->setVirtPosY ( new_camera_position.y );
+ debug_Client->setVirtPosZ ( new_camera_position.z );
# endif
diff --git a/FaceTrackNoIR/tracker.h b/FaceTrackNoIR/tracker.h index ab14e06a..49310a23 100644 --- a/FaceTrackNoIR/tracker.h +++ b/FaceTrackNoIR/tracker.h @@ -46,6 +46,7 @@ #include "FTNoIR_cxx_protocolserver.h"
#include "FTNoIR_Tracker_base.h"
+#include "FTNoIR_Filter_base.h"
#include "AutoClosePtr.h"
// 1a. COM-Like usage with smart pointer.
@@ -53,6 +54,8 @@ // be released automatically in destructor of the smart pointer.
typedef AutoClosePtr<ITracker, void, &ITracker::Release> ITrackerPtr;
typedef ITracker *(WINAPI *importGetTracker)(void);
+typedef AutoClosePtr<IFilter, void, &IFilter::Release> IFilterPtr;
+typedef IFilter *(WINAPI *importGetFilter)(void);
// include the DirectX Library files
#pragma comment (lib, "dinput8.lib")
@@ -139,6 +142,7 @@ private: QSharedPointer<EngineBase> _engine;
smEngineHandle _engine_handle;
ITrackerPtr pTracker; // Pointer to Tracker instance (in DLL)
+ IFilterPtr pFilter; // Pointer to Filter instance (in DLL)
/** static callback method for the head pose tracking **/
static void STDCALL receiveHeadPose(void *,smEngineHeadPoseData head_pose, smCameraVideoFrame video_frame);
|