- ベストアンサー
pgmファイルの読み込みで正確にデータを読み取れない原因について
- jpgファイルをpgmファイルに変換して処理を行うプログラムを作成中ですが、pgmファイルのデータを正確に読み取れません。
- pgmファイルの輝度データの一部は正しく読み取れますが、それ以降のデータが全て255になってしまいます。
- プログラムの問題以外に考えられる原因があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>すいませんがpgmリーダーとは、自分のプログラムのpgmファイルの読み込み部のことでしょうか? そうです。 >読み込みは元からpgmのものを使用したときはきちんと読み込んでくれるので、間違えは無いと思うのですが・・・ 間違いとは言っていません。想定していなかった入力に対して不具合が発生しているのであれば、それを修正するという事です。 間違っていないと主張されるのであれば、それはそれでいいのですが、であるならばスレ違いでしょう。 デバッガの使い方がわからないという事ですが、比較的小さいjpgファイルを作成して(例えば5×5ピクセルとか)、それをpgmに変換します。 pgmがバイナリであればバイナリエディタで確認して、自分が予想しているものと全く同じかどうか検証してみてださい。 あとWindows系であれば、fopen でファイルを開いている場合、バイナリモード "rb" で開かないとうまくいかない事があります。
その他の回答 (1)
jpg→pgmの手動変換が間違っているか、pgmの読み込みが不完全かのどちらかしかないでしょう。 どちらにしても、pgmリーダーをデバッガでトレースしていけば原因究明できると思うのですが・・・。
補足
回答ありがとうございます。 えっとですね、今回はjpg→pgmの変換は既存のソフト(ペイントショップなど)を用いて変換しているので、 変換に間違いは無いと思います。 読み込みは元からpgmのものを使用したときはきちんと読み込んでくれるので、 間違えは無いと思うのですが・・・ デバッガは・・・以前見てよく分からなかった;; すいませんがpgmリーダーとは、 自分のプログラムのpgmファイルの読み込み部のことでしょうか?
お礼
すばやい返信ありがとうございます。 >あとWindows系であれば、fopen でファイルを開いている場合、バイナリモード "rb" で開かないとうまくいかない事があります。 これでした^^; 元からpgmファイルの場合は動いたので見逃してました。 本当にいろいろアドバイスありがとうございます。