2012-05-02 16 views
0

RGB値の読み取りイメージを取得する必要があります。どのように私はCでそれを行うことができますか?イメージファイルを読むにはどうしたらいいですか?

イメージの形式は、png、jpg、bmpまたはその他の通常の形式です。 テキストファイルに保存する必要があります。

+1

OpenGLは画像ファイル形式を読み込んだり気にしません。あなたは[それのための画像読み込みライブラリを使うべきです](http://www.opengl.org/wiki/Image_Libraries)。 –

+1

どの言語?どのプラットフォーム? – phantasmagoria

+0

Cプログラミング言語で、テキストファイルに保存します。 – shibly

答えて

1

これらすべてのフォーマットの読み書きをカバーする非常に使いやすい画像ライブラリはFreeImageです。主にCライブラリですが、C++などのラッパーもあります。

「テキストファイルに保存」と言えば、バイナリ形式ははるかにコンパクトであるため、画像にはかなり非典型的ですピクセル強度の生の文字列値を格納します。さらに、多くのフォーマットでは圧縮を使用しています。つまり、実際にはピクセルごとに「値」がありません。代わりに、すべてのピクセルに個別に値を割り当てる前にデータを圧縮解除する必要があります。 PPMのようないくつかの画像フォーマットがASCIIデータとして保存できますが、それは必ずしも大きな画像を保存する最も効率的な方法ではありません。

ワークフローの場合、FreeImageのようなライブラリを使用してイメージファイルから値を読み取り、非圧縮ピクセル値をPPMファイルまたはカスタム形式のテキストファイルに書き戻します。

関連する問題