MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / AsyncDetector

Method AsyncDetector

async_detector/AsyncDetector.cpp:7–52  ·  view source on GitHub ↗

\brief AsyncDetector::AsyncDetector \param parser

Source from the content-addressed store, hash-verified

5/// \param parser
6///
7AsyncDetector::AsyncDetector(const cv::CommandLineParser& parser)
8{
9 m_inFile = parser.get<std::string>(0);
10 m_outFile = parser.get<std::string>("out");
11 m_showLogsLevel = parser.get<std::string>("show_logs");
12 m_startFrame = parser.get<int>("start_frame");
13 m_endFrame = parser.get<int>("end_frame");
14 m_finishDelay = parser.get<int>("end_delay");
15
16 m_colors.emplace_back(255, 0, 0);
17 m_colors.emplace_back(0, 255, 0);
18 m_colors.emplace_back(0, 0, 255);
19 m_colors.emplace_back(255, 255, 0);
20 m_colors.emplace_back(0, 255, 255);
21 m_colors.emplace_back(255, 0, 255);
22 m_colors.emplace_back(255, 127, 255);
23 m_colors.emplace_back(127, 0, 255);
24 m_colors.emplace_back(127, 0, 127);
25
26 // Create loggers
27 m_consoleSink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
28 m_consoleSink->set_level(spdlog::level::from_str(m_showLogsLevel));
29 m_consoleSink->set_pattern("[%^%l%$] %v");
30
31 auto currentTime = std::chrono::system_clock::now();
32 auto transformed = currentTime.time_since_epoch().count() / 1000000;
33 std::time_t tt = std::chrono::system_clock::to_time_t(currentTime);
34 char buffer[80];
35#ifdef WIN32
36 tm timeInfo;
37 localtime_s(&timeInfo, &tt);
38 strftime(buffer, 80, "%G%m%d_%H%M%S", &timeInfo);
39#else
40 auto timeInfo = localtime(&tt);
41 strftime(buffer, 80, "%G%m%d_%H%M%S", timeInfo);
42#endif
43
44 size_t max_size = 1024 * 1024 * 5;
45 size_t max_files = 3;
46 m_fileSink = std::make_shared<spdlog::sinks::rotating_file_sink_mt>("logs/" + std::string(buffer) + std::to_string(transformed % 1000) + ".txt", max_size, max_files);
47 m_fileSink->set_level(spdlog::level::from_str(m_showLogsLevel));
48
49 m_logger = std::shared_ptr<spdlog::logger>(new spdlog::logger("traffic", { m_consoleSink, m_fileSink }));
50 m_logger->set_level(spdlog::level::from_str(m_showLogsLevel));
51 m_logger->info("Start service");
52}
53
54///
55/// \brief AsyncDetector::Process

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected