<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[OpenCv gekapselt, wie Datei wieder schließen?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mir ein MFC GUI gebastelt in dem ich ein paar OpenCv Funktionen nutze um Videodateien zu öffnen, darin Nutzereingaben machen zu lassen und wieder zu schließen. Im Anschluß werden diese Eingaben benutzt um einen Algorithmus auf der Videosequenz auszuführen.</p>
<p>Die im GUI benutzte OpenCv Funktionalität habe ich gekapselt. Allerdings weiß ich nicht, wie ich die geöffnete Videodatei wieder schließen kann.</p>
<p>Das Problem steckt in der CVideo::releaseFileCapture() -Funktion. Die darin gekapselte OpenCV-Funktion cvReleaseCapture(&amp;capture) benötigt die Membervariable &amp;CVideo::inVideo; ...müsste ich daher als public deklarieren.<br />
Allerdings ist diese Variante nicht unbedingt die beste.</p>
<p>Für eure Vorschläge wie ich diese Sache besser (oder überhaupt) lösen kann wäre ich sehr dankbar!</p>
<pre><code>class CVideo
{
  ...
public:  
  bool setFileCapture(const string&amp; name)
  {
     // name im Stil von: &quot;C:\\Dateien\\filmchen1.avi&quot;
     const char* cstringName = name.c_str();     
     ...
     //
     // Datei öffnen:
     // CvCapture* = cvCreateFileCapture(const char* filename);
     //
     inVideo = cvCreateFileCapture(cstringName);

     if(inVideo == NULL)
       return false;

     pathName = filename;
     return true;
  }

  CvCapture* getFileCapture()
  {
     return inVideo;
  }

   void releaseFileCapture();
   { 
      if(inVideo != NULL)
      {
        // Datei schließen:
        // cvReleaseCapture(&amp;capture);
        // mein Problem, da oben ^

        // wäre es legitim inVideo als public zu deklarieren ???
        cvReleaseCapture(&amp; inVideo); 
      }   
   }

private:

  string pathName;
  CvCapture* inVideo;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/247796/opencv-gekapselt-wie-datei-wieder-schließen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:02:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247796.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Aug 2009 16:15:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to OpenCv gekapselt, wie Datei wieder schließen? on Sat, 15 Aug 2009 16:15:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab mir ein MFC GUI gebastelt in dem ich ein paar OpenCv Funktionen nutze um Videodateien zu öffnen, darin Nutzereingaben machen zu lassen und wieder zu schließen. Im Anschluß werden diese Eingaben benutzt um einen Algorithmus auf der Videosequenz auszuführen.</p>
<p>Die im GUI benutzte OpenCv Funktionalität habe ich gekapselt. Allerdings weiß ich nicht, wie ich die geöffnete Videodatei wieder schließen kann.</p>
<p>Das Problem steckt in der CVideo::releaseFileCapture() -Funktion. Die darin gekapselte OpenCV-Funktion cvReleaseCapture(&amp;capture) benötigt die Membervariable &amp;CVideo::inVideo; ...müsste ich daher als public deklarieren.<br />
Allerdings ist diese Variante nicht unbedingt die beste.</p>
<p>Für eure Vorschläge wie ich diese Sache besser (oder überhaupt) lösen kann wäre ich sehr dankbar!</p>
<pre><code>class CVideo
{
  ...
public:  
  bool setFileCapture(const string&amp; name)
  {
     // name im Stil von: &quot;C:\\Dateien\\filmchen1.avi&quot;
     const char* cstringName = name.c_str();     
     ...
     //
     // Datei öffnen:
     // CvCapture* = cvCreateFileCapture(const char* filename);
     //
     inVideo = cvCreateFileCapture(cstringName);

     if(inVideo == NULL)
       return false;

     pathName = filename;
     return true;
  }

  CvCapture* getFileCapture()
  {
     return inVideo;
  }

   void releaseFileCapture();
   { 
      if(inVideo != NULL)
      {
        // Datei schließen:
        // cvReleaseCapture(&amp;capture);
        // mein Problem, da oben ^

        // wäre es legitim inVideo als public zu deklarieren ???
        cvReleaseCapture(&amp; inVideo); 
      }   
   }

private:

  string pathName;
  CvCapture* inVideo;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1761428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761428</guid><dc:creator><![CDATA[wurstrolle]]></dc:creator><pubDate>Sat, 15 Aug 2009 16:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to OpenCv gekapselt, wie Datei wieder schließen? on Sat, 15 Aug 2009 16:56:48 GMT]]></title><description><![CDATA[<p>Upps, passiert den Besten. Lösung selbst gefunden, Beitrag bitte schnell mal löschen :-).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761450</guid><dc:creator><![CDATA[wurstrolle]]></dc:creator><pubDate>Sat, 15 Aug 2009 16:56:48 GMT</pubDate></item></channel></rss>