1#include "VVT-V2/helper.h"
6 std::string csv_file_name;
8 csv_file_name =
"C:/Users/seeyo/source/repos/Visual-Vibration-Tracking-V2/output/metadata/output_";
10 csv_file_name += additional_text;
12 auto time = std::time(
nullptr);
14 std::stringstream date_n_time;
15 date_n_time << std::put_time(std::localtime(&time),
"%F_%T");
17 std::string date_n_time_str = date_n_time.str();
19 std::replace(date_n_time_str.begin(), date_n_time_str.end(),
':',
'-');
21 csv_file_name += date_n_time_str +
".csv";
23 std::cout << csv_file_name << std::endl;
31 int normalized =
static_cast<int>(ratio * 256 * 4);
34 int region = normalized / 256;
37 int x = normalized % 256;
39 int r = 0, g = 0, b = 0;
43 case 0: r = 0; g = 0; b = 255; g += x;
break;
44 case 1: r = 0; g = 255; b = 255; b -= x;
break;
45 case 2: r = 0; g = 255; b = 0; r += x;
break;
46 case 3: r = 255; g = 255; b = 0; g -= x;
break;
49 return cv::Scalar(b, g, r);
54 cv::Mat dilated_input_image, thresholded_input_image, thresholded_input_8bit;
55 dilate(input_array, dilated_input_image, cv::Mat());
56 compare(input_array, dilated_input_image, local_maxima, cv::CMP_EQ);
57 threshold(input_array, thresholded_input_image, threshold_value, 255, cv::THRESH_BINARY);
58 thresholded_input_image.convertTo(thresholded_input_8bit, CV_8U);
59 bitwise_and(local_maxima, thresholded_input_8bit, local_maxima);
std::string GenerateCsvFilename(std::string additional_text="")
Генерирует имя CSV файла для сохранения метаданных
cv::Scalar RatioToRgb(double ratio)
Генерирует имя TXT файла для сохранени
void FindLocalMaxima(cv::Mat &input_array, cv::Mat &local_maxima, double threshold_value)
Эта функция пригодится. Разберусь с ней чуть позже