Boring changes - videostab.
authorRoman Donchenko <roman.donchenko@itseez.com>
Tue, 13 Aug 2013 14:01:59 +0000 (18:01 +0400)
committerRoman Donchenko <roman.donchenko@itseez.com>
Thu, 5 Sep 2013 15:02:58 +0000 (19:02 +0400)
modules/videostab/src/frame_source.cpp
modules/videostab/src/global_motion.cpp
modules/videostab/src/inpainting.cpp
modules/videostab/src/motion_stabilizing.cpp
modules/videostab/src/stabilizer.cpp
modules/videostab/src/wobble_suppression.cpp

index 0032202..7ca4b73 100644 (file)
@@ -111,10 +111,10 @@ VideoFileSource::VideoFileSource(const String &path, bool volatileFrame)
 void VideoFileSource::reset() { impl->reset(); }
 Mat VideoFileSource::nextFrame() { return impl->nextFrame(); }
 
-int VideoFileSource::width() { return ((VideoFileSourceImpl*)impl.obj)->width(); }
-int VideoFileSource::height() { return ((VideoFileSourceImpl*)impl.obj)->height(); }
-int VideoFileSource::count() { return ((VideoFileSourceImpl*)impl.obj)->count(); }
-double VideoFileSource::fps() { return ((VideoFileSourceImpl*)impl.obj)->fps(); }
+int VideoFileSource::width() { return ((VideoFileSourceImpl*)impl.get())->width(); }
+int VideoFileSource::height() { return ((VideoFileSourceImpl*)impl.get())->height(); }
+int VideoFileSource::count() { return ((VideoFileSourceImpl*)impl.get())->count(); }
+double VideoFileSource::fps() { return ((VideoFileSourceImpl*)impl.get())->fps(); }
 
 } // namespace videostab
 } // namespace cv
index 383a10d..c9f15a6 100644 (file)
@@ -671,9 +671,9 @@ Mat ToFileMotionWriter::estimate(const Mat &frame0, const Mat &frame1, bool *ok)
 KeypointBasedMotionEstimator::KeypointBasedMotionEstimator(Ptr<MotionEstimatorBase> estimator)
     : ImageMotionEstimatorBase(estimator->motionModel()), motionEstimator_(estimator)
 {
-    setDetector(new GoodFeaturesToTrackDetector());
-    setOpticalFlowEstimator(new SparsePyrLkOptFlowEstimator());
-    setOutlierRejector(new NullOutlierRejector());
+    setDetector(makePtr<GoodFeaturesToTrackDetector>());
+    setOpticalFlowEstimator(makePtr<SparsePyrLkOptFlowEstimator>());
+    setOutlierRejector(makePtr<NullOutlierRejector>());
 }
 
 
