Updated FMM run() signature

pull/13383/head
Alexey Spizhevoy 13 years ago
parent 5e2bcacba5
commit 8fc84b7a41
  1. 2
      modules/videostab/include/opencv2/videostab/fast_marching.hpp
  2. 4
      modules/videostab/include/opencv2/videostab/fast_marching_inl.hpp
  3. 14
      modules/videostab/src/global_motion.cpp

@ -60,7 +60,7 @@ public:
FastMarchingMethod() : inf_(1e6f) {} FastMarchingMethod() : inf_(1e6f) {}
template <typename Inpaint> template <typename Inpaint>
void run(const Mat &mask, Inpaint inpaint); Inpaint run(const Mat &mask, Inpaint inpaint);
Mat distanceMap() const { return dist_; } Mat distanceMap() const { return dist_; }

@ -51,7 +51,7 @@ namespace videostab
{ {
template <typename Inpaint> template <typename Inpaint>
void FastMarchingMethod::run(const cv::Mat &mask, Inpaint inpaint) Inpaint FastMarchingMethod::run(const cv::Mat &mask, Inpaint inpaint)
{ {
using namespace std; using namespace std;
using namespace cv; using namespace cv;
@ -156,6 +156,8 @@ void FastMarchingMethod::run(const cv::Mat &mask, Inpaint inpaint)
} }
} }
} }
return inpaint;
} }
} // namespace videostab } // namespace videostab

@ -97,7 +97,7 @@ static Mat estimateGlobMotionLeastSquaresTranslationAndScale(
solve(A, b, sol, DECOMP_SVD); solve(A, b, sol, DECOMP_SVD);
if (rmse) if (rmse)
*rmse = norm(A*sol, b, NORM_L2) / sqrt(static_cast<float>(npoints)); *rmse = static_cast<float>(norm(A*sol, b, NORM_L2) / sqrt(static_cast<double>(npoints)));
Mat_<float> M = Mat::eye(3, 3, CV_32F); Mat_<float> M = Mat::eye(3, 3, CV_32F);
M(0,0) = M(1,1) = sol(0,0); M(0,0) = M(1,1) = sol(0,0);
@ -130,7 +130,7 @@ static Mat estimateGlobMotionLeastSquaresAffine(
solve(A, b, sol, DECOMP_SVD); solve(A, b, sol, DECOMP_SVD);
if (rmse) if (rmse)
*rmse = norm(A*sol, b, NORM_L2) / sqrt(static_cast<float>(npoints)); *rmse = static_cast<float>(norm(A*sol, b, NORM_L2) / sqrt(static_cast<double>(npoints)));
Mat_<float> M = Mat::eye(3, 3, CV_32F); Mat_<float> M = Mat::eye(3, 3, CV_32F);
for (int i = 0, k = 0; i < 2; ++i) for (int i = 0, k = 0; i < 2; ++i)
@ -157,8 +157,8 @@ Mat estimateGlobalMotionLeastSquares(
Mat estimateGlobalMotionRobust( Mat estimateGlobalMotionRobust(
const vector<Point2f> &points0, const vector<Point2f> &points1, int model, const RansacParams &params, const vector<Point2f> &points0, const vector<Point2f> &points1, int model,
float *rmse, int *ninliers) const RansacParams &params, float *rmse, int *ninliers)
{ {
CV_Assert(points0.size() == points1.size()); CV_Assert(points0.size() == points1.size());
@ -168,7 +168,8 @@ Mat estimateGlobalMotionRobust(
estimateGlobMotionLeastSquaresAffine }; estimateGlobMotionLeastSquaresAffine };
const int npoints = static_cast<int>(points0.size()); const int npoints = static_cast<int>(points0.size());
const int niters = static_cast<int>(ceil(log(1 - params.prob) / log(1 - pow(1 - params.eps, params.size)))); const int niters = static_cast<int>(ceil(log(1 - params.prob) /
log(1 - pow(1 - params.eps, params.size))));
RNG rng(0); RNG rng(0);
vector<int> indices(params.size); vector<int> indices(params.size);
@ -248,7 +249,8 @@ Mat estimateGlobalMotionRobust(
} }
PyrLkRobustMotionEstimator::PyrLkRobustMotionEstimator() : ransacParams_(RansacParams::affine2dMotionStd()) PyrLkRobustMotionEstimator::PyrLkRobustMotionEstimator()
: ransacParams_(RansacParams::affine2dMotionStd())
{ {
setDetector(new GoodFeaturesToTrackDetector()); setDetector(new GoodFeaturesToTrackDetector());
setOptFlowEstimator(new SparsePyrLkOptFlowEstimator()); setOptFlowEstimator(new SparsePyrLkOptFlowEstimator());

Loading…
Cancel
Save