genetic-images/src/main.cc

38 lines
1.0 KiB
C++
Raw Normal View History

#include "common.hh"
#include "methods.hh"
2019-03-20 11:34:46 +00:00
#include "parseargs.hh"
#include <iostream>
2019-03-19 10:15:42 +00:00
2019-03-19 12:49:37 +00:00
int main(int ac, char **av) {
auto const [input_file, output_file, video_output, iterations, method,
verbose] = parse_args(ac, av);
spdlog::set_level(verbose ? spdlog::level::debug : spdlog::level::info);
spdlog::debug("Input file:\t{}", input_file.native());
spdlog::debug("Output file:\t{}", output_file.native());
spdlog::debug("Video output:\t{}", video_output);
spdlog::debug("Iterations:\t{}", iterations);
2019-03-20 11:34:46 +00:00
auto [input_image, process_image] = init_image(input_file.native());
2019-03-20 19:14:55 +00:00
std::random_device rd;
std::mt19937 gen(rd());
2019-03-19 10:15:42 +00:00
2019-03-20 19:14:55 +00:00
switch (method) {
case 1: {
method1(input_image, process_image, iterations, gen);
break;
}
2019-03-21 01:49:00 +00:00
case 2: {
method2(input_image, process_image, iterations, gen);
break;
}
2019-03-20 19:14:55 +00:00
default:
spdlog::error("Requested method {} is not implemented.");
std::exit(-1);
}
2019-03-20 11:34:46 +00:00
cv::imwrite(output_file.native(), process_image);
// Launch image generation
2019-03-19 09:14:19 +00:00
return 0;
}