@@ -708,7 +708,7 @@ Mat KeypointBasedMotionEstimator::estimate(const Mat &frame0, const Mat &frame1,
 
     // perform outlier rejection
 
-    IOutlierRejector *outlRejector = static_cast<IOutlierRejector*>(outlierRejector_);
+    IOutlierRejector *outlRejector = outlierRejector_.get();
     if (!dynamic_cast<NullOutlierRejector*>(outlRejector))
     {
         pointsPrev_.swap(pointsPrevGood_);
@@ -745,7 +745,7 @@ KeypointBasedMotionEstimatorGpu::KeypointBasedMotionEstimatorGpu(Ptr<MotionEstim
     detector_ = gpu::createGoodFeaturesToTrackDetector(CV_8UC1);
 
     CV_Assert(gpu::getCudaEnabledDeviceCount() > 0);
-    setOutlierRejector(new NullOutlierRejector());
+    setOutlierRejector(makePtr<NullOutlierRejector>());
 }
 
 
@@ -784,7 +784,7 @@ Mat KeypointBasedMotionEstimatorGpu::estimate(const gpu::GpuMat &frame0, const g
 
     // perform outlier rejection
 
-    IOutlierRejector *rejector = static_cast<IOutlierRejector*>(outlierRejector_);
+    IOutlierRejector *rejector = outlierRejector_.get();
     if (!dynamic_cast<NullOutlierRejector*>(rejector))
     {
         outlierRejector_->process(frame0.size(), hostPointsPrev_, hostPoints_, rejectionStatus_);
index b309204..7f5368c 100644 (file)
@@ -324,7 +324,7 @@ public:
 MotionInpainter::MotionInpainter()
 {
 #ifdef HAVE_OPENCV_GPUOPTFLOW
-    setOptFlowEstimator(new DensePyrLkOptFlowEstimatorGpu());
+    setOptFlowEstimator(makePtr<DensePyrLkOptFlowEstimatorGpu>());
 #else
     CV_Error(Error::StsNotImplemented, "Current implementation of MotionInpainter requires GPU");
 #endif
index c1f3442..65bbd73 100644 (file)
@@ -532,9 +532,9 @@ void LpMotionStabilizer::stabilize(
     model.scaling(1);
 
     ClpPresolve presolveInfo;
-    Ptr<ClpSimplex> presolvedModel = presolveInfo.presolvedModel(model);
+    Ptr<ClpSimplex> presolvedModel(presolveInfo.presolvedModel(model));
 
-    if (!presolvedModel.empty())
+    if (presolvedModel)
     {
         presolvedModel->dual();
         presolveInfo.postsolve(true);
index 50ac05c..f9c09ba 100644 (file)
@@ -54,11 +54,11 @@ namespace videostab
 
 StabilizerBase::StabilizerBase()
 {
-    setLog(new LogToStdout());
-    setFrameSource(new NullFrameSource());
-    setMotionEstimator(new KeypointBasedMotionEstimator(new MotionEstimatorRansacL2()));
-    setDeblurer(new NullDeblurer());
-    setInpainter(new NullInpainter());
+    setLog(makePtr<LogToStdout>());
+    setFrameSource(makePtr<NullFrameSource>());
+    setMotionEstimator(makePtr<KeypointBasedMotionEstimator>(makePtr<MotionEstimatorRansacL2>()));
+    setDeblurer(makePtr<NullDeblurer>());
+    setInpainter(makePtr<NullInpainter>());
     setRadius(15);
     setTrimRatio(0);
     setCorrectionForInclusion(false);
@@ -156,7 +156,7 @@ bool StabilizerBase::doOneIteration()
 
 void StabilizerBase::setUp(const Mat &firstFrame)
 {
-    InpainterBase *inpaint = static_cast<InpainterBase*>(inpainter_);
+    InpainterBase *inpaint = inpainter_.get();
     doInpainting_ = dynamic_cast<NullInpainter*>(inpaint) == 0;
     if (doInpainting_)
     {
@@ -167,7 +167,7 @@ void StabilizerBase::setUp(const Mat &firstFrame)
         inpainter_->setStabilizationMotions(stabilizationMotions_);
     }
 
-    DeblurerBase *deblurer = static_cast<DeblurerBase*>(deblurer_);
+    DeblurerBase *deblurer = deblurer_.get();
     doDeblurring_ = dynamic_cast<NullDeblurer*>(deblurer) == 0;
     if (doDeblurring_)
     {
@@ -252,7 +252,7 @@ void StabilizerBase::logProcessingTime()
 
 OnePassStabilizer::OnePassStabilizer()
 {
-    setMotionFilter(new GaussianMotionFilter());
+    setMotionFilter(makePtr<GaussianMotionFilter>());
     reset();
 }
 
@@ -308,8 +308,8 @@ Mat OnePassStabilizer::postProcessFrame(const Mat &frame)
 
 TwoPassStabilizer::TwoPassStabilizer()
 {
-    setMotionStabilizer(new GaussianMotionFilter());
-    setWobbleSuppressor(new NullWobbleSuppressor());
+    setMotionStabilizer(makePtr<GaussianMotionFilter>());
+    setWobbleSuppressor(makePtr<NullWobbleSuppressor>());
     setEstimateTrimRatio(false);
     reset();
 }
@@ -371,7 +371,7 @@ void TwoPassStabilizer::runPrePassIfNecessary()
     {
         // check if we must do wobble suppression
 
-        WobbleSuppressorBase *wobble = static_cast<WobbleSuppressorBase*>(wobbleSuppressor_);
+        WobbleSuppressorBase *wobble = wobbleSuppressor_.get();
         doWobbleSuppression_ = dynamic_cast<NullWobbleSuppressor*>(wobble) == 0;
 
         // estimate motions
@@ -469,7 +469,7 @@ void TwoPassStabilizer::setUp(const Mat &firstFrame)
     for (int i = -radius_; i <= 0; ++i)
         at(i, frames_) = firstFrame;
 
-    WobbleSuppressorBase *wobble = static_cast<WobbleSuppressorBase*>(wobbleSuppressor_);
+    WobbleSuppressorBase *wobble = wobbleSuppressor_.get();
     doWobbleSuppression_ = dynamic_cast<NullWobbleSuppressor*>(wobble) == 0;
     if (doWobbleSuppression_)
     {
index c9d8ac9..0b652b9 100644 (file)
@@ -60,7 +60,7 @@ namespace videostab
 
 WobbleSuppressorBase::WobbleSuppressorBase() : motions_(0), stabilizationMotions_(0)
 {
-    setMotionEstimator(new KeypointBasedMotionEstimator(new MotionEstimatorRansacL2(MM_HOMOGRAPHY)));
+    setMotionEstimator(makePtr<KeypointBasedMotionEstimator>(makePtr<MotionEstimatorRansacL2>(MM_HOMOGRAPHY)));
 }