5#define _CRT_SECURE_NO_WARNINGS
12#include <opencv2/opencv.hpp>
41 void FindLocalMaxima(cv::Mat& input_array, cv::Mat& local_maxima,
double threshold_value);
51 std::ostringstream out;
53 out << std::fixed << value;
63 float dead_zone_factor = 0.1f;
64 for (
int i = 0; i < static_cast<int>(input_vector.size() * dead_zone_factor); i++)
66 input_vector.erase(std::begin(input_vector));
83 while (it != (src.end() - n))
98 std::vector<T> difference_vector;
100 auto it = src.begin();
101 while (it != (src.end() - 1))
103 difference_vector.push_back(*(it + 1) - *it);
109 it = difference_vector.begin();
110 mean_difference = *it;
113 while (it != difference_vector.end())
115 mean_difference += *it;
118 mean_difference /= difference_vector.size();
120 return mean_difference;
129 auto it = src.begin();
132 while (it != src.end())
136 idx = std::distance(src.begin(), it);
151 auto it = src.begin();
154 while (it != src.end())
158 idx = std::distance(src.begin(), it);
173 std::vector<T> difference_vector;
175 auto it = src.begin();
176 while (it != (src.end() - 1))
178 difference_vector.push_back(*(it + 1) - *it);
182 cv::Scalar cv_scalar_mean_val = cv::mean(src);
183 T mean_val = cv_scalar_mean_val[0];
void DeadzoneFilter(std::vector< T > &input_vector)
Частотный фильтр для нижней части диапазона
std::string GenerateCsvFilename(std::string additional_text="")
Генерирует имя CSV файла для сохранения метаданных
cv::Scalar RatioToRgb(double ratio)
Генерирует имя TXT файла для сохранени
std::vector< T > MakeShorterFromStart(std::vector< T > src, int n)
Укорачивает вектор, убирая элементы слева (спереди)
int FindGlobalMinIdx(std::vector< T > src)
Возвращает индекс самого маленького элемента вектора src.
int FindGlobalMaxIdx(std::vector< T > src)
Возвращает индекс самого большого элемента вектора src.
std::string ToStringWithPrecision(const T value, const int n=9)
Выполняет округление числа с определенной точностью
void FindLocalMaxima(cv::Mat &input_array, cv::Mat &local_maxima, double threshold_value)
Эта функция пригодится. Разберусь с ней чуть позже
T CalculateMaxDifferenceInVector(std::vector< T > src)
Вычисляет максимальное значение разности элементов массива
T CalculateMeanDifferenceInVector(std::vector< T > src)
Вычисляет среднее значение разности элементов массива в виде ((a0 - a1) + (a1 - a2)) / 3.
Функции в этом пространстве имен используются для генерирования имени csv-файла для записи и конверти...