Found a way to unify the hdr_output_folder so that it's set across both

the publisher and the camera_simulator with just the flag
This commit is contained in:
Arnaud Fauconnet 2023-07-19 17:37:16 +02:00
parent 30950151dd
commit e27602488d
6 changed files with 23 additions and 14 deletions

View File

@ -1,16 +1,14 @@
#include "opencv2/imgcodecs.hpp"
#include <esim/common/hdr.hpp>
#include <esim/esim/camera_simulator.hpp>
#include <fstream>
#include <iomanip>
#include <ostream>
#include <ze/common/file_utils.hpp>
#define FRAME_DIR_PATH "/home/arno/sim_ws/out/frames"
static uint frame_number = 0;
static std::ofstream exposures_file_;
static std::string output_folder = "/home/arno/sim_ws/out";
namespace event_camera_simulator {
@ -69,7 +67,7 @@ namespace event_camera_simulator {
static uint frame_number = 0;
std::stringstream ss;
ss << output_folder << "/frames/frame_" << std::setfill('0')
ss << hdr_output_folder << "/frames/frame_" << std::setfill('0')
<< std::setw(5) << frame_number++ << ".exr";
std::string frame_path = ss.str();
cv::imwrite(frame_path, *camera_image);
@ -80,7 +78,7 @@ namespace event_camera_simulator {
// );
exposures_file_.open(
ze::joinPath(output_folder, "exposures.csv"),
ze::joinPath(hdr_output_folder, "exposures.csv"),
std::ios::app
);
exposures_file_ << time << "," << frame_number << ","

View File

@ -9,10 +9,12 @@ catkin_simple()
set(HEADERS
include/esim/common/types.hpp
include/esim/common/utils.hpp
include/esim/common/hdr.hpp
)
set(SOURCES
src/utils.cpp
src/hdr.cpp
)
cs_add_library(${PROJECT_NAME} ${SOURCES} ${HEADERS})

View File

@ -0,0 +1,5 @@
#pragma once
#include <gflags/gflags.h>
extern std::string hdr_output_folder;

View File

@ -0,0 +1,9 @@
#include "esim/common/hdr.hpp"
DEFINE_string(
hdr_output_folder,
"/home/arno/sim_ws/out",
"Folder in which to output the events."
);
std::string hdr_output_folder = FLAGS_hdr_output_folder;

View File

@ -2,6 +2,7 @@
--path_to_output_bag=/tmp/out.bag
--path_to_data_folder=/tmp/tests/frames
--hdr_output_folder=/home/arno/sim_ws/out
--ros_publisher_frame_rate=60
--exposure_time_ms=10.0

View File

@ -1,9 +1,9 @@
#include "esim/common/types.hpp"
#include "kindr/minimal/rotation-quaternion.h"
#include <esim/common/hdr.hpp>
#include <esim/common/utils.hpp>
#include <esim/visualization/hdr_publisher.hpp>
#include <gflags/gflags.h>
#include <glog/logging.h>
#include <iomanip>
#include <opencv2/highgui/highgui.hpp>
@ -12,12 +12,6 @@
#include <ze/common/path_utils.hpp>
#include <ze/common/time_conversions.hpp>
DEFINE_string(
hdr_output_folder,
"/home/arno/sim_ws/out",
"Folder in which to output the events."
);
namespace event_camera_simulator {
/**
@ -80,13 +74,13 @@ namespace event_camera_simulator {
}
Publisher::Ptr HdrPublisher::createFromGflags() {
if (FLAGS_hdr_output_folder == "") {
if (hdr_output_folder == "") {
LOG(WARNING) << "Empty output folder string: will not write "
"hdr files";
return nullptr;
}
return std::make_shared<HdrPublisher>(FLAGS_hdr_output_folder);
return std::make_shared<HdrPublisher>(hdr_output_folder);
}
HdrPublisher::~HdrPublisher() {