SDK-664: Updating the sample apps with x64 (#9)
* SDK-664: Updating the sample apps with x64 * Adding the yml for configuration * Updating the travis yml * Updating the project files to remove duplicate entries of x64 * Updating the configurations * Updating the yml to publish the Artifacts and rebasing master * Updating the verbosity of yml * Fix enum definition of ethinicity to the latest build changes * Adding the new AU's * Updating the README to indicate that the app supports x64 * Update linux SDK link to 3.1-396
This commit is contained in:
parent
17da41f5dd
commit
b38fd876b2
10 changed files with 394 additions and 361 deletions
|
@ -4,7 +4,7 @@ compiler:
|
||||||
- gcc-4.8
|
- gcc-4.8
|
||||||
before_script:
|
before_script:
|
||||||
- sudo apt-get install -y gcc-4.8 g++-4.8 libopencv-dev libboost1.55-all-dev cmake
|
- sudo apt-get install -y gcc-4.8 g++-4.8 libopencv-dev libboost1.55-all-dev cmake
|
||||||
- wget http://affdex-sdk-dist.s3-website-us-east-1.amazonaws.com/linux/download_sdk.html -O /tmp/affdex-sdk.tar.gz
|
- wget https://download.affectiva.com/linux/affdex-cpp-sdk-3.1-396-linux-64bit.tar.gz -O /tmp/affdex-sdk.tar.gz
|
||||||
- mkdir /tmp/affdex-sdk
|
- mkdir /tmp/affdex-sdk
|
||||||
- tar -xzvf /tmp/affdex-sdk.tar.gz -C /tmp/affdex-sdk
|
- tar -xzvf /tmp/affdex-sdk.tar.gz -C /tmp/affdex-sdk
|
||||||
- mkdir build
|
- mkdir build
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#Sample Apps for Affdex SDK for Windows and Linux
|
#Sample Apps for Affdex SDK for Windows and Linux
|
||||||
|
|
||||||
Welcome to our repository on GitHub! Here you will find example code to get you started with our Affdex SDK 3.0 and begin emotion-enabling you own app! Documentation for the SDKs is available on the <a href=http://developer.affectiva.com/>Affectiva's Developer Portal</a>.
|
Welcome to our repository on GitHub! Here you will find example code to get you started with our Affdex SDK 3.1 and begin emotion-enabling you own app! Documentation for the SDKs is available on the <a href=http://developer.affectiva.com/>Affectiva's Developer Portal</a>.
|
||||||
|
|
||||||
*Build Status*
|
*Build Status*
|
||||||
- Windows: [![Build status](https://ci.appveyor.com/api/projects/status/pn2y9h8a3nnkiw41?svg=true)]
|
- Windows: [![Build status](https://ci.appveyor.com/api/projects/status/pn2y9h8a3nnkiw41?svg=true)]
|
||||||
|
@ -11,7 +11,7 @@ Dependencies
|
||||||
------------
|
------------
|
||||||
|
|
||||||
*Windows*
|
*Windows*
|
||||||
- Affdex SDK 3.0 (32 bit)
|
- Affdex SDK 3.1 (64 bit)
|
||||||
- Visual Studio 2013 or higher
|
- Visual Studio 2013 or higher
|
||||||
|
|
||||||
*Linux*
|
*Linux*
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 2013
|
# Visual Studio 2013
|
||||||
VisualStudioVersion = 12.0.21005.1
|
VisualStudioVersion = 12.0.40629.0
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencv-webcam-demo", "opencv-webcam-demo\opencv-webcam-demo.vcxproj", "{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencv-webcam-demo", "opencv-webcam-demo\opencv-webcam-demo.vcxproj", "{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -9,23 +9,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "video-demo", "video-demo\vi
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Release|Mixed Platforms = Release|Mixed Platforms
|
Release|x64 = Release|x64
|
||||||
Release|Win32 = Release|Win32
|
|
||||||
Release|x86 = Release|x86
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|Mixed Platforms.Build.0 = Release|Win32
|
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|x64.ActiveCfg = Release|x64
|
||||||
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{8DCDC209-C25D-4C61-B2AC-2FBA1775DD6B}.Release|x86.Build.0 = Release|Win32
|
|
||||||
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
|
||||||
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|Mixed Platforms.Build.0 = Release|Win32
|
|
||||||
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|x86.ActiveCfg = Release|Win32
|
|
||||||
{5D5E4401-09DE-40D3-9E29-AFC4F2EF2C80}.Release|x86.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
22
appveyor.yml
Normal file
22
appveyor.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
version: 1.0.{build}
|
||||||
|
image:
|
||||||
|
- Visual Studio 2013
|
||||||
|
- Visual Studio 2015
|
||||||
|
before_build:
|
||||||
|
- cmd: >-
|
||||||
|
appveyor DownloadFile http://affdex-sdk-dist.s3-website-us-east-1.amazonaws.com/windows/AffdexSDK-3.1-339-win64.exe -FileName AffdexSDK-win64.exe
|
||||||
|
|
||||||
|
AffdexSDK-win64.exe /S
|
||||||
|
|
||||||
|
nuget restore affdex-win-samples.sln
|
||||||
|
build:
|
||||||
|
parallel: true
|
||||||
|
verbosity: detailed
|
||||||
|
artifacts:
|
||||||
|
- path: '\x64\Release'
|
||||||
|
deploy:
|
||||||
|
- provider: GitHub
|
||||||
|
release: 3.1
|
||||||
|
auth_token:
|
||||||
|
secure: sjCE8t4b8ME8j2D6e0kRpNib8STOljgGVPdexj4n0gXU/nYxFkdaI9GXRukRHri5
|
||||||
|
artifact: Release.zip
|
|
@ -46,19 +46,22 @@ class PlottingImageListener : public ImageListener
|
||||||
|
|
||||||
std::map<affdex::Glasses, std::string> glassesMap;
|
std::map<affdex::Glasses, std::string> glassesMap;
|
||||||
std::map<affdex::Gender, std::string> genderMap;
|
std::map<affdex::Gender, std::string> genderMap;
|
||||||
|
std::map<affdex::Age, std::string> ageMap;
|
||||||
|
std::map<affdex::Ethnicity, std::string> ethnicityMap;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
||||||
PlottingImageListener(std::ofstream &csv, const bool draw_display)
|
PlottingImageListener(std::ofstream &csv, const bool draw_display)
|
||||||
: fStream(csv), mDrawDisplay(draw_display), mStartT(std::chrono::system_clock::now()),
|
: fStream(csv), mDrawDisplay(draw_display), mStartT(std::chrono::system_clock::now()),
|
||||||
mCaptureLastTS(-1.0f), mCaptureFPS(-1.0f),
|
mCaptureLastTS(-1.0f), mCaptureFPS(-1.0f),
|
||||||
mProcessLastTS(-1.0f), mProcessFPS(-1.0f)
|
mProcessLastTS(-1.0f), mProcessFPS(-1.0f)
|
||||||
{
|
{
|
||||||
expressions = {
|
expressions = {
|
||||||
"smile", "innerBrowRaise", "browRaise", "browFurrow", "noseWrinkle",
|
"smile", "innerBrowRaise", "browRaise", "browFurrow", "noseWrinkle",
|
||||||
"upperLipRaise", "lipCornerDepressor", "chinRaise", "lipPucker", "lipPress",
|
"upperLipRaise", "lipCornerDepressor", "chinRaise", "lipPucker", "lipPress",
|
||||||
"lipSuck", "mouthOpen", "smirk", "eyeClosure", "attention"
|
"lipSuck", "mouthOpen", "smirk", "eyeClosure", "attention", "eyeWiden", "cheekRaise",
|
||||||
|
"lidTighten", "dimpler", "lipStretch", "jawDrop"
|
||||||
};
|
};
|
||||||
|
|
||||||
emotions = {
|
emotions = {
|
||||||
|
@ -71,10 +74,10 @@ public:
|
||||||
|
|
||||||
emojis = std::vector<std::string> {
|
emojis = std::vector<std::string> {
|
||||||
"relaxed", "smiley", "laughing",
|
"relaxed", "smiley", "laughing",
|
||||||
"kissing", "disappointed",
|
"kissing", "disappointed",
|
||||||
"rage", "smirk", "wink",
|
"rage", "smirk", "wink",
|
||||||
"stuckOutTongueWinkingEye", "stuckOutTongue",
|
"stuckOutTongueWinkingEye", "stuckOutTongue",
|
||||||
"flushed", "scream"
|
"flushed", "scream"
|
||||||
};
|
};
|
||||||
|
|
||||||
genderMap = std::map<affdex::Gender, std::string> {
|
genderMap = std::map<affdex::Gender, std::string> {
|
||||||
|
@ -85,15 +88,35 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
glassesMap = std::map<affdex::Glasses, std::string> {
|
glassesMap = std::map<affdex::Glasses, std::string> {
|
||||||
{ affdex::Glasses::Yes, "glasses" },
|
{ affdex::Glasses::Yes, "yes" },
|
||||||
{ affdex::Glasses::No, "no glasses" }
|
{ affdex::Glasses::No, "no" }
|
||||||
};
|
};
|
||||||
|
|
||||||
fStream << "TimeStamp,faceId,interocularDistance,glasses,gender,dominantEmoji,";
|
ageMap = std::map<affdex::Age, std::string> {
|
||||||
|
{ affdex::Age::AGE_UNKNOWN, "unknown"},
|
||||||
|
{ affdex::Age::AGE_UNDER_18, "under 18" },
|
||||||
|
{ affdex::Age::AGE_18_24, "18-24" },
|
||||||
|
{ affdex::Age::AGE_25_34, "25-34" },
|
||||||
|
{ affdex::Age::AGE_35_44, "35-44" },
|
||||||
|
{ affdex::Age::AGE_45_54, "45-54" },
|
||||||
|
{ affdex::Age::AGE_55_64, "55-64" },
|
||||||
|
{ affdex::Age::AGE_65_PLUS, "65 plus" }
|
||||||
|
};
|
||||||
|
|
||||||
|
ethnicityMap = std::map<affdex::Ethnicity, std::string> {
|
||||||
|
{ affdex::Ethnicity::UNKNOWN, "unknown"},
|
||||||
|
{ affdex::Ethnicity::CAUCASIAN, "caucasian" },
|
||||||
|
{ affdex::Ethnicity::BLACK_AFRICAN, "black african" },
|
||||||
|
{ affdex::Ethnicity::SOUTH_ASIAN, "south asian" },
|
||||||
|
{ affdex::Ethnicity::EAST_ASIAN, "east asian" },
|
||||||
|
{ affdex::Ethnicity::HISPANIC, "hispanic" }
|
||||||
|
};
|
||||||
|
|
||||||
|
fStream << "TimeStamp,faceId,interocularDistance,glasses,age,ethnicity,gender,dominantEmoji,";
|
||||||
for (std::string angle : headAngles) fStream << angle << ",";
|
for (std::string angle : headAngles) fStream << angle << ",";
|
||||||
for (std::string emotion : emotions) fStream << emotion << ",";
|
for (std::string emotion : emotions) fStream << emotion << ",";
|
||||||
for (std::string expression : expressions) fStream << expression << ",";
|
for (std::string expression : expressions) fStream << expression << ",";
|
||||||
for (std::string emoji : emojis) fStream << emoji << ",";
|
for (std::string emoji : emojis) fStream << emoji << ",";
|
||||||
fStream << std::endl;
|
fStream << std::endl;
|
||||||
fStream.precision(4);
|
fStream.precision(4);
|
||||||
fStream << std::fixed;
|
fStream << std::fixed;
|
||||||
|
@ -111,7 +134,7 @@ public:
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
|
|
||||||
FeaturePoint maxPoint( VecFeaturePoint points)
|
FeaturePoint maxPoint(VecFeaturePoint points)
|
||||||
{
|
{
|
||||||
VecFeaturePoint::iterator it = points.begin();
|
VecFeaturePoint::iterator it = points.begin();
|
||||||
FeaturePoint ret = *it;
|
FeaturePoint ret = *it;
|
||||||
|
@ -154,7 +177,7 @@ public:
|
||||||
void onImageResults(std::map<FaceId, Face> faces, Frame image) override
|
void onImageResults(std::map<FaceId, Face> faces, Frame image) override
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lg(mMutex);
|
std::lock_guard<std::mutex> lg(mMutex);
|
||||||
mDataArray.push_back(std::pair<Frame, std::map<FaceId, Face>> (image, faces) );
|
mDataArray.push_back(std::pair<Frame, std::map<FaceId, Face>>(image, faces));
|
||||||
std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();
|
std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now();
|
||||||
std::chrono::milliseconds milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now - mStartT);
|
std::chrono::milliseconds milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(now - mStartT);
|
||||||
double seconds = milliseconds.count() / 1000.f;
|
double seconds = milliseconds.count() / 1000.f;
|
||||||
|
@ -173,11 +196,11 @@ public:
|
||||||
{
|
{
|
||||||
if (faces.empty())
|
if (faces.empty())
|
||||||
{
|
{
|
||||||
fStream << timeStamp << "nan,nan,no glasses,unknown, unknown,";
|
fStream << timeStamp << "nan,nan,no,unknown,unknown,unknown,unknown,";
|
||||||
for (std::string angle : headAngles) fStream << "nan,";
|
for (std::string angle : headAngles) fStream << "nan,";
|
||||||
for (std::string emotion : emotions) fStream << "nan,";
|
for (std::string emotion : emotions) fStream << "nan,";
|
||||||
for (std::string expression : expressions) fStream << "nan,";
|
for (std::string expression : expressions) fStream << "nan,";
|
||||||
for (std::string emoji : emojis) fStream << "nan,";
|
for (std::string emoji : emojis) fStream << "nan,";
|
||||||
fStream << std::endl;
|
fStream << std::endl;
|
||||||
}
|
}
|
||||||
for (auto & face_id_pair : faces)
|
for (auto & face_id_pair : faces)
|
||||||
|
@ -185,11 +208,13 @@ public:
|
||||||
Face f = face_id_pair.second;
|
Face f = face_id_pair.second;
|
||||||
|
|
||||||
fStream << timeStamp << ","
|
fStream << timeStamp << ","
|
||||||
<< f.id << ","
|
<< f.id << ","
|
||||||
<< f.measurements.interocularDistance << ","
|
<< f.measurements.interocularDistance << ","
|
||||||
<< glassesMap[f.appearance.glasses] << ","
|
<< glassesMap[f.appearance.glasses] << ","
|
||||||
<< genderMap[f.appearance.gender] << ","
|
<< ageMap[f.appearance.age] << ","
|
||||||
<< affdex::EmojiToString(f.emojis.dominantEmoji) << ",";
|
<< ethnicityMap[f.appearance.ethnicity] << ","
|
||||||
|
<< genderMap[f.appearance.gender] << ","
|
||||||
|
<< affdex::EmojiToString(f.emojis.dominantEmoji) << ",";
|
||||||
|
|
||||||
float *values = (float *)&f.measurements.orientation;
|
float *values = (float *)&f.measurements.orientation;
|
||||||
for (std::string angle : headAngles)
|
for (std::string angle : headAngles)
|
||||||
|
@ -212,20 +237,20 @@ public:
|
||||||
values++;
|
values++;
|
||||||
}
|
}
|
||||||
|
|
||||||
values = (float *)&f.emojis;
|
values = (float *)&f.emojis;
|
||||||
for (std::string emoji : emojis)
|
for (std::string emoji : emojis)
|
||||||
{
|
{
|
||||||
fStream << (*values) << ",";
|
fStream << (*values) << ",";
|
||||||
values++;
|
values++;
|
||||||
}
|
}
|
||||||
|
|
||||||
fStream << std::endl;
|
fStream << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void drawValues(const float * first, const std::vector<std::string> names,
|
void drawValues(const float * first, const std::vector<std::string> names,
|
||||||
const int x, int &padding, const cv::Scalar clr,
|
const int x, int &padding, const cv::Scalar clr,
|
||||||
cv::Mat img)
|
cv::Mat img)
|
||||||
{
|
{
|
||||||
for (std::string name : names)
|
for (std::string name : names)
|
||||||
{
|
{
|
||||||
|
@ -267,14 +292,14 @@ public:
|
||||||
cv::putText(img, "APPEARANCE", cv::Point(br.x, padding += (spacing * 2)), font, font_size, header_clr);
|
cv::putText(img, "APPEARANCE", cv::Point(br.x, padding += (spacing * 2)), font, font_size, header_clr);
|
||||||
cv::putText(img, genderMap[f.appearance.gender], cv::Point(br.x, padding += spacing), font, font_size, clr);
|
cv::putText(img, genderMap[f.appearance.gender], cv::Point(br.x, padding += spacing), font, font_size, clr);
|
||||||
cv::putText(img, glassesMap[f.appearance.glasses], cv::Point(br.x, padding += spacing), font, font_size, clr);
|
cv::putText(img, glassesMap[f.appearance.glasses], cv::Point(br.x, padding += spacing), font, font_size, clr);
|
||||||
|
cv::putText(img, ageMap[f.appearance.age], cv::Point(br.x, padding += spacing), font, font_size, clr);
|
||||||
|
cv::putText(img, ethnicityMap[f.appearance.ethnicity], cv::Point(br.x, padding += spacing), font, font_size, clr);
|
||||||
|
|
||||||
Orientation headAngles = f.measurements.orientation;
|
Orientation headAngles = f.measurements.orientation;
|
||||||
|
|
||||||
char strAngles[100];
|
char strAngles[100];
|
||||||
sprintf(strAngles, "Pitch: %3.2f Yaw: %3.2f Roll: %3.2f Interocular: %3.2f",
|
sprintf(strAngles, "Pitch: %3.2f Yaw: %3.2f Roll: %3.2f Interocular: %3.2f",
|
||||||
headAngles.pitch, headAngles.yaw, headAngles.roll, f.measurements.interocularDistance);
|
headAngles.pitch, headAngles.yaw, headAngles.roll, f.measurements.interocularDistance);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -289,7 +314,7 @@ public:
|
||||||
cv::putText(img, "EMOJIS", cv::Point(br.x, padding += (spacing * 2)), font, font_size, header_clr);
|
cv::putText(img, "EMOJIS", cv::Point(br.x, padding += (spacing * 2)), font, font_size, header_clr);
|
||||||
|
|
||||||
cv::putText(img, "dominantEmoji: " + affdex::EmojiToString(f.emojis.dominantEmoji),
|
cv::putText(img, "dominantEmoji: " + affdex::EmojiToString(f.emojis.dominantEmoji),
|
||||||
cv::Point(br.x, padding += spacing), font, font_size, clr);
|
cv::Point(br.x, padding += spacing), font, font_size, clr);
|
||||||
|
|
||||||
drawValues((float *)&f.emojis, emojis, br.x, padding, clr, img);
|
drawValues((float *)&f.emojis, emojis, br.x, padding, clr, img);
|
||||||
|
|
||||||
|
@ -309,7 +334,7 @@ public:
|
||||||
cv::putText(img, fps_str, cv::Point(img.cols - 110, img.rows - left_margin), font, font_size, clr);
|
cv::putText(img, fps_str, cv::Point(img.cols - 110, img.rows - left_margin), font, font_size, clr);
|
||||||
|
|
||||||
cv::imshow("analyze video", img);
|
cv::imshow("analyze video", img);
|
||||||
cv::waitKey(5);
|
cv::waitKey(30);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -127,8 +127,7 @@ int main(int argsc, char ** argsv)
|
||||||
frameDetector->setDetectAllEmotions(true);
|
frameDetector->setDetectAllEmotions(true);
|
||||||
frameDetector->setDetectAllExpressions(true);
|
frameDetector->setDetectAllExpressions(true);
|
||||||
frameDetector->setDetectAllEmojis(true);
|
frameDetector->setDetectAllEmojis(true);
|
||||||
frameDetector->setDetectGender(true);
|
frameDetector->setDetectAllAppearances(true);
|
||||||
frameDetector->setDetectGlasses(true);
|
|
||||||
frameDetector->setClassifierPath(DATA_FOLDER);
|
frameDetector->setClassifierPath(DATA_FOLDER);
|
||||||
frameDetector->setLicensePath(LICENSE_PATH);
|
frameDetector->setLicensePath(LICENSE_PATH);
|
||||||
frameDetector->setImageListener(listenPtr.get());
|
frameDetector->setImageListener(listenPtr.get());
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\OpenCV.2.4.10\build\native\OpenCV.props" Condition="Exists('..\packages\OpenCV.2.4.10\build\native\OpenCV.props')" />
|
<Import Project="..\packages\OpenCV.2.4.10\build\native\OpenCV.props" Condition="Exists('..\packages\OpenCV.2.4.10\build\native\OpenCV.props')" />
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
<RestorePackages>true</RestorePackages>
|
<RestorePackages>true</RestorePackages>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v120</PlatformToolset>
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
@ -25,16 +25,16 @@
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros">
|
<PropertyGroup Label="UserMacros">
|
||||||
<NuGetPackageImportStamp>635eb584</NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>635eb584</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
|
@ -44,18 +44,18 @@
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>C:\Program Files %28x86%29\Affectiva\Affdex SDK\include;../common/;%(AdditionalDependencies)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>C:\Program Files\Affectiva\Affdex SDK\include;../common/;%(AdditionalDependencies)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>C:\Program Files (x86)\Affectiva\Affdex SDK\lib\release\affdex-native.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>C:\Program Files\Affectiva\Affdex SDK\lib\release\affdex-native.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>xcopy /d /y "C:\Program Files (x86)\Affectiva\Affdex SDK\bin\release\affdex-native.dll" "$(OutDir)"
|
<Command>xcopy /d /y "C:\Program Files\Affectiva\Affdex SDK\bin\release\affdex-native.dll" "$(OutDir)"
|
||||||
xcopy /d /s /y "C:\Program Files (x86)\Affectiva\Affdex SDK\data" "$(OutDir)data\"</Command>
|
xcopy /d /s /y "C:\Program Files\Affectiva\Affdex SDK\data" "$(OutDir)data\"</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<LocalDebuggerEnvironment>PATH=%PATH%;C:\Program Files (x86)\Affectiva\Affdex SDK\bin\release\;C:\Program Files (x86)\Affectiva\Affdex SDK\bin</LocalDebuggerEnvironment>
|
<LocalDebuggerEnvironment>PATH=%PATH%;C:\Program Files\Affectiva\Affdex SDK\bin\release\;C:\Program Files\Affectiva\Affdex SDK\bin</LocalDebuggerEnvironment>
|
||||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -140,8 +140,7 @@ int main(int argsc, char ** argsv)
|
||||||
detector->setDetectAllEmotions(true);
|
detector->setDetectAllEmotions(true);
|
||||||
detector->setDetectAllExpressions(true);
|
detector->setDetectAllExpressions(true);
|
||||||
detector->setDetectAllEmojis(true);
|
detector->setDetectAllEmojis(true);
|
||||||
detector->setDetectGender(true);
|
detector->setDetectAllAppearances(true);
|
||||||
detector->setDetectGlasses(true);
|
|
||||||
detector->setClassifierPath(DATA_FOLDER);
|
detector->setClassifierPath(DATA_FOLDER);
|
||||||
detector->setLicensePath(LICENSE_PATH);
|
detector->setLicensePath(LICENSE_PATH);
|
||||||
detector->setImageListener(listenPtr.get());
|
detector->setImageListener(listenPtr.get());
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<Import Project="..\packages\OpenCV.2.4.10\build\native\OpenCV.props" Condition="Exists('..\packages\OpenCV.2.4.10\build\native\OpenCV.props')" />
|
<Import Project="..\packages\OpenCV.2.4.10\build\native\OpenCV.props" Condition="Exists('..\packages\OpenCV.2.4.10\build\native\OpenCV.props')" />
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
<ProjectConfiguration Include="Release|x64">
|
||||||
<Configuration>Release</Configuration>
|
<Configuration>Release</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
<RestorePackages>true</RestorePackages>
|
<RestorePackages>true</RestorePackages>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<PlatformToolset>v120</PlatformToolset>
|
<PlatformToolset>v120</PlatformToolset>
|
||||||
|
@ -25,16 +25,16 @@
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros">
|
<PropertyGroup Label="UserMacros">
|
||||||
<NuGetPackageImportStamp>5c6c3308</NuGetPackageImportStamp>
|
<NuGetPackageImportStamp>5c6c3308</NuGetPackageImportStamp>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<PrecompiledHeader>
|
<PrecompiledHeader>
|
||||||
|
@ -44,19 +44,19 @@
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>C:\Program Files %28x86%29\Affectiva\Affdex SDK\include;../common;%(AdditionalDependencies)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>C:\Program Files\Affectiva\Affdex SDK\include;../common;%(AdditionalDependencies)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Console</SubSystem>
|
<SubSystem>Console</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>C:\Program Files (x86)\Affectiva\Affdex SDK\lib\release\affdex-native.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>C:\Program Files\Affectiva\Affdex SDK\lib\release\affdex-native.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>xcopy /d /y "C:\Program Files (x86)\Affectiva\Affdex SDK\bin\release\affdex-native.dll" "$(OutDir)"
|
<Command>xcopy /d /y "C:\Program Files\Affectiva\Affdex SDK\bin\release\affdex-native.dll" "$(OutDir)"
|
||||||
xcopy /d /y "C:\Program Files (x86)\Affectiva\Affdex SDK\bin\opencv_ffmpeg248.dll" "$(OutDir)"
|
xcopy /d /y "C:\Program Files\Affectiva\Affdex SDK\bin\opencv_ffmpeg248_64.dll" "$(OutDir)"
|
||||||
xcopy /d /s /y "C:\Program Files (x86)\Affectiva\Affdex SDK\data" "$(OutDir)data\"</Command>
|
xcopy /d /s /y "C:\Program Files\Affectiva\Affdex SDK\data" "$(OutDir)data\"</Command>
|
||||||
</PostBuildEvent>
|
</PostBuildEvent>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
Loading…
Reference in a new issue