<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>mrpt::hwdrivers::CImageGrabber_OpenCV Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> > <b>C++ reference</b> </div> <div align="right"> <a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a> </div> <!-- Generated by Doxygen 1.7.5 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <div class="left"> <form id="FSearchBox" action="search.php" method="get"> <img id="MSearchSelect" src="search/mag.png" alt=""/> <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"/> </form> </div><div class="right"></div> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="inherits.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespacemrpt.html">mrpt</a> </li> <li class="navelem"><a class="el" href="namespacemrpt_1_1hwdrivers.html">hwdrivers</a> </li> <li class="navelem"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html">CImageGrabber_OpenCV</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> </div> <div class="headertitle"> <div class="title">mrpt::hwdrivers::CImageGrabber_OpenCV Class Reference<div class="ingroups"><a class="el" href="group__mrpt__hwdrivers__grp.html">[mrpt-hwdrivers]</a></div></div> </div> </div> <div class="contents"> <!-- doxytag: class="mrpt::hwdrivers::CImageGrabber_OpenCV" --><hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>A class for grabing images from a "OpenCV"-compatible camera, or from an AVI video file. </p> <p>See the constructor for the options when opening the camera.</p> <p>Unless input from AVI files is required, it is recommended to use the more generic class <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html" title="The central class for camera grabbers in MRPT, implementing the "generic sensor" interface.">mrpt::hwdrivers::CCameraSensor</a>.</p> <dl class="note"><dt><b>Note:</b></dt><dd>This class is only available when compiling MRPT with the flag "MRPT_HAS_OPENCV" defined. </dd> <dd> Some code is based on the class CaptureCamera from the Orocos project. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html" title="The central class for camera grabbers in MRPT, implementing the "generic sensor" interface.">mrpt::hwdrivers::CCameraSensor</a>, <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber__dc1394.html" title="A class for grabing images from a IEEE1394 (Firewire) camera using the libdc1394-2 library...">CImageGrabber_dc1394</a> </dd> <dd> The most generic camera grabber in MRPT: <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_camera_sensor.html" title="The central class for camera grabbers in MRPT, implementing the "generic sensor" interface.">mrpt::hwdrivers::CCameraSensor</a> </dd></dl> </div> <p><code>#include <<a class="el" href="_c_image_grabber___open_c_v_8h_source.html">mrpt/hwdrivers/CImageGrabber_OpenCV.h</a>></code></p> <p><a href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#aa0413f72a941fedf6e0bcac4d3b84d95">CImageGrabber_OpenCV</a> (int cameraIndex=-1, <a class="el" href="namespacemrpt_1_1hwdrivers.html#a27396db9daf1bae08f5c8efa20f1d3c4">TCameraType</a> cameraType=CAMERA_CV_AUTODETECT, const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html">TCaptureCVOptions</a> &options=<a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html">TCaptureCVOptions</a>())</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for cameras: <a href="#aa0413f72a941fedf6e0bcac4d3b84d95"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#ac4614160f5f56299efb616ddbb6e7b7f">CImageGrabber_OpenCV</a> (const <a class="el" href="classstd_1_1string.html">std::string</a> &AVI_fileName)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for AVI files: <a href="#ac4614160f5f56299efb616ddbb6e7b7f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#ab4d08e14ff33068356158a4f7f47abcf">~CImageGrabber_OpenCV</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#ab4d08e14ff33068356158a4f7f47abcf"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#afa997c48d944d0c2445f5ae42ebab9be">isOpen</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check whether the camera has been open successfully. <a href="#afa997c48d944d0c2445f5ae42ebab9be"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#a876c68c19a572244bcf335eb8f30d7e2">getObservation</a> (<a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html">mrpt::slam::CObservationImage</a> &out_observation)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Grab an image from the opened camera. <a href="#a876c68c19a572244bcf335eb8f30d7e2"></a><br/></td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#a47dc600e0087ed1295ce0f34c76b62a4">m_bInitialized</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set to false if we could not initialize the camera. <a href="#a47dc600e0087ed1295ce0f34c76b62a4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemrpt_1_1utils.html#ac3912bceb5e2a4662830ec51584d134b">mrpt::utils::void_ptr_noncopy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#ad4c5b88eeed8e1fe6f5fdc5e0f568b30">m_capture</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Internal use: <a href="#ad4c5b88eeed8e1fe6f5fdc5e0f568b30"></a><br/></td></tr> </table> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="aa0413f72a941fedf6e0bcac4d3b84d95"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::CImageGrabber_OpenCV" ref="aa0413f72a941fedf6e0bcac4d3b84d95" args="(int cameraIndex=-1, TCameraType cameraType=CAMERA_CV_AUTODETECT, const TCaptureCVOptions &options=TCaptureCVOptions())" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::hwdrivers::CImageGrabber_OpenCV::CImageGrabber_OpenCV </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>cameraIndex</em> = <code>-1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="namespacemrpt_1_1hwdrivers.html#a27396db9daf1bae08f5c8efa20f1d3c4">TCameraType</a> </td> <td class="paramname"><em>cameraType</em> = <code>CAMERA_CV_AUTODETECT</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html">TCaptureCVOptions</a> & </td> <td class="paramname"><em>options</em> = <code><a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html">TCaptureCVOptions</a>()</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor for cameras: </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">cameraIndex</td><td>Set the camera index, or -1 if it does not matter and you select AUTODETECT as cameraType. </td></tr> <tr><td class="paramname">cameraType</td><td>Can be any value of TCameraType, or CAMERA_CV_AUTODETECT if there is only one camera. </td></tr> <tr><td class="paramname">options</td><td>Capture options, defined in <a class="el" href="structmrpt_1_1hwdrivers_1_1_t_capture_c_v_options.html" title="Options used when creating an OpenCV capture object Some options apply to IEEE1394 cameras only...">mrpt::hwdrivers::TCaptureCVOptions</a>. If not provided, all the default options will be used. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ac4614160f5f56299efb616ddbb6e7b7f"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::CImageGrabber_OpenCV" ref="ac4614160f5f56299efb616ddbb6e7b7f" args="(const std::string &AVI_fileName)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">mrpt::hwdrivers::CImageGrabber_OpenCV::CImageGrabber_OpenCV </td> <td>(</td> <td class="paramtype">const <a class="el" href="classstd_1_1string.html">std::string</a> & </td> <td class="paramname"><em>AVI_fileName</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Constructor for AVI files: </p> </div> </div> <a class="anchor" id="ab4d08e14ff33068356158a4f7f47abcf"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::~CImageGrabber_OpenCV" ref="ab4d08e14ff33068356158a4f7f47abcf" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual mrpt::hwdrivers::CImageGrabber_OpenCV::~CImageGrabber_OpenCV </td> <td>(</td> <td class="paramname"></td><td>)</td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a876c68c19a572244bcf335eb8f30d7e2"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::getObservation" ref="a876c68c19a572244bcf335eb8f30d7e2" args="(mrpt::slam::CObservationImage &out_observation)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool mrpt::hwdrivers::CImageGrabber_OpenCV::getObservation </td> <td>(</td> <td class="paramtype"><a class="el" href="classmrpt_1_1slam_1_1_c_observation_image.html">mrpt::slam::CObservationImage</a> & </td> <td class="paramname"><em>out_observation</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Grab an image from the opened camera. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">out_observation</td><td>The object to be filled with sensed data.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>false on any error, true if all go fine. </dd></dl> </div> </div> <a class="anchor" id="afa997c48d944d0c2445f5ae42ebab9be"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::isOpen" ref="afa997c48d944d0c2445f5ae42ebab9be" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool mrpt::hwdrivers::CImageGrabber_OpenCV::isOpen </td> <td>(</td> <td class="paramname"></td><td>)</td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Check whether the camera has been open successfully. </p> <p>Definition at line <a class="el" href="_c_image_grabber___open_c_v_8h_source.html#l00117">117</a> of file <a class="el" href="_c_image_grabber___open_c_v_8h_source.html">CImageGrabber_OpenCV.h</a>.</p> </div> </div> <hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a47dc600e0087ed1295ce0f34c76b62a4"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::m_bInitialized" ref="a47dc600e0087ed1295ce0f34c76b62a4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#a47dc600e0087ed1295ce0f34c76b62a4">mrpt::hwdrivers::CImageGrabber_OpenCV::m_bInitialized</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Set to false if we could not initialize the camera. </p> <p>Definition at line <a class="el" href="_c_image_grabber___open_c_v_8h_source.html#l00090">90</a> of file <a class="el" href="_c_image_grabber___open_c_v_8h_source.html">CImageGrabber_OpenCV.h</a>.</p> </div> </div> <a class="anchor" id="ad4c5b88eeed8e1fe6f5fdc5e0f568b30"></a><!-- doxytag: member="mrpt::hwdrivers::CImageGrabber_OpenCV::m_capture" ref="ad4c5b88eeed8e1fe6f5fdc5e0f568b30" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="namespacemrpt_1_1utils.html#ac3912bceb5e2a4662830ec51584d134b">mrpt::utils::void_ptr_noncopy</a> <a class="el" href="classmrpt_1_1hwdrivers_1_1_c_image_grabber___open_c_v.html#ad4c5b88eeed8e1fe6f5fdc5e0f568b30">mrpt::hwdrivers::CImageGrabber_OpenCV::m_capture</a><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Internal use: </p> <p>Definition at line <a class="el" href="_c_image_grabber___open_c_v_8h_source.html#l00094">94</a> of file <a class="el" href="_c_image_grabber___open_c_v_8h_source.html">CImageGrabber_OpenCV.h</a>.</p> </div> </div> </div> <br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150"> </td></tr> </table> </body></html>