<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cuvilib.com/index.php?action=history&amp;feed=atom&amp;title=Function%3ACuviMotionEstimator</id>
	<title>Function:CuviMotionEstimator - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cuvilib.com/index.php?action=history&amp;feed=atom&amp;title=Function%3ACuviMotionEstimator"/>
	<link rel="alternate" type="text/html" href="https://wiki.cuvilib.com/index.php?title=Function:CuviMotionEstimator&amp;action=history"/>
	<updated>2026-08-16T09:42:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.cuvilib.com/index.php?title=Function:CuviMotionEstimator&amp;diff=856&amp;oldid=prev</id>
		<title>Ghazanfar: Created page with &quot;===CuviMotionEstimator=== A class to estimate translation motion between 2 frames. * CuviMotionEstimator() - Default constructor. Creates empty CuviMotionEstimator object. * C...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cuvilib.com/index.php?title=Function:CuviMotionEstimator&amp;diff=856&amp;oldid=prev"/>
		<updated>2014-06-17T11:21:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;===CuviMotionEstimator=== A class to estimate translation motion between 2 frames. * CuviMotionEstimator() - Default constructor. Creates empty CuviMotionEstimator object. * C...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===CuviMotionEstimator===&lt;br /&gt;
A class to estimate translation motion between 2 frames.&lt;br /&gt;
* CuviMotionEstimator() - Default constructor. Creates empty CuviMotionEstimator object.&lt;br /&gt;
* CuviMotionEstimator(CuviMotionModel model = CUVI_MOTION_DEFAULT) - Creates a CuviMotionEstimator object to estimate the specified type of motion. Currently, only translation motion is supported.&lt;br /&gt;
* ~CuviMotionEstimator() - Destructor.&lt;br /&gt;
* CuviStatus estimate(const CuviImage&amp;amp; frame0, const CuviImage&amp;amp; frame1, Theta&amp;amp; motion) const; - Estimate the global motion vector between 2 frames.&lt;br /&gt;
  {|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
   |-&lt;br /&gt;
   ! Name	&lt;br /&gt;
   ! Type	&lt;br /&gt;
   ! Description&lt;br /&gt;
   |-&lt;br /&gt;
   | frame0&lt;br /&gt;
   | const CuviImage&amp;amp;&lt;br /&gt;
   | First input frame&lt;br /&gt;
   |-&lt;br /&gt;
   | frame1&lt;br /&gt;
   | const CuviImage&amp;amp;&lt;br /&gt;
   | Second input frame&lt;br /&gt;
   |-&lt;br /&gt;
   | motion&lt;br /&gt;
   | Theta&amp;amp;&lt;br /&gt;
   | Output global motion vector&lt;br /&gt;
   |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Image Type Support===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Input&lt;br /&gt;
|-&lt;br /&gt;
| 8uC3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
{|&lt;br /&gt;
|style=&amp;quot;font-size:150%;&amp;quot;|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Create CuviMotionEstimator object&lt;br /&gt;
cuvi::videostab::CuviMotionEstimator estimator;&lt;br /&gt;
&lt;br /&gt;
//Load images&lt;br /&gt;
CuviImage first = cuvi::io::loadImage(path, CUVI_LOAD_IMAGE_COLOR);&lt;br /&gt;
CuviImage second = cuvi::io::loadImage(path, CUVI_LOAD_IMAGE_COLOR);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cuvi::videostab::Theta theta;&lt;br /&gt;
&lt;br /&gt;
estimator.estimate(first, second, theta);&lt;br /&gt;
&lt;br /&gt;
std::cout&amp;lt;&amp;lt;&amp;quot;Dx = &amp;quot;&amp;lt;&amp;lt;theta.dx()&amp;lt;&amp;lt;&amp;quot;\nDy = &amp;quot;&amp;lt;&amp;lt;theta.dy()&amp;lt;&amp;lt;std::endl;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ghazanfar</name></author>
	</entry>
</feed>