|
Visual Vibration Tracking 0.2
|
Класс для создания объектов-детекторов вибрации Подробнее...
#include <vibration_detector.h>
Открытые члены | |
| VibrationDetector (std::string input_file_name, std::string output_file_name, std::string window_name) | |
| Конструктор класса Подробнее... | |
| void | ExecuteVibrationDetection () |
| Выполняет детекцию вибрации Подробнее... | |
Закрытые типы | |
| enum | main_mode { DEFAULT , SELECTINGROI , PAUSE } |
| enum | colored_point_mode { COLORING_DEFAULT , COLORING_BASED_ON_FREQUENCY , COLORING_BASED_ON_AMPLITUDE } |
Закрытые члены | |
| void | ServeTheQueues () |
| Обслуживает очереди на удаление и создание. Необходимо для того, чтобы не нарушить нумерацию точек во время выполнения основного цикла Подробнее... | |
| void | CreateNewPoint (Point2f mouse_coordinates) |
| Создаем "обычную" точку Подробнее... | |
| void | LeftClickHandler (Point2f mouse_coordinates) |
| Обработчик левых кликов Подробнее... | |
| void | CreateNewColoredPoint (Point2f mouse_coordinates) |
| Обработчик "цветных" точек Подробнее... | |
| void | DeletePoints (Point2i mouse_coordinates) |
| Удаляем объект "обычную" точку Подробнее... | |
| void | DeleteColoredPoints () |
| Удаляем объекты "цветная" точка Подробнее... | |
| void | FindAndDeleteUncofidentPoints () |
| Удаляет "цветные" и "обычные" точки, если уровень доверия к нми слишком низкий Подробнее... | |
| void | DetectEvent (int event, int x, int y, int flags) |
| callback functions for detecting the click Подробнее... | |
| void | DefaultModeHandler (int event, int x, int y) |
| Обычный режим Подробнее... | |
| void | RoiSelectionModeHandler (int event, int x, int y) |
| Режим выделения региона интереса Подробнее... | |
| Mat | MakeWarpedFrame (Mat frame, std::vector< Point2i > warping_figure) |
| Удаляет перспективные искажения Подробнее... | |
| void | TrackAndCalc () |
| Трекает точки алгоритмом Лукаса-Канаде и вызывает БПФ Подробнее... | |
| std::vector< Point2f > | FindGoodFeatures (Mat frame, Rect roi) |
| Находит подходящие для трекинга точки на изображении Подробнее... | |
| void | DrawDebugLkWinRectangle (Mat &frame) |
| Рисует точки и выводит данные Подробнее... | |
| void | DrawAndOutput (Mat &frame) |
| Масштабирует, рисует и выводит на экран обработанный кадр с точками Подробнее... | |
Закрытые статические члены | |
| static void | OnMouse (int event, int x, int y, int flags, void *userdata) |
| callback functions for detecting the click Подробнее... | |
Закрытые данные | |
| FrameHandler * | frame_handler |
| Фреймпроцессор Подробнее... | |
| bool | running_ |
| Флаг запущенного основного алгоритма Подробнее... | |
| float | res_mp_ |
| Коэффициент автоскейла размеров окна в зависимости от разрешения исходного видео Подробнее... | |
| int | point_id_ |
| Псевдо-id (порядковывй номер точки) Подробнее... | |
| Point | last_mouse_position_ |
| Последняя позиция курсора в главном окне Подробнее... | |
| int | current_mode_ |
| Основной режим работы (enum main_mode) Подробнее... | |
| bool | fullscreen_ |
| Флаг для полноэкранного режима Подробнее... | |
| std::vector< Point2i > | l_click_queue_ |
| Очередь на создание "обычных" точек Подробнее... | |
| std::vector< Point2f > | c_point_queue_ |
| Очередь на создание "цветных" точек Подробнее... | |
| std::vector< Point2i > | delete_queue_ |
| Очередь на удаление точек Подробнее... | |
| std::vector< Point2i > | histograms_queue_ |
| Очередь на отрисовку гистограм Подробнее... | |
| std::vector< LonelyPointHandler * > | vec_lonely_point_handlers_ |
| Вектор обработчиков "одиноких" точек Подробнее... | |
| std::vector< ColoredPointHandler * > | vec_colored_point_handlers_ |
| Вектор обработчиков "цветных" точек Подробнее... | |
| int | sensivity_in_percents_ |
| Чувствительность при трекинге вибрации Подробнее... | |
| Mat | current_tracking_frame_ |
| Текущий Mat-instance только что найденного кадра из видео Подробнее... | |
| Mat | frame_to_be_shown_ |
| Mat-instance, который будет показан в окне Подробнее... | |
| Mat | grad_scale_ |
| Изображение цветной шкалы внизу экрана Подробнее... | |
| int | colored_point_mode_ |
| Текущий режим подсветки точек при выбранном регионе интереса (по амплитуде/по частоте) Подробнее... | |
| bool | roi_selecting_ |
| Флаг, показывающий происходит ли в данный момент выделение ROI. Подробнее... | |
| bool | roi_selected_ |
| Флаг, показывающий был ли выделен ROI или нет Подробнее... | |
| Point2i | tl_click_coords_ |
| Координаты первой точки прямоугольник (top left, bottom left, top right, bottom right - смотря "в какую сторону" выделять ROI с помощью мыши (курсора)) Подробнее... | |
| std::string | input_file_name_ |
| Имя (путь) входного видео Подробнее... | |
| std::string | output_file_name_ |
| Имя (путь) видео, в котором будет результат детектинга Подробнее... | |
| std::string | output_csv_file_name_ |
| Имя (путь) файла для хранения метаданных Подробнее... | |
| std::string | window_name_ |
| Имя главного окна Подробнее... | |
| bool | warping_figure_selecting_ |
| Флаг, показывающий, происходит ли в данный момент выделение фигуры (эта возможность отключена временно) Подробнее... | |
| std::vector< Point > | warping_figure_ |
| Координаты фигуры для исправления перспективы Подробнее... | |
| Mat | prev_img_gray_ |
| Предыдущий кадр видео в грейскейл и с небольшим блюром (FrameHandler::MakeGrayFrame()) Подробнее... | |
| Mat | next_img_gray_ |
| Следующий (или текущий после "предыдущего" - смотря как удобнее для понимания) кадр видео в грейскейл и с небольшим блюром (FrameHandler::MakeGrayFrame()) Подробнее... | |
| int | lk_win_size_ |
| Размер окна для алгоритма Лукаса-Канаде Подробнее... | |
| int | level_amount_ |
| Количество слоев пирамиды изображений в алгоритме Л-К Подробнее... | |
| int | fps_ |
| ФПС входного видео (две ширины полосы частот вибрации, которые можно отследить) Подробнее... | |
| double | frame_time_ |
| Текущее время кадра в мс (таймкод) Подробнее... | |
Класс для создания объектов-детекторов вибрации
Объект класса является основной единицей в программе. Внутри себя создает объекты различных классов, описанных в заголовочных файлах проекта. См.
См. определение в файле vibration_detector.h строка 27
|
private |
енум, описывающий режимы подсветки цветных точек
См. определение в файле vibration_detector.h строка 41
|
private |
перечисление, описывающее глобальные режимы (дефолтный, режим выбирания региона интереса и пауза)
См. определение в файле vibration_detector.h строка 32
| VibrationDetector::VibrationDetector | ( | std::string | input_file_name, |
| std::string | output_file_name, | ||
| std::string | window_name | ||
| ) |
Конструктор класса
См. определение в файле vibration_detector.cpp строка 3
| VibrationDetector::~VibrationDetector | ( | ) |
См. определение в файле vibration_detector.cpp строка 26
|
private |
Обработчик "цветных" точек
См. определение в файле vibration_detector.cpp строка 108
|
private |
Создаем "обычную" точку
См. определение в файле vibration_detector.cpp строка 57
|
private |
Обычный режим
См. определение в файле vibration_detector.cpp строка 245
|
private |
Удаляем объекты "цветная" точка
См. определение в файле vibration_detector.cpp строка 177
|
private |
Удаляем объект "обычную" точку
См. определение в файле vibration_detector.cpp строка 114
|
private |
callback functions for detecting the click
См. определение в файле vibration_detector.cpp строка 224
|
private |
Масштабирует, рисует и выводит на экран обработанный кадр с точками
См. определение в файле vibration_detector.cpp строка 465
|
private |
Рисует точки и выводит данные
См. определение в файле vibration_detector.cpp строка 487
| void VibrationDetector::ExecuteVibrationDetection | ( | ) |
Выполняет детекцию вибрации
См. определение в файле vibration_detector.cpp строка 501
|
private |
Удаляет "цветные" и "обычные" точки, если уровень доверия к нми слишком низкий
См. определение в файле vibration_detector.cpp строка 194
|
private |
Находит подходящие для трекинга точки на изображении
См. определение в файле vibration_detector.cpp строка 432
|
private |
Обработчик левых кликов
См. определение в файле vibration_detector.cpp строка 63
|
private |
Удаляет перспективные искажения
См. определение в файле vibration_detector.cpp строка 310
|
staticprivate |
callback functions for detecting the click
См. определение в файле vibration_detector.cpp строка 217
|
private |
Режим выделения региона интереса
См. определение в файле vibration_detector.cpp строка 272
|
private |
Обслуживает очереди на удаление и создание. Необходимо для того, чтобы не нарушить нумерацию точек во время выполнения основного цикла
См. определение в файле vibration_detector.cpp строка 38
|
private |
Трекает точки алгоритмом Лукаса-Канаде и вызывает БПФ
См. определение в файле vibration_detector.cpp строка 342
|
private |
Очередь на создание "цветных" точек
См. определение в файле vibration_detector.h строка 166
|
private |
Текущий режим подсветки точек при выбранном регионе интереса (по амплитуде/по частоте)
См. определение в файле vibration_detector.h строка 213
|
private |
Основной режим работы (enum main_mode)
См. определение в файле vibration_detector.h строка 150
|
private |
Текущий Mat-instance только что найденного кадра из видео
См. определение в файле vibration_detector.h строка 199
|
private |
Очередь на удаление точек
См. определение в файле vibration_detector.h строка 170
|
private |
ФПС входного видео (две ширины полосы частот вибрации, которые можно отследить)
См. определение в файле vibration_detector.h строка 281
|
private |
Фреймпроцессор
См. определение в файле vibration_detector.h строка 129
|
private |
Текущее время кадра в мс (таймкод)
См. определение в файле vibration_detector.h строка 285
|
private |
Mat-instance, который будет показан в окне
См. определение в файле vibration_detector.h строка 204
|
private |
Флаг для полноэкранного режима
См. определение в файле vibration_detector.h строка 154
|
private |
Изображение цветной шкалы внизу экрана
См. определение в файле vibration_detector.h строка 209
|
private |
Очередь на отрисовку гистограм
См. определение в файле vibration_detector.h строка 174
|
private |
Имя (путь) входного видео
См. определение в файле vibration_detector.h строка 235
|
private |
Очередь на создание "обычных" точек
См. определение в файле vibration_detector.h строка 162
|
private |
Последняя позиция курсора в главном окне
См. определение в файле vibration_detector.h строка 146
|
private |
Количество слоев пирамиды изображений в алгоритме Л-К
См. определение в файле vibration_detector.h строка 274
|
private |
Размер окна для алгоритма Лукаса-Канаде
См. определение в файле vibration_detector.h строка 270
|
private |
Следующий (или текущий после "предыдущего" - смотря как удобнее для понимания) кадр видео в грейскейл и с небольшим блюром (FrameHandler::MakeGrayFrame())
См. определение в файле vibration_detector.h строка 266
|
private |
Имя (путь) файла для хранения метаданных
См. определение в файле vibration_detector.h строка 244
|
private |
Имя (путь) видео, в котором будет результат детектинга
См. определение в файле vibration_detector.h строка 239
|
private |
Псевдо-id (порядковывй номер точки)
См. определение в файле vibration_detector.h строка 142
|
private |
Предыдущий кадр видео в грейскейл и с небольшим блюром (FrameHandler::MakeGrayFrame())
См. определение в файле vibration_detector.h строка 262
|
private |
Коэффициент автоскейла размеров окна в зависимости от разрешения исходного видео
См. определение в файле vibration_detector.h строка 138
|
private |
Флаг, показывающий был ли выделен ROI или нет
См. определение в файле vibration_detector.h строка 226
|
private |
Флаг, показывающий происходит ли в данный момент выделение ROI.
См. определение в файле vibration_detector.h строка 222
|
private |
Флаг запущенного основного алгоритма
См. определение в файле vibration_detector.h строка 134
|
private |
Чувствительность при трекинге вибрации
Окно для изменения чувствительности вызывается кнопкой "A" при работающей проге
Чем выше значение - тем больше шумов будет поймано, но и тем меньше по амплитуде вибрации можно будет задетектить
См. определение в файле vibration_detector.h строка 194
|
private |
Координаты первой точки прямоугольник (top left, bottom left, top right, bottom right - смотря "в какую сторону" выделять ROI с помощью мыши (курсора))
См. определение в файле vibration_detector.h строка 230
|
private |
Вектор обработчиков "цветных" точек
См. определение в файле vibration_detector.h строка 182
|
private |
Вектор обработчиков "одиноких" точек
См. определение в файле vibration_detector.h строка 178
|
private |
Координаты фигуры для исправления перспективы
См. определение в файле vibration_detector.h строка 257
|
private |
Флаг, показывающий, происходит ли в данный момент выделение фигуры (эта возможность отключена временно)
См. определение в файле vibration_detector.h строка 253
|
private |
Имя главного окна
См. определение в файле vibration_detector.h строка 248