アプリ版:「スタンプのみでお礼する」機能のリリースについて

32-bit real 画像を読み込む方法
こんにちわ。現在C言語を使用して32-bit realで作成された.raw(.img)の画像(符号付き浮動小数点)を読み込むプログラムを作成したいのですが、どうしてもうまくいきません。読み込んだ画像のピクセル値を見ると全く違う値になってしまっています。どなたかサンプルプログラムをお持ちではないでしょうか??

A 回答 (1件)

ありがちな間違いとして


・ヘッダ等、画像データでは無い部分を、とばし損ねたり余計に読み込んだりして、画像データの読み込みがずれている
・ファイルとPCとのエンディアン(32bit=4バイトのどれが上位/下位になるか)の不一致
・読み込んだバイト列からfloat型への変換のミス
・ファイルとPCとの浮動小数点の表現方法が不一致(これはないと思いますが)
があります。

ファイルとPCの内部表現、エンディアンが同じなら

float f ; char *buf; char *fp ;
*fp=(char * )(&f) ;
fp[0] = buf[0];
fp[1] = buf[1];
fp[2] = buf[2];
fp[3] = buf[3];

こんな感じでfに1つのデータが入ると思いますが。
    • good
    • 0
この回答へのお礼

ありがとうございます。
試してみます。

お礼日時:2010/05/29 00:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!