<?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[raw image laden: eigenartiges verhalten]]></title><description><![CDATA[<p>Hi,</p>
<p>Eigentlich habe ich das schon einige male erfolgreich gemacht - raw-images laden. Ich benutze den gleichen Code wie sonst, dennoch sind die Resultate nicht das, was ich erwartet habe. Im Folgenden der Konstruktor meiner Image Klasse:</p>
<pre><code>Image(FILE *f,unsigned int width, unsigned int height, unsigned int channels){	// assumes f is opened for reading
		this-&gt;width = width;
		this-&gt;height = height;
		this-&gt;channels = channels;
		this-&gt;pixels = new unsigned char [width*height*channels];
		fread(this-&gt;pixels,sizeof(unsigned char),width*height*channels,f);
		for(int i=0; i&lt;width*height*channels; i++){
			printf(&quot;%d::&quot;,(int)(pixels[i]));
		}
	}
</code></pre>
<p>Den letzten for-loop habe ich mal zu Testzwecken da reingesetzt. Das was ich als Ausgabe bekomme sind richtige Werte für die ersten paar Pixel, nach ca 100Pixeln scheint jedoch nur noch 205 ausgelesen zu werden. Ich habe das gleiche Bild mit einem anderen Programm geladen bei dem der Code zum Laden gleich ist und da funktioniert es. Ich kann die Datei auch zu RAW umbenennen und sie in einem Grafikprogramm öffnen - auch hier ist nichts zu sehen vom 205er Grauton. Es liegt also offenbar nicht an der Datei, dass es nicht funktioniert.</p>
<p>Hat jemand eine Idee wo das Problem liegen könnte? Kommt mir gerade echt komisch vor.</p>
<p>Gruß<br />
cman</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219764/raw-image-laden-eigenartiges-verhalten</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 19:03:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219764.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Aug 2008 10:24:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to raw image laden: eigenartiges verhalten on Thu, 07 Aug 2008 10:24:13 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Eigentlich habe ich das schon einige male erfolgreich gemacht - raw-images laden. Ich benutze den gleichen Code wie sonst, dennoch sind die Resultate nicht das, was ich erwartet habe. Im Folgenden der Konstruktor meiner Image Klasse:</p>
<pre><code>Image(FILE *f,unsigned int width, unsigned int height, unsigned int channels){	// assumes f is opened for reading
		this-&gt;width = width;
		this-&gt;height = height;
		this-&gt;channels = channels;
		this-&gt;pixels = new unsigned char [width*height*channels];
		fread(this-&gt;pixels,sizeof(unsigned char),width*height*channels,f);
		for(int i=0; i&lt;width*height*channels; i++){
			printf(&quot;%d::&quot;,(int)(pixels[i]));
		}
	}
</code></pre>
<p>Den letzten for-loop habe ich mal zu Testzwecken da reingesetzt. Das was ich als Ausgabe bekomme sind richtige Werte für die ersten paar Pixel, nach ca 100Pixeln scheint jedoch nur noch 205 ausgelesen zu werden. Ich habe das gleiche Bild mit einem anderen Programm geladen bei dem der Code zum Laden gleich ist und da funktioniert es. Ich kann die Datei auch zu RAW umbenennen und sie in einem Grafikprogramm öffnen - auch hier ist nichts zu sehen vom 205er Grauton. Es liegt also offenbar nicht an der Datei, dass es nicht funktioniert.</p>
<p>Hat jemand eine Idee wo das Problem liegen könnte? Kommt mir gerade echt komisch vor.</p>
<p>Gruß<br />
cman</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560734</guid><dc:creator><![CDATA[cman]]></dc:creator><pubDate>Thu, 07 Aug 2008 10:24:13 GMT</pubDate></item><item><title><![CDATA[Reply to raw image laden: eigenartiges verhalten on Thu, 07 Aug 2008 10:45:29 GMT]]></title><description><![CDATA[<p>Wie ist denn der Rückgabewert von fread?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560758</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 07 Aug 2008 10:45:29 GMT</pubDate></item><item><title><![CDATA[Reply to raw image laden: eigenartiges verhalten on Thu, 07 Aug 2008 12:33:06 GMT]]></title><description><![CDATA[<p>Der Rückgabewert ist 241, aber sollte 100000 sein, da das Bild 4 Kanäle hat, und 125x200 pixel groß ist. feof(f) ist true, also glaubt er sich am Ende der Datei zu befinden.<br />
Lasse ich mir allerdings die aktuelle Position ausgeben, kommt dabei 4096 raus, was ich partout nicht nachvollziehen kann. Der Header ist 30bytes groß, danach folgen schon die pixelinformationen und zum schluss noch anderer Kram. Die Datei ist insgesamt 100047bytes groß(kommt rechnerisch hin und wird auch so vom OS angezeigt). Wenn ich am Ende der Datei bin, sollte man doch erwarten, dass ich diesen Wert erhalte, wenn ich ftell(f) aufrufe.</p>
<p>Ich versteh es nicht. Noch eine Idee?</p>
<p><strong>EDIT:</strong><br />
Ich habe jetzt mal die Daten abgeändert(andere Pixeldaten, gleiche Größe), jetzt wird 73 zurückgegeben. Seltsam ist, dass ftell(f) immernoch 4096 ausspuckt, obwohl ja angeblich weniger gelesen werden konnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560812</guid><dc:creator><![CDATA[cman]]></dc:creator><pubDate>Thu, 07 Aug 2008 12:33:06 GMT</pubDate></item><item><title><![CDATA[Reply to raw image laden: eigenartiges verhalten on Thu, 07 Aug 2008 12:39:32 GMT]]></title><description><![CDATA[<p>Ist die Datei im Binärmodus geöffnet? Was steht denn in der Datei an der Stelle?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560831</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 07 Aug 2008 12:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to raw image laden: eigenartiges verhalten on Thu, 07 Aug 2008 12:55:38 GMT]]></title><description><![CDATA[<p>Oh, ich Trottel...hatte die Datei einfach mit &quot;r&quot; geöffnet. Habe ich irgendwie an der falschen Stelle versucht den Fehler zu finden. Thread kann geschlossen werden. Danke Fellhuhn <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/1560847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560847</guid><dc:creator><![CDATA[cman]]></dc:creator><pubDate>Thu, 07 Aug 2008 12:55:38 GMT</pubDate></item><item><title><![CDATA[Reply to raw image laden: eigenartiges verhalten on Thu, 07 Aug 2008 12:59:00 GMT]]></title><description><![CDATA[<p>Mach am besten aus<br />
// assumes f is opened for reading<br />
gleich<br />
// assumes f is opened for binary reading</p>
<p>Nur für die Zukunft. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1560851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560851</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 07 Aug 2008 12:59:00 GMT</pubDate></item></channel></rss>