<?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[Adressierungsprobleme auf dem NGW100]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich arbeite seit längerem mit dem NGW100. Auf dem NGW100 ist ein Kameraboard</p>
<p>(Framos CM1314YFM) über die serielle Schnittstelle des NGW 100 angeschlossen.</p>
<p>Meine Aufgabe ist es mit Hilfe der Kamera kreisförmige Objekte(z.B.</p>
<p>Luftaballons) mit Hilfe von OpenCV zu lokalisieren. Das habe ich auch ganz gut</p>
<p>hinbekommen, aber über die Webcam meines Laptops.</p>
<p>Nun soll ich den vorhandenen Code auf das NGW100 Board portieren. Genau hier</p>
<p>habe ich ein Problem, welches vermutlich an der Adressierung liegt.</p>
<p>Die Kamera nimmt Fotos in dem VYUY Format auf und es soll in den RGB Farbraum</p>
<p>konvertiert werden, da OpenCV nur mit dem RGB Format arbeiten kann.</p>
<p>Fehlerbeschreibung:</p>
<p>Die Funktion yuv422 bekommt als erstes Parameter, die line_yuv Werte(eigentlich</p>
<p>vyuy) übergeben und soll nach der Berechnung die Werte als Ausgabeparameter an</p>
<p>line_rgb abspeichern.</p>
<p><strong>Der Code:</strong></p>
<p>static void yuv422_to_rgb(unsigned char *src, unsigned char *dst,<br />
unsigned int nr_pixels)<br />
{<br />
unsigned int i;<br />
int y1, y2, u, v;</p>
<p>int x = 0;</p>
<p>for (i = 0; i &lt; nr_pixels; i += 2)<br />
{</p>
<p>y2 = *src++;<br />
v = *src++;<br />
y1 = *src++;<br />
u = *src++;<br />
y1 -= 16;<br />
u -= 128;<br />
v -= 128;<br />
y2 -= 16;</p>
<p>*dst++ = clip(( 298 * y1 + 409 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y1 - 100 * u - 208 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y1 + 516 * u + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y2 + 409 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y2 - 100 * u - 208 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y2 + 516 * u + 128) &gt;&gt; 8);</p>
<p>if( x == 0)<br />
{</p>
<p>//Diese Werte stimmen nicht mit den Werten von unten überein</p>
<p>printf(&quot;A: 1: %i, 2: %i, 3: %i, 4: %i, 5: %i, 6:%i\n&quot;,<br />
dst[1], dst[2], dst[3], dst[4], dst[5], dst[6]);</p>
<p>x++;<br />
}<br />
}<br />
}</p>
<p>int main()<br />
{<br />
.<br />
.<br />
.</p>
<p>unsigned char *line_rgb;<br />
unsigned char *line_yuv;</p>
<p>line_rgb = (unsigned char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> calloc(image-&gt;width * 3,<br />
sizeof(unsigned char));</p>
<p>line_yuv = (unsigned char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> image-&gt;buf;</p>
<p>yuv422_to_rgb(line_yuv, line_rgb, image-&gt;width);</p>
<p>//Diese Werte stimmen nicht mit den Werten von oben überein<br />
printf(&quot;B: 1: %i, 2: %i, 3: %i, 4: %i, 5: %i, 6: %i,\n&quot;,<br />
line_rgb[0], line_rgb[1], line_rgb[2], line_rgb[3],<br />
line_rgb[4], line_rgb[5]);<br />
.<br />
.<br />
.</p>
<p>}</p>
<p>Ich bin mir sicher, dass es ein kleiner Fehler ist, aber leider komme ich</p>
<p>einfach nicht zu einer Lösung.</p>
<p>Vielen Dank für eure Hilfe...</p>
<p>Gruss aus Berlin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286871/adressierungsprobleme-auf-dem-ngw100</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 18:53:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286871.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 18 May 2011 01:03:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Adressierungsprobleme auf dem NGW100 on Wed, 18 May 2011 01:03:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich arbeite seit längerem mit dem NGW100. Auf dem NGW100 ist ein Kameraboard</p>
<p>(Framos CM1314YFM) über die serielle Schnittstelle des NGW 100 angeschlossen.</p>
<p>Meine Aufgabe ist es mit Hilfe der Kamera kreisförmige Objekte(z.B.</p>
<p>Luftaballons) mit Hilfe von OpenCV zu lokalisieren. Das habe ich auch ganz gut</p>
<p>hinbekommen, aber über die Webcam meines Laptops.</p>
<p>Nun soll ich den vorhandenen Code auf das NGW100 Board portieren. Genau hier</p>
<p>habe ich ein Problem, welches vermutlich an der Adressierung liegt.</p>
<p>Die Kamera nimmt Fotos in dem VYUY Format auf und es soll in den RGB Farbraum</p>
<p>konvertiert werden, da OpenCV nur mit dem RGB Format arbeiten kann.</p>
<p>Fehlerbeschreibung:</p>
<p>Die Funktion yuv422 bekommt als erstes Parameter, die line_yuv Werte(eigentlich</p>
<p>vyuy) übergeben und soll nach der Berechnung die Werte als Ausgabeparameter an</p>
<p>line_rgb abspeichern.</p>
<p><strong>Der Code:</strong></p>
<p>static void yuv422_to_rgb(unsigned char *src, unsigned char *dst,<br />
unsigned int nr_pixels)<br />
{<br />
unsigned int i;<br />
int y1, y2, u, v;</p>
<p>int x = 0;</p>
<p>for (i = 0; i &lt; nr_pixels; i += 2)<br />
{</p>
<p>y2 = *src++;<br />
v = *src++;<br />
y1 = *src++;<br />
u = *src++;<br />
y1 -= 16;<br />
u -= 128;<br />
v -= 128;<br />
y2 -= 16;</p>
<p>*dst++ = clip(( 298 * y1 + 409 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y1 - 100 * u - 208 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y1 + 516 * u + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y2 + 409 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y2 - 100 * u - 208 * v + 128) &gt;&gt; 8);<br />
*dst++ = clip(( 298 * y2 + 516 * u + 128) &gt;&gt; 8);</p>
<p>if( x == 0)<br />
{</p>
<p>//Diese Werte stimmen nicht mit den Werten von unten überein</p>
<p>printf(&quot;A: 1: %i, 2: %i, 3: %i, 4: %i, 5: %i, 6:%i\n&quot;,<br />
dst[1], dst[2], dst[3], dst[4], dst[5], dst[6]);</p>
<p>x++;<br />
}<br />
}<br />
}</p>
<p>int main()<br />
{<br />
.<br />
.<br />
.</p>
<p>unsigned char *line_rgb;<br />
unsigned char *line_yuv;</p>
<p>line_rgb = (unsigned char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> calloc(image-&gt;width * 3,<br />
sizeof(unsigned char));</p>
<p>line_yuv = (unsigned char <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> image-&gt;buf;</p>
<p>yuv422_to_rgb(line_yuv, line_rgb, image-&gt;width);</p>
<p>//Diese Werte stimmen nicht mit den Werten von oben überein<br />
printf(&quot;B: 1: %i, 2: %i, 3: %i, 4: %i, 5: %i, 6: %i,\n&quot;,<br />
line_rgb[0], line_rgb[1], line_rgb[2], line_rgb[3],<br />
line_rgb[4], line_rgb[5]);<br />
.<br />
.<br />
.</p>
<p>}</p>
<p>Ich bin mir sicher, dass es ein kleiner Fehler ist, aber leider komme ich</p>
<p>einfach nicht zu einer Lösung.</p>
<p>Vielen Dank für eure Hilfe...</p>
<p>Gruss aus Berlin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2064985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2064985</guid><dc:creator><![CDATA[thulfikar]]></dc:creator><pubDate>Wed, 18 May 2011 01:03:59 GMT</pubDate></item><item><title><![CDATA[Reply to Adressierungsprobleme auf dem NGW100 on Wed, 18 May 2011 06:37:53 GMT]]></title><description><![CDATA[<p>1. Garantiert falsches Forum. Entweder C, wenn du glaubst dass es am Programm selbst liegt oder RudP wenn du Hilfe zum NGW100 brauchst.<br />
2. Ohne die cpp-Tags (links unter den Smileys) sieht der Code so hässlich aus, das liest sich keiner durch<br />
3. Deine Fehlerbeschreibung ist eine Funktionsbeschreibung. Soll ich etwa den Code vollständig nachvollziehen, an welcher Stelle wohl ein Fehler unbekannter Art auftreten könnte? Was ist der Fehler?</p>
<p>Ich verschiebe den Beitrag jetzt mal nicht in ein passendes Subforum, denn mit so einem Beitrag bekommst du keine Antworten und dann nervt der Beitrag nur noch mehr Leser. Erstell lieber im passenden Bereich noch einmal einen guten(!) Beitrag. Lies dir auch diese Links durch, wenn du Ratschläge zu guten Fragen brauchst:<br />
<a href="http://www.c-plusplus.net/forum/200753" rel="nofollow">http://www.c-plusplus.net/forum/200753</a><br />
<a href="http://www.c-plusplus.net/forum/136013" rel="nofollow">http://www.c-plusplus.net/forum/136013</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065005</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 18 May 2011 06:37:53 GMT</pubDate></item><item><title><![CDATA[Reply to Adressierungsprobleme auf dem NGW100 on Wed, 18 May 2011 22:35:17 GMT]]></title><description><![CDATA[<p>thulfikar schrieb:</p>
<blockquote>
<p>printf(&quot;A: 1: %i, 2: %i, 3: %i, 4: %i, 5: %i, 6:%i\n&quot;,<br />
dst[1], dst[2], dst[3], dst[4], dst[5], dst[6]);</p>
</blockquote>
<blockquote>
<p>//Diese Werte stimmen nicht mit den Werten von oben überein<br />
printf(&quot;B: 1: %i, 2: %i, 3: %i, 4: %i, 5: %i, 6: %i,\n&quot;,<br />
line_rgb[0], line_rgb[1], line_rgb[2], line_rgb[3], line_rgb[4], line_rgb[5]);</p>
</blockquote>
<p>Vergleich doch mal die Indizes in den beiden Ausgabebefehlen - erkennst du da einen Unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065580</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 18 May 2011 22:35:17 GMT</pubDate></item><item><title><![CDATA[Reply to Adressierungsprobleme auf dem NGW100 on Wed, 18 May 2011 22:59:36 GMT]]></title><description><![CDATA[<p>... abgesehen davon wird dst in der Funktion auch noch verändert. Ohne den vollständigen Code kann man also gar nichts dazu sagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2065584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2065584</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 18 May 2011 22:59:36 GMT</pubDate></item></channel></rss>