From 8beb7e58c4a20f5096bb09371d09d98e99946daf Mon Sep 17 00:00:00 2001 From: Tadas Baltrusaitis Date: Fri, 3 Nov 2017 21:35:55 +0000 Subject: [PATCH] Starting to introduce recording parameters for simplicity. --- lib/local/Recorder/include/RecorderOpenFace.h | 6 +----- lib/local/Recorder/include/RecorderOpenFaceParameters.h | 2 ++ lib/local/Recorder/src/RecorderOpenFace.cpp | 7 ++++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/local/Recorder/include/RecorderOpenFace.h b/lib/local/Recorder/include/RecorderOpenFace.h index 5499f6b..d3973fe 100644 --- a/lib/local/Recorder/include/RecorderOpenFace.h +++ b/lib/local/Recorder/include/RecorderOpenFace.h @@ -58,11 +58,7 @@ namespace Recorder // The constructor for the recorder, need to specify if we are recording a sequence or not RecorderOpenFace(const std::string out_directory, const std::string in_filename, RecorderOpenFaceParameters parameters); - - // Simplified constructor that records all, TODO implement - RecorderOpenFace(const std::string out_directory, const std::string in_filename, bool sequence, int num_face_landmarks, int num_model_modes, int num_eye_landmarks, - const std::vector& au_names_class, const std::vector& au_names_reg); - + ~RecorderOpenFace(); // TODO copy, assignment and move operators? Do not allow diff --git a/lib/local/Recorder/include/RecorderOpenFaceParameters.h b/lib/local/Recorder/include/RecorderOpenFaceParameters.h index 2c85faf..33dc666 100644 --- a/lib/local/Recorder/include/RecorderOpenFaceParameters.h +++ b/lib/local/Recorder/include/RecorderOpenFaceParameters.h @@ -66,6 +66,8 @@ namespace Recorder bool outputHOG() const { return output_hog; } bool outputTrackedVideo() const { return output_tracked_video; } bool outputAlignedFaces() const { return output_aligned_faces; } + std::string outputCodec() const { return output_codec; } + double outputFps() const { return fps_vid_out; } private: diff --git a/lib/local/Recorder/src/RecorderOpenFace.cpp b/lib/local/Recorder/src/RecorderOpenFace.cpp index a025c01..d960df2 100644 --- a/lib/local/Recorder/src/RecorderOpenFace.cpp +++ b/lib/local/Recorder/src/RecorderOpenFace.cpp @@ -86,7 +86,7 @@ RecorderOpenFace::RecorderOpenFace(const std::string out_directory, const std::s // Consruct HOG recorder here - if(output_hog) + if(params.outputHOG()) { std::string hog_filename = (path(record_root) / path(filename).replace_extension(".hog")).string(); hog_recorder.Open(hog_filename); @@ -95,7 +95,7 @@ RecorderOpenFace::RecorderOpenFace(const std::string out_directory, const std::s // TODO construct a video recorder // saving the videos - if (output_tracked_video) + if (params.outputTrackedVideo()) { this->video_filename = (path(record_root) / path(filename).replace_extension(".avi")).string(); } @@ -109,12 +109,13 @@ RecorderOpenFace::RecorderOpenFace(const std::string out_directory, const std::s void RecorderOpenFace::SetObservationVisualization(const cv::Mat &vis_track) { - if (output_tracked_video) + if (params.outputTrackedVideo()) { // Initialize the video writer if it has not been opened yet if(!video_writer.isOpened()) { std::string video_filename = (path(record_root) / path(filename).replace_extension(".avi")).string(); + std::string output_codec = params.outputCodec(); try { video_writer.open(video_filename, CV_FOURCC(output_codec[0], output_codec[1], output_codec[2], output_codec[3]), fps_vid_out, vis_track.size(), true);