diff --git a/modules/videostab/src/motion_stabilizing.cpp b/modules/videostab/src/motion_stabilizing.cpp index 98db99bf79..81ff8c9e7b 100644 --- a/modules/videostab/src/motion_stabilizing.cpp +++ b/modules/videostab/src/motion_stabilizing.cpp @@ -716,53 +716,5 @@ float estimateOptimalTrimRatio(const Mat &M, Size size) return r; } - -// TODO should process left open and right open segments? -void interpolateMotions(vector &motions, vector &mask) -{ - CV_Assert(motions.size() == mask.size() && motions.size() > 0); - - enum { INIT, IN_SEGMENT, LEFT_OPEN } state = mask[0] ? INIT : LEFT_OPEN; - int left = -1; - - for (int i = 1; i < static_cast(motions.size()); ++i) - { - if (state == INIT) - { - if (!mask[i]) - { - state = IN_SEGMENT; - left = i - 1; - } - } - else if (state == IN_SEGMENT) - { - if (mask[i]) - { - for (int j = left; j < i; ++j) - { - Mat_ M = Mat::eye(3, 3, CV_32F); - Mat_ Ml = motions[left]; - Mat_ Mr = motions[i]; - - float d1 = j - left; - float d2 = i - j; - - for (int l = 0; l < 3; ++l) - for (int s = 0; s < 3; ++s) - M(l,s) = (d2*Ml(l,s) + d1*Mr(l,s)) / (d1 + d2); - - motions[i] = M; - mask[i] = 1; - } - } - } - else if (state == LEFT_OPEN) - { - if (mask[i]) state = INIT; - } - } -} - } // namespace videostab } // namespace cv diff --git a/modules/videostab/src/precomp.hpp b/modules/videostab/src/precomp.hpp index 6d773b95cb..aed026b1fb 100644 --- a/modules/videostab/src/precomp.hpp +++ b/modules/videostab/src/precomp.hpp @@ -44,7 +44,7 @@ #define __OPENCV_PRECOMP_HPP__ #ifdef HAVE_CVCONFIG_H -#include "cvconfig.h" + #include "cvconfig.h" #endif #include