Fixes for loading images with new interface.
This commit is contained in:
parent
5a483f7486
commit
974cee63b9
5 changed files with 22 additions and 39 deletions
|
@ -88,8 +88,6 @@ namespace Utilities
|
||||||
std::string output_codec;
|
std::string output_codec;
|
||||||
double fps_vid_out;
|
double fps_vid_out;
|
||||||
|
|
||||||
// For output location
|
|
||||||
std::string output_root = "";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -241,11 +241,21 @@ bool ImageCapture::OpenDirectory(std::string directory, std::string bbox_directo
|
||||||
std::ifstream in_bbox(bbox_file.string().c_str(), std::ios_base::in);
|
std::ifstream in_bbox(bbox_file.string().c_str(), std::ios_base::in);
|
||||||
|
|
||||||
std::vector<cv::Rect_<double> > bboxes_image;
|
std::vector<cv::Rect_<double> > bboxes_image;
|
||||||
|
|
||||||
|
// Keep reading bounding boxes from a file, stop if empty line or
|
||||||
while (!in_bbox.eof())
|
while (!in_bbox.eof())
|
||||||
{
|
{
|
||||||
|
std::string bbox_string;
|
||||||
|
std::getline(in_bbox, bbox_string);
|
||||||
|
|
||||||
|
if (bbox_string.empty())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
std::stringstream ss(bbox_string);
|
||||||
|
|
||||||
double min_x, min_y, max_x, max_y;
|
double min_x, min_y, max_x, max_y;
|
||||||
|
|
||||||
in_bbox >> min_x >> min_y >> max_x >> max_y;
|
ss >> min_x >> min_y >> max_x >> max_y;
|
||||||
bboxes_image.push_back(cv::Rect_<double>(min_x, min_y, max_x - min_x, max_y - min_y));
|
bboxes_image.push_back(cv::Rect_<double>(min_x, min_y, max_x - min_x, max_y - min_y));
|
||||||
}
|
}
|
||||||
in_bbox.close();
|
in_bbox.close();
|
||||||
|
|
|
@ -189,13 +189,12 @@ void RecorderOpenFace::SetObservationVisualization(const cv::Mat &vis_track)
|
||||||
if (params.outputTracked())
|
if (params.outputTracked())
|
||||||
{
|
{
|
||||||
// Initialize the video writer if it has not been opened yet
|
// Initialize the video writer if it has not been opened yet
|
||||||
if(!video_writer.isOpened())
|
if(video_writer.isOpened())
|
||||||
{
|
{
|
||||||
std::string video_filename = (path(record_root) / path(filename).replace_extension(".avi")).string();
|
|
||||||
std::string output_codec = params.outputCodec();
|
std::string output_codec = params.outputCodec();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
video_writer.open(video_filename, CV_FOURCC(output_codec[0], output_codec[1], output_codec[2], output_codec[3]), params.outputFps(), vis_track.size(), true);
|
video_writer.open(media_filename, CV_FOURCC(output_codec[0], output_codec[1], output_codec[2], output_codec[3]), params.outputFps(), vis_track.size(), true);
|
||||||
}
|
}
|
||||||
catch (cv::Exception e)
|
catch (cv::Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -49,21 +49,6 @@ RecorderOpenFaceParameters::RecorderOpenFaceParameters(std::vector<std::string>
|
||||||
// Default output code
|
// Default output code
|
||||||
this->output_codec = "DIVX";
|
this->output_codec = "DIVX";
|
||||||
|
|
||||||
// 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] + separator;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
if (arguments[i].compare("-outroot") == 0)
|
|
||||||
{
|
|
||||||
output_root = arguments[i + 1] + separator;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool output_set = false;
|
bool output_set = false;
|
||||||
|
|
||||||
output_2D_landmarks = false;
|
output_2D_landmarks = false;
|
||||||
|
|
|
@ -26,9 +26,9 @@ else
|
||||||
end
|
end
|
||||||
|
|
||||||
if(isunix)
|
if(isunix)
|
||||||
command = '"../../build/bin/FaceLandmarkImg"';
|
executable = '"../../build/bin/FaceLandmarkImg"';
|
||||||
else
|
else
|
||||||
command = '"../../x64/Release/FaceLandmarkImg.exe"';
|
executable = '"../../x64/Release/FaceLandmarkImg.exe"';
|
||||||
end
|
end
|
||||||
|
|
||||||
if(any(strcmp(varargin, 'model')))
|
if(any(strcmp(varargin, 'model')))
|
||||||
|
@ -44,24 +44,15 @@ else
|
||||||
multi_view = 0;
|
multi_view = 0;
|
||||||
end
|
end
|
||||||
|
|
||||||
command = cat(2, command, [' -mloc ' model ' ']);
|
command = sprintf("%s -mloc %s -multiview %s -2Dfp -tracked ", executable, model, num2str(multi_view));
|
||||||
command = cat(2, command, [' -multi_view ' num2str(multi_view) ' ']);
|
|
||||||
|
|
||||||
tic
|
|
||||||
parfor i=1:numel(dataset_dirs)
|
|
||||||
|
|
||||||
input_loc = ['-fdir "', dataset_dirs{i}, '" '];
|
% TODO just landmarks + BBoxes
|
||||||
command_c = cat(2, command, input_loc);
|
|
||||||
|
tic
|
||||||
out_loc = ['-ofdir "', output_loc, '" '];
|
for i=1:numel(dataset_dirs)
|
||||||
command_c = cat(2, command_c, out_loc);
|
|
||||||
|
|
||||||
if(verbose)
|
|
||||||
out_im_loc = ['-oidir "', output_loc, '" '];
|
|
||||||
command_c = cat(2, command_c, out_im_loc);
|
|
||||||
end
|
|
||||||
|
|
||||||
command_c = cat(2, command_c, ' -wild ');
|
command_c = sprintf('%s -fdir "%s" -bboxdir "%s" -out_dir "%s" -wild ',...
|
||||||
|
command, dataset_dirs{i}, dataset_dirs{i}, output_loc);
|
||||||
|
|
||||||
if(isunix)
|
if(isunix)
|
||||||
unix(command_c, '-echo');
|
unix(command_c, '-echo');
|
||||||
|
|
Loading…
Reference in a new issue