1#ifndef EULERIAN_ENLARGEMENT_H
2#define EULERIAN_ENLARGEMENT_H
5#include <opencv2/opencv.hpp>
32 void BuildLaplacePyramid(
const Mat& input_frame, std::vector<Mat>& input_pyramid,
const int levels);
39 void IirFilter(Mat& input_pyramid_level, Mat& motion_pyramid_level, Mat& low_pass_high_level, Mat& low_pass_low_level,
double cutoff_low,
double cutoff_high);
47 std::vector<Mat> low_pass_high_pyramid_;
48 std::vector<Mat> low_pass_low_pyramid_;
65 double lambda_cutoff_;
Класс для визуального увеличения вибрации на видео
double lambda_
Показательная длина волны
void IirFilter(Mat &input_pyramid_level, Mat &motion_pyramid_level, Mat &low_pass_high_level, Mat &low_pass_low_level, double cutoff_low, double cutoff_high)
Фильтр для отсекания низких и высоких "пространственных" частот ("фильтр с бесконечной импульсной хар...
void BuildFromLaplacePyramid(std::vector< Mat > &motion_pyramid, Mat &motion_frame, int levels)
Извлекаем выходное изображение из пирамиды Лапласа
double exaggeraiton_coefficient_
Коэффициент увеличения. Чем выше - тем больше шума, тем сильнее увеличиваются небольшие движения.
int levels_amount_
Количество уровней (слоев) пирамиды
void LaplaceEnlarge(Mat &motion_pyramid_level, int current_level)
Осуществляет увеличение движения на конкретном уровне пирамиды
double delta_
Коэффициент, использующийся при увеличении
void Attenuate(Mat &motion_frame)
"Приглушает" усиленные цвета на кадре
void BuildLaplacePyramid(const Mat &input_frame, std::vector< Mat > &input_pyramid, const int levels)
Создает пирамиду изображений
double color_attenuation_coefficient_
Коэффициент приглушеняи цвета