licornea_tools
restrict_cameras.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <fstream>
3 #include <string>
4 #include <cstdlib>
5 #include "../lib/args.h"
6 #include "../lib/assert.h"
7 #include "../lib/camera.h"
8 #include "../lib/dataset.h"
9 
10 using namespace tlz;
11 
12 int main(int argc, const char* argv[]) {
13  get_args(argc, argv, "parameters.json in_cameras.json out_cameras.json");
14  dataset datas = dataset_arg();
15  camera_array cams = cameras_arg();
16  std::string out_cams_filename = out_filename_arg();
17 
18  auto cams_map = cameras_map(cams);
19  camera_array out_cams;
20 
21  for(const view_index& idx : datas.indices()) {
22  const std::string& camera_name = datas.view(idx).camera_name();
23  auto cam_it = cams_map.find(camera_name);
24  if(cam_it != cams_map.end()) out_cams.push_back(cam_it->second);
25  }
26 
27  export_cameras_file(out_cams, out_cams_filename);
28 }
29 
30 
void export_cameras_file(const camera_array &cameras, const std::string &filename)
Definition: camera.cc:79
std::map< std::string, camera > cameras_map(const camera_array &arr)
Definition: camera.cc:112
int main(int argc, const char *argv[])
camera_array cameras_arg()
Definition: camera.cc:107
dataset_view view(int x) const
Definition: dataset.cc:243
dataset dataset_arg()
Definition: dataset.cc:297
std::string camera_name() const
Definition: dataset.cc:60
std::string out_filename_arg()
Definition: args.cc:104
std::vector< camera > camera_array
Definition: camera.h:26
std::vector< view_index > indices() const
Definition: dataset.cc:235
void get_args(int argc, const char *argv[], const std::string &usage)
Definition: args.cc:49