From 3fc388cdebd7382c8685a724849d2727b690ca88 Mon Sep 17 00:00:00 2001 From: Tadas Baltrusaitis Date: Sun, 31 Jul 2016 20:55:29 -0400 Subject: [PATCH] Fixes with -inroot and -outroot --- .travis.yml | 7 +-- appveyor.yml | 5 +- exe/FaceLandmarkImg/FaceLandmarkImg.cpp | 6 +++ exe/FeatureExtraction/FeatureExtraction.cpp | 6 ++- .../src/LandmarkDetectorUtils.cpp | 48 +++++++++++++++---- 5 files changed, 56 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index f364ba5..cc601c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -65,6 +65,7 @@ script: - cmake -D CMAKE_BUILD_TYPE=RELEASE .. - make -j2 - ../build/bin/FaceLandmarkImg -fdir "../videos/" -ofdir "./demo_img/" -oidir "./demo_img/" -wild -q - - ../build/bin/FaceLandmarkVidMulti -f ../videos/multi_face.avi -ov multi_face.avi -q - - ../build/bin/FeatureExtraction -f "../videos/1815_01_008_tony_blair.avi" -ov blair.avi -of "output_features/1815_01_008_tony_blair.txt" -simalign output_features/aligned -ov feat_test.avi -hogalign hog_test.dat -q - - ../build/bin/FaceLandmarkVid -f "../videos/1815_01_008_tony_blair.avi" -f "../videos/0188_03_021_al_pacino.avi" -f "../videos/0217_03_006_alanis_morissette.avi" -f "../videos/0244_03_004_anderson_cooper.avi" -q \ No newline at end of file + - ../build/bin/FaceLandmarkImg -inroot ../videos -f obama.jpg -outroot data -of obama.txt -op obama.3d -oi obama.jpg -multi_view 1 -wild -q + - ../build/bin/FaceLandmarkVidMulti -inroot ../videos -f multi_face.avi -outroot output -ov multi_face.avi -q + - ../build/bin/FeatureExtraction -f "../videos/1815_01_008_tony_blair.avi" -outroot output_features -ov blair.avi -of "1815_01_008_tony_blair.txt" -simalign aligned -ov feat_test.avi -hogalign hog_test.dat -q + - ../build/bin/FaceLandmarkVid -inroot ../videos -f 1815_01_008_tony_blair.avi -f 0188_03_021_al_pacino.avi -f 0217_03_006_alanis_morissette.avi -outroot output_data -ov 1.avi -ov 2.avi -ov 3.avi -q \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 47c158c..d4528bf 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,6 +22,7 @@ test_script: - cmd: if exist Release (cd Release) - cmd: dir - cmd: if exist "../videos" (FaceLandmarkImg.exe -fdir "../videos/" -ofdir "./demo_img/" -oidir "./demo_img/" -wild -q) else (FaceLandmarkImg.exe -fdir "../../videos/" -ofdir "./demo_img/" -oidir "./demo_img/" -wild -q) - - cmd: if exist "../videos" (FaceLandmarkVidMulti.exe -f ../videos/multi_face.avi -ov multi_face.avi -q) else (FaceLandmarkVidMulti.exe -f ../../videos/multi_face.avi -ov multi_face.avi -q) - - cmd: if exist "../videos" (FeatureExtraction.exe -f "../videos/1815_01_008_tony_blair.avi" -of "output_features/1815_01_008_tony_blair.txt" -simalign output_features/aligned -ov feat_track.avi -hogalign hog_test.dat -q) else (FeatureExtraction.exe -f "../../videos/1815_01_008_tony_blair.avi" -of "output_features/1815_01_008_tony_blair.txt" -simalign output_features/aligned -ov feat_track.avi -hogalign hog_test.dat -q) + - cmd: if exist "../videos" (FaceLandmarkImg.exe -inroot ../videos -f obama.jpg -outroot out_data -of obama.pts -op obama.3d -oi obama.jpg -q) else (FaceLandmarkImg.exe -inroot ../../videos -f obama.jpg -outroot out_data -of obama.pts -op obama.3d -oi obama.jpg -q) + - cmd: if exist "../videos" (FaceLandmarkVidMulti.exe -inroot ../videos -f multi_face.avi -ov multi_face.avi -q) else (FaceLandmarkVidMulti.exe -inroot ../../videos -f videos/multi_face.avi -ov multi_face.avi -q) + - cmd: if exist "../videos" (FeatureExtraction.exe -f "../videos/1815_01_008_tony_blair.avi" -outroot output_features -of "1815_01_008_tony_blair.txt" -simalign aligned -ov feat_track.avi -hogalign hog_test.dat -q) else (FeatureExtraction.exe -f "../../videos/1815_01_008_tony_blair.avi" -outroot output_features -of "1815_01_008_tony_blair.txt" -simalign aligned -ov feat_track.avi -hogalign hog_test.dat -q) - cmd: if exist "../videos" (FaceLandmarkVid.exe -f "../videos/1815_01_008_tony_blair.avi" -ov track.avi -q) else (FaceLandmarkVid.exe -f "../../videos/1815_01_008_tony_blair.avi" -ov track.avi -q) diff --git a/exe/FaceLandmarkImg/FaceLandmarkImg.cpp b/exe/FaceLandmarkImg/FaceLandmarkImg.cpp index 39e2759..b25aabd 100644 --- a/exe/FaceLandmarkImg/FaceLandmarkImg.cpp +++ b/exe/FaceLandmarkImg/FaceLandmarkImg.cpp @@ -402,6 +402,12 @@ int main (int argc, char **argv) // Loading image cv::Mat read_image = cv::imread(file, -1); + if (read_image.empty()) + { + cout << "Could not read the input image" << endl; + return 1; + } + // Loading depth file if exists (optional) cv::Mat_ depth_image; diff --git a/exe/FeatureExtraction/FeatureExtraction.cpp b/exe/FeatureExtraction/FeatureExtraction.cpp index c0048a2..dffffa8 100644 --- a/exe/FeatureExtraction/FeatureExtraction.cpp +++ b/exe/FeatureExtraction/FeatureExtraction.cpp @@ -1039,17 +1039,19 @@ void get_output_feature_params(vector &output_similarity_aligned, vector // By default the model is dynamic dynamic = true; + string separator = string(1, boost::filesystem::path::preferred_separator); + // First check if there is a root argument (so that videos and outputs could be defined more easilly) for (size_t i = 0; i < arguments.size(); ++i) { if (arguments[i].compare("-root") == 0) { - output_root = arguments[i + 1]; + output_root = arguments[i + 1] + separator; i++; } if (arguments[i].compare("-outroot") == 0) { - output_root = arguments[i + 1]; + output_root = arguments[i + 1] + separator; i++; } } diff --git a/lib/local/LandmarkDetector/src/LandmarkDetectorUtils.cpp b/lib/local/LandmarkDetector/src/LandmarkDetectorUtils.cpp index f875f62..5ebec43 100644 --- a/lib/local/LandmarkDetector/src/LandmarkDetectorUtils.cpp +++ b/lib/local/LandmarkDetector/src/LandmarkDetectorUtils.cpp @@ -131,23 +131,27 @@ void get_video_input_output_params(vector &input_video_files, vector &input_image_files, vector &input_image_files, vector