|
Visual Vibration Tracking 0.2
|
Дочерний (от VibratingPoint) класс. Предназначен для помещения точки на кадр и отслеживания её вибрации впоследствии Подробнее...
#include <lonely_point_handler.h>
Открытые члены | |
| LonelyPointHandler (Point2f init_coordinates, double sampling_rate, int point_id, float text_resize_factor, std::string output_csv_filename) | |
| Конструктор этого класса Подробнее... | |
| ~LonelyPointHandler () | |
| Деструктор этого класса Подробнее... | |
| void | Draw (Mat &frame) override |
| Отрисовывает точку и данные, связанные с ней Подробнее... | |
| Point2f | GetTextCoordinates () |
| Возвращает точку, необходимую для отображения координат Подробнее... | |
| Rect | GetInteractionRect () |
| Возвращает координаты прямоугольника взаимодействия Подробнее... | |
Открытые члены унаследованные от Histogram | |
| Histogram (int width, int height, int x_limit, int id, std::vector< double > &x_values, std::vector< float > &y_values) | |
| Конструктор этого класса Подробнее... | |
| ~Histogram () | |
| Деструктор этого класса Подробнее... | |
| void | DetectEvent (int event, int x, int y, int flags) |
| callback функция для определения события (используется для хэндлинга клика мышью) Подробнее... | |
| void | ShowHistogram () |
| Выводит гистограмму в окно гистограммы Подробнее... | |
| void | SetXValues (std::vector< double > x_values) |
| Устанавливает X-ы Подробнее... | |
| void | SetYValues (std::vector< float > y_values) |
| Устанавливает Y-ы Подробнее... | |
| void | SetHistogramFlag (bool flag) |
| Устанавливает статус флага отрисовки гистограммы Подробнее... | |
| void | SetHistogramWindowProperty (int prop_id, int prop_value) |
| Обновляет статус окна гистограммы (например, для вывода на передний план) Подробнее... | |
Открытые члены унаследованные от VibratingPoint | |
| void | ExecuteFFT () |
| Выполняет БПФ для нахождения частоты вибрации. Подробнее... | |
| void | AddNewPointPosition (Point2f position) |
| Добавляет новую пространственную координату в конец контейнера VibratingPoint::point_coordinates_;. Подробнее... | |
| void | AddNewPointTime (double time) |
| Добавляет новую временную координату (время кадра, на котором новая позиция точки была трекнута) в конец контейнера VibratingPoint::point_time_coordinates_;. Подробнее... | |
| bool | IsInteracted (Point2i coordinates) |
| Проверяет точку на наличие взаимодействия с ней (если курсор попал в область взаимодействия точки VibratingPoint::interaction_box_) Подробнее... | |
| void | SetSensivity (double sensivity) |
| Устанавливает чувствительность, влияющую на confidence. Подробнее... | |
| void | CalculateAmplitude () |
| Проводит необходимые для вычисления амплитуды вычисления Подробнее... | |
| virtual void | Draw (Mat &frame)=0 |
| Отрисовывает точку на кадре Подробнее... | |
| Point2f | GetLastFoundCoordinates () |
| Возвращает последний элемент вектора координат Подробнее... | |
| std::vector< double > | GetCurrentVibrationFrequency () |
| Возвращает вектор текущих частот точки Подробнее... | |
| double | GetCurrentMainFrequency () |
| Возвращает текущую "основную" частоту Подробнее... | |
| Point3f | GetRelativeAmplitude () |
| Возвращает последнюю найденную относительную амплитуду Подробнее... | |
| Point3f | GetCurrentAmplitude () |
| Возвращает последнюю найденную относительную амплитуду Подробнее... | |
| double | GetCurrentConfidenceLevel () |
| Возвращает последний найденный уровень достоверности Подробнее... | |
Открытые члены унаследованные от OutputToCsv | |
| OutputToCsv (std::string output_file_name, std::vector< Point2f > &point_coordinates, std::vector< double > &point_time_coordinates, int point_id) | |
| Конструктор этого класса Подробнее... | |
| void | Write () |
| Добавляет данные для записи Подробнее... | |
Закрытые члены | |
| void | DrawHistogram () override |
| Отрисовывает гистограмму Подробнее... | |
| void | DrawPoint (Mat &frame) |
| Отрисовывает точку на кадре Подробнее... | |
| void | DrawPointTrack (Mat &frame) |
| Отрисовывает линию перемещения (трек) точки Подробнее... | |
| void | DrawInteractionRectangle (Mat &frame) |
| Отрисовывает прямоугольник взаимодействия Подробнее... | |
| void | DrawTextData (Mat &frame) |
| Отрисовывает текстовые данные рядом с точкой Подробнее... | |
| void | UpdatePointColor () override |
| Обновляем текущий цвет точки Подробнее... | |
Закрытые данные | |
| float | text_resize_factor_ |
| Коэффициент рескейла для отрисовки данных Подробнее... | |
| int | point_id_ |
| ID точки (нет блин почки) Подробнее... | |
| Scalar | point_color_ |
| Цвет точки Подробнее... | |
Дополнительные унаследованные члены | |
Открытые статические члены унаследованные от Histogram | |
| static void | OnMouse (int event, int x, int y, int flags, void *userdata) |
| callback функция для определения события (используется для хэндлинга клика мышью) Подробнее... | |
Статические открытые данные унаследованные от VibratingPoint | |
| static std::pair< double, double > | extremum_amplitude_ |
| Максимум и минимум амплитуды среди всех VibratingPoint объектов-наследников Подробнее... | |
| virtual void | DrawHistogram ()=0 |
| Отрисовывает гистограмму спектра частот колебаний точки (полученную после БПФ в методе ExecuteFFT()) Подробнее... | |
| virtual void | UpdatePointColor ()=0 |
| Обновляем текущий цвет точки Подробнее... | |
Защищенные данные унаследованные от Histogram | |
| bool | is_histogram_plotted_ |
| Флаг для отрисовки гистограммы Подробнее... | |
Защищенные данные унаследованные от VibratingPoint | |
| Rect | interaction_box_ |
| Прямоугольник (область) взаимодействия с точкой Подробнее... | |
| int | interaction_offset_ |
| Половина длины прямоугольника взаимодействия Подробнее... | |
| bool | interacted_ |
| Флаг взаимодействия с точкой Подробнее... | |
| Point3f | relative_amplitude_ |
| Относительные амплитуды вибрации по x, y. Выражается отношением амплитуды Подробнее... | |
| Point3f | current_amplitude_ |
| Фактические амплитуды вибрации по x, y. Выражаюытся в пикселях Подробнее... | |
| std::vector< Point2f > | point_coordinates_ |
| Контейнер для координат точки Подробнее... | |
| std::vector< double > | x_coordinates_ |
| Контейнер для координат точки по оси X. Подробнее... | |
| std::vector< double > | y_coordinates_ |
| Контейнер для координат точки по оси Y. Подробнее... | |
| std::vector< cv::Point2f > | vec_meaned_coordinates_of_point_ |
| Контейнер для координат точки относительно нулевого уровня Подробнее... | |
| std::vector< double > | frequencies_ |
| Контейнер для частот точки Подробнее... | |
| double | main_frequency_ |
| Главная частота (основная) Подробнее... | |
| std::vector< double > | point_time_coordinates_ |
| Контейнер для временных координат точки Подробнее... | |
| double | sampling_rate_ |
| Частота сэмплирования (фактически - FPS исходного видео) Подробнее... | |
| int | current_point_radius_ |
| Радиус точки, который нужен для её отрисовки Подробнее... | |
| int | default_point_radius_ |
| Дефолтный радиус точки Подробнее... | |
| std::vector< double > | x_ |
| Контейнер для хранения координат гистограммы по оси X (фактически - найденный спектр частот вибрации точки после выполнения БПФ) Подробнее... | |
| std::vector< float > | y_ |
| Контейнер для хранения координат гистограммы по оси Y (фактически - найденные магнитуды точки после выполнения БПФ) Подробнее... | |
| double | sensivity_ |
| Чувствительность определения вибрации Подробнее... | |
| double | confidence_level_ |
| Рейтинг достоверности вибрации Подробнее... | |
Дочерний (от VibratingPoint) класс. Предназначен для помещения точки на кадр и отслеживания её вибрации впоследствии
Объект класса - "одинокая" точка на видео, положение которой отслеживается с течением времени для вычисления частоты вибрации этой точки
Точку можно отрисовать методом Draw() на кадре
Также при взаимодействии с точкой (VibratingPoint::IsInteracted()) будет выводиться гистограмма частот в отдельное окно (DrawHistogram())
См. определение в файле lonely_point_handler.h строка 26
| LonelyPointHandler::LonelyPointHandler | ( | Point2f | init_coordinates, |
| double | sampling_rate, | ||
| int | point_id, | ||
| float | text_resize_factor, | ||
| std::string | output_csv_filename | ||
| ) |
Конструктор этого класса
| init_coordinates | самые первые координаты точки (фактически - координаты клика мышью на окне, куда выводилось исходное видео) |
| sampling_rate | частота сэмплирования (фактически - FPS исходного видео) |
| point_id | ID точки |
| text_resize_factor | коэффициент масштабирования текста, выводимого на изображение при отрисовке частоты и относительной амплитуды вибрации |
| output_csv_filename | имя (путь) csv-файла для записи метаданных |
См. определение в файле lonely_point_handler.cpp строка 3
| LonelyPointHandler::~LonelyPointHandler | ( | ) |
Деструктор этого класса
Вызывает метод родительского класса OutputToCsv Write() для записи метаданных
См. определение в файле lonely_point_handler.cpp строка 27
|
overridevirtual |
Отрисовывает точку и данные, связанные с ней
| frame | изображение, на котором будет происходить отрисовка |
Замещает VibratingPoint.
См. определение в файле lonely_point_handler.cpp строка 55
|
overrideprivatevirtual |
Отрисовывает гистограмму
Замещает VibratingPoint.
См. определение в файле lonely_point_handler.cpp строка 69
|
private |
Отрисовывает прямоугольник взаимодействия
| frame | изображение, на котором будет происходить отрисовка |
См. определение в файле lonely_point_handler.cpp строка 93
|
private |
Отрисовывает точку на кадре
| frame | изображение, на котором будет происходить отрисовка |
См. определение в файле lonely_point_handler.cpp строка 79
|
private |
Отрисовывает линию перемещения (трек) точки
| frame | изображение, на котором будет происходить отрисовка |
См. определение в файле lonely_point_handler.cpp строка 87
|
private |
Отрисовывает текстовые данные рядом с точкой
| frame | изображение, на котором будет происходить отрисовка |
См. определение в файле lonely_point_handler.cpp строка 99
| Rect LonelyPointHandler::GetInteractionRect | ( | ) |
Возвращает координаты прямоугольника взаимодействия
См. определение в файле lonely_point_handler.cpp строка 39
| Point2f LonelyPointHandler::GetTextCoordinates | ( | ) |
Возвращает точку, необходимую для отображения координат
См. определение в файле lonely_point_handler.cpp строка 32
|
overrideprivatevirtual |
Обновляем текущий цвет точки
Замещает VibratingPoint.
См. определение в файле lonely_point_handler.cpp строка 44
|
private |
Цвет точки
См. определение в файле lonely_point_handler.h строка 108
|
private |
ID точки (нет блин почки)
См. определение в файле lonely_point_handler.h строка 104
|
private |
Коэффициент рескейла для отрисовки данных
См. определение в файле lonely_point_handler.h строка 100