- 締切済み
32-bit real 画像を読み込む方法
32-bit real 画像を読み込む方法 こんにちわ。現在C言語を使用して32-bit realで作成された.raw(.img)の画像(符号付き浮動小数点)を読み込むプログラムを作成したいのですが、どうしてもうまくいきません。読み込んだ画像のピクセル値を見ると全く違う値になってしまっています。どなたかサンプルプログラムをお持ちではないでしょうか??
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kmee
- ベストアンサー率55% (1857/3366)
回答No.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つのデータが入ると思いますが。
お礼
ありがとうございます。 試してみます。