<?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[Tracking Punkte aufzeichnen mit C++]]></title><description><![CDATA[<p>Hallo liebe C++-Gemeinde!</p>
<p>Ich habe da mal eine Frage!</p>
<p>Mit Hilfe der Bibliothek OpenCV und C++ capture ich eine Bildsequenz mit einer Web-Cam. Dabei verfolge ich den Mittelpunkt eines Gesichts mit Hilfe einer Applikations-Schleife in C++.<br />
Ich wollte jetzt in einem bestimmten Zeitrahmen mehrere Punkte des Mittelpunktes in einem Array speichern, und aus dieser Sammlung von Punkten eine Gerade bestimmen.</p>
<p>Ich wollte jetzt mit der C-Standard-Bibliothek time.h die einzelnen Zeitpunkte bestimmen z.B. 30 Zeitpunkte pro Zeitrahmen. Jetzt weiss ich nicht, ob ich in der Applikation-Schleife die Zeitpunkte setzen soll.<br />
Hat einer von Euch einen Tipp für mich? Oder, vielleicht gibt es ja einen anderen Weg ( z.B. eine C++-Bibliothek, die einfacher zu benutzen wäre. Z.B. erzeugen eines Zeitobjekts, das eine bestimmte Funktion zu einen bestimmen Zeitpunkt ausführen könnte!</p>
<p>Grüße <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300634/tracking-punkte-aufzeichnen-mit-c</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 16:11:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300634.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 07 Mar 2012 06:41:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Wed, 07 Mar 2012 06:41:16 GMT]]></title><description><![CDATA[<p>Hallo liebe C++-Gemeinde!</p>
<p>Ich habe da mal eine Frage!</p>
<p>Mit Hilfe der Bibliothek OpenCV und C++ capture ich eine Bildsequenz mit einer Web-Cam. Dabei verfolge ich den Mittelpunkt eines Gesichts mit Hilfe einer Applikations-Schleife in C++.<br />
Ich wollte jetzt in einem bestimmten Zeitrahmen mehrere Punkte des Mittelpunktes in einem Array speichern, und aus dieser Sammlung von Punkten eine Gerade bestimmen.</p>
<p>Ich wollte jetzt mit der C-Standard-Bibliothek time.h die einzelnen Zeitpunkte bestimmen z.B. 30 Zeitpunkte pro Zeitrahmen. Jetzt weiss ich nicht, ob ich in der Applikation-Schleife die Zeitpunkte setzen soll.<br />
Hat einer von Euch einen Tipp für mich? Oder, vielleicht gibt es ja einen anderen Weg ( z.B. eine C++-Bibliothek, die einfacher zu benutzen wäre. Z.B. erzeugen eines Zeitobjekts, das eine bestimmte Funktion zu einen bestimmen Zeitpunkt ausführen könnte!</p>
<p>Grüße <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189308</guid><dc:creator><![CDATA[HelloWorld**]]></dc:creator><pubDate>Wed, 07 Mar 2012 06:41:16 GMT</pubDate></item><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Wed, 07 Mar 2012 09:48:59 GMT]]></title><description><![CDATA[<p>Du musst Dir vorher über die erforderliche Zeitauflösung klar werden. Die Routinen aus time.h sind plattformabhängig genau. Z.B. clock() löst m.W. unter Windows nur mit 15ms auf (und hat 1ms Präzision).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189373</guid><dc:creator><![CDATA[timeres]]></dc:creator><pubDate>Wed, 07 Mar 2012 09:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Wed, 07 Mar 2012 10:34:08 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Danke für den Tipp!</p>
<p>Ich setze das Programm unter Ubuntu 11.4 um! Weiss Du vielleicht wie das da aus sieht mit der Genauigkeit der Funktion clock()? Sind das die gleichen Werte?</p>
<p>Falls ich 30 Trackingpunkte nehmen würde (Z.B. um eine Handgeste zu erkennen) und pro. Punkt 100 ms Zeit brauche für die Aufnahme der Position! Für eine Geste würde ich also 3000ms beanspruchen (3 Sekunden)! Z.B. nur Wischgesten!</p>
<p>Die Aufnahme der Punktpositionen würde ich in einem separaten Thread umsetzen! Habe ich mir jetzt mal selber so gedacht! Wäre doch OK, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Den Tracking-Punkt global definieren (Damit einmal die Haupschleife drauf zugreifen kann ),und das der Zeit-Thread drauf zugreifen kann und sampeln und das Array füllen kann!</p>
<p>Grüße <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189384</guid><dc:creator><![CDATA[HelloWorld**]]></dc:creator><pubDate>Wed, 07 Mar 2012 10:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Wed, 07 Mar 2012 12:32:08 GMT]]></title><description><![CDATA[<blockquote>
<p>Weiss Du vielleicht wie das da aus sieht mit der Genauigkeit der Funktion clock()?</p>
</blockquote>
<p>Das weiss ich leider nicht. Wenn es nicht in der man-page steht, schreibe in einer schleife einige Tausend clock() Werte in ein Array und schaue Dir die Werte an. Das sollte zumindest grob die Auflösung geben.</p>
<blockquote>
<p>Falls ich 30 Trackingpunkte nehmen würde (Z.B. um eine Handgeste zu erkennen) und pro. Punkt 100 ms Zeit brauche für die Aufnahme der Position! Für eine Geste würde ich also 3000ms beanspruchen (3 Sekunden)! Z.B. nur Wischgesten!</p>
</blockquote>
<p>Es kommt doch mehr darauf an, wie lange die Geste dauert. Deine Kamera liefert ja nur einen bestimmte Framerate. Dauer_der_Geste*Framerate ergibt die Anzahl Bilder, die Du hast und damit die Anzahl möglicher Samples.</p>
<p>Ob Du dann einen separaten Thread brauchst, hängt von Deiner Verarbeitungsgeschwindigkeit ab. Wenn Du alles bis zum Eintreffen des nächsten Frames schaffst, reicht ein Thread.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189417</guid><dc:creator><![CDATA[timeres]]></dc:creator><pubDate>Wed, 07 Mar 2012 12:32:08 GMT</pubDate></item><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Fri, 09 Mar 2012 05:18:24 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Wenn ich jetzt z.B. 30 Trackingpunkte aufnehmen möchte in 30 Sekunden, warum macht er das nicht? Z.B. Jede Sekunde soll er einen Wert im Array speichern!</p>
<p>Hier mal ein Beispiel:</p>
<pre><code class="language-cpp">time_t start2,stop2;
	   double diff2;
	   int sek2=30;
	   pthread_mutex_lock( &amp;mutex1 );
	   Vec2d *myvalue = (Vec2d *) ptr;
           while((diff2=difftime(stop2=time(NULL),start2)) !=sek2){
           if (diff2==1){tracking_list[0].x=myvalue-&gt;x;tracking_list[0].y=myvalue-&gt;y;} // Wenn 1 Sekunde vergangen, dann speichere Wert
           if (diff2==2){tracking_list[1].x=myvalue-&gt;x;tracking_list[1].y=myvalue-&gt;y;} // Wenn 2 Sekunden vergangen, dann speichere Wert
                   ....
                   ....
                   usw.  

// mit for-Bedingung

for (int i=0;i&lt;number_of_samples;i++)
  {
        if (diff2==i+1){tracking_list[i].x=myvalue-&gt;x;tracking_list[i].y=myvalue-&gt;y;} }
</code></pre>
<p>Irgendwie werden nur Nullwerte gespeichert, obwohl passende Koordinatenwerte in myvalue vorhanden sind.</p>
<p>Was ist denn falsch an den Code?</p>
<p>Grüße <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189985</guid><dc:creator><![CDATA[HelloWorld**]]></dc:creator><pubDate>Fri, 09 Mar 2012 05:18:24 GMT</pubDate></item><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Fri, 09 Mar 2012 06:30:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;ctime&gt;
#include &lt;vector&gt;
#include &lt;iostream&gt;

class tracking_list_t {

	private:
		int x, y;

	public:
		tracking_list_t(int x, int y) : x(x), y(y) { };
};

int main( )
{
	int duration = 30;
	std::vector&lt;tracking_list_t&gt; tracking_list;

	for(int t = 0; t &lt; duration; ++t) {

		std::time_t then = time(0) + 1;
		while(time(0) &lt; then)
			; // do something

		std::cout &lt;&lt; ((t % 2) ? &quot;tock&quot; : &quot;tick&quot;) &lt;&lt; std::endl;

		tracking_list.push_back(tracking_list_t(42, 42));
	}
}
</code></pre>
<p>... aber ich glaub' nicht, dass das so was wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2189989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2189989</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 09 Mar 2012 06:30:43 GMT</pubDate></item><item><title><![CDATA[Reply to Tracking Punkte aufzeichnen mit C++ on Sat, 10 Mar 2012 16:43:26 GMT]]></title><description><![CDATA[<p>Vielen Dank für den Code (C++)</p>
<p>Ich werde den mal eingeben und einen Versuch starten!</p>
<p>Ich werde Infos geben!</p>
<p>Grüße <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2190503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2190503</guid><dc:creator><![CDATA[HelloWorld**]]></dc:creator><pubDate>Sat, 10 Mar 2012 16:43:26 GMT</pubDate></item></channel></rss>