4#define MAIN_MENU_WINDOW_NAME "Main menu"
11#include <opencv2/opencv.hpp>
12#include <opencv2/core.hpp>
15#include "VVT-V2\vibration_detector.h"
16#include "CamCalib\video_undistorter.h"
17#include "CamCalib\camera_calibrator.h"
18#include "MovEn/movement_enlargement.h"
84 static void OnMouse(
int event,
int x,
int y,
int flags,
void* userdata);
88 void DetectEvent(
int event,
int x,
int y,
int flags);
Класс для создания начального меню выбора режима работы программы
void ExecuteCameraCalibration(std::string chessboards_path)
Запускает калибровку камеры по картинкам шахматных досок
std::string input_vibration_detection_
Имя (путь) входного файла (видео) для детекции вибрации
int button_height_
Высота кнопки
Mat menu_
Изображение меню, на котором будет происходить отрисовка
int thickness
Толщина шрифта
std::string output_movement_enlargement_
Имя (путь) выходного файла (видео) для усиления движения
double font_scale
Величина шрифта
std::string params_file_name_
Путь файла с параметрами
void ExecuteVideoUndistortion(std::string input_file_name, std::string output_file_name)
Запускает удаление дисторсии
int button_spacing_
Отступ между кнопками
Point2i last_mouse_position_
Последние найденные в callback координаты курсора
std::string input_distorted_video_
Имя (путь) входного файла (видео) для удаления дисторсии
std::string output_vibration_detection_
Имя (путь) выходного файла (видео) после детекции вибрации
std::string input_calibration_video_
Имя (путь) входного файла (видео) для калибровки
bool wanna_quit_
Флаг выхода из программы
void CreateMenu()
Строит сетку меню с кнопками и надписями на Mat-объекте menu_.
std::string button_text_[4]
Тексты кнопок
void ExecuteMotionMagnification(std::string input_file_name, std::string output_file_name)
Запускает увеличение движения
int top_offset_
Отступ от застаканных кнопок сверху
int menu_width_
Ширина меню
bool mode_chosen_
Флаг выбранного режима
std::string winname_
Название окна
int baseline
Параметр для cv::getText()
void DetectEvent(int event, int x, int y, int flags)
callback функция для определения события (используется для хэндлинга клика мышью)
void ExecuteVibrationMonitoring(std::string input_file_name, std::string output_file_name)
Запускает детекцию вибрации (основной режим)
int button_width_
Ширина кнопки
std::string input_movement_enlargment_
Имя (путь) входного файла (видео) для усиления движения
std::vector< Rect > buttons_
Контейнер, хранящий в себе прямоугольники-кнопки (фактически тут хранятся координаты кнопок)
int width_offset_
Отступ с двух сторон от кнопки по ширине
void LoadPaths()
Открывает нужные пути
int button_amount_
Количество кнопок
std::vector< Scalar > buttons_color_
Контейнер для хранения цвета каждой кнопки
std::string output_undistorted_video_
Имя (путь) выходного файла (видео) после удаления дисторсии
int menu_height_
Высота меню
std::string chessboards_path_
Путь к папке с фотографиями шахматной доски
int bottom_offset_
Отступ от застаканных кнопок снизу
MODE
Перечисление со списком основных режимов работы
void UpdateBtnColorAndText()
Раскрашивает кнопки и наносит на них текст
static void OnMouse(int event, int x, int y, int flags, void *userdata)
callback функция для определения события (используется для хэндлинга клика мышью)