1#include "VVT-V2/colored_point_handler.h"
4 Histogram{ 600, 300, sampling_rate / 2, point_id, x_, y_ },
5 OutputToCsv{ output_csv_filename, point_coordinates_, point_time_coordinates_, point_id },
7 radius_resize_factor_{ radius_resize_factor },
8 coloring_mode_{ COLORING_BASED_ON_FREQUENCY }
75 switch (coloring_mode_)
83 case COLORING_BASED_ON_FREQUENCY:
93 case COLORING_BASED_ON_AMPLITUDE:
102 std::cout <<
"ratio: " << ratio << std::endl;
void DrawPoint(Mat &frame)
Отрисовывает точку на кадре
void DrawHistogram() override
Отрисовывает гистограмму
Scalar point_color_
Цвет точки
ColoredPointHandler(Point2f init_coordinates, double sampling_rate, int point_id, float radius_resize_factor, std::string output_csv_filename)
Конструктор этого класса
~ColoredPointHandler()
Деструктор этого класса
void SetColoringMode(int coloring_mode)
Устанавливает нужный режим отрисовки цветом
coloring_mode
Перечисление, используемое для более удобного отображения текущего режима подсветки точки
void Draw(Mat &frame) override
Отрисовывает точку и данные, связанные с ней
void UpdatePointColor() override
Обновляет текущий цвет точки
void DrawInteractionRectangle(Mat &frame)
Отрисовывает прямоугольник взаимодействия
Класс для создания объектов-гистограмм, на которые можно выводить различную информацию
void ShowHistogram()
Выводит гистограмму в окно гистограммы
void SetYValues(std::vector< float > y_values)
Устанавливает Y-ы
void SetXValues(std::vector< double > x_values)
Устанавливает X-ы
bool is_histogram_plotted_
Флаг для отрисовки гистограммы
Класс для сохранения метаданных (временных и пространственных координат, ID точки)
void Write()
Добавляет данные для записи
bool interacted_
Флаг взаимодействия с точкой
Point3f current_amplitude_
Фактические амплитуды вибрации по x, y. Выражаюытся в пикселях
Rect interaction_box_
Прямоугольник (область) взаимодействия с точкой
std::vector< double > x_
Контейнер для хранения координат гистограммы по оси X (фактически - найденный спектр частот вибрации ...
double sampling_rate_
Частота сэмплирования (фактически - FPS исходного видео)
double confidence_level_
Рейтинг достоверности вибрации
int interaction_offset_
Половина длины прямоугольника взаимодействия
Point3f relative_amplitude_
Относительные амплитуды вибрации по x, y. Выражается отношением амплитуды
double main_frequency_
Главная частота (основная)
std::vector< float > y_
Контейнер для хранения координат гистограммы по оси Y (фактически - найденные магнитуды точки после в...
double sensivity_
Чувствительность определения вибрации
int current_point_radius_
Радиус точки, который нужен для её отрисовки
std::vector< double > frequencies_
Контейнер для частот точки
int default_point_radius_
Дефолтный радиус точки
std::vector< Point2f > point_coordinates_
Контейнер для координат точки
static std::pair< double, double > extremum_amplitude_
Максимум и минимум амплитуды среди всех VibratingPoint объектов-наследников
cv::Scalar RatioToRgb(double ratio)
Генерирует имя TXT файла для сохранени