- 締切済み
座標
私は今座標から画像の値を読み出す勉強しています。プログラムを用いて座標を出すことはできました。今度はその実行結果ででた座標の値から画像の画素値を取り出すプログラムを書けたいのですが書けません。いろいろ参考書を見たりCマガジンという雑誌を読んだりしましたが理解できなくて投稿しました。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- JaritenCat
- ベストアンサー率37% (122/322)
BMPにもいろいろな形式がありますが、圧縮されてなくてパレットもないものなら比較的楽に扱えると思います。 ファイルの先頭からファイルヘッダと情報ヘッダを取り出して、望みのフォーマットかチェックと縦横のサイズを取得し、座標に相当する場所にfseekで移動して、freadで読んではどうでしょう。
- JaritenCat
- ベストアンサー率37% (122/322)
画像はどんな形式ですか?BMP、JPG、GIF・・・いろいろなフォーマットがありますよね。 それはファイルで渡されるのでしょうか、それともビットイメージに展開されたものですか?
補足
形式はBMPです。ファイルで渡すもので実行結果を保存するscriptコマンドを使います。
- toysmith
- ベストアンサー率37% (570/1525)
Teoという環境を使っているならその関数ですね。 使用しているグラフィックライブラリが提供している画素取り扱い関数を使います。 XLibを使っているなら画像はXImageになるはずなのでXGetPixel()を使います。 Teoという環境を知らないので、そのあたりは識者の方にお任せします。 よって、経験者→一般人、自信あり→自信なしにかわります。
補足
Xlibについて聞きたいのですが #include <X11/Xlib.h>というのを使って書いてけばいいんでしょうか?
- toysmith
- ベストアンサー率37% (570/1525)
Linuxってことで、XImageに画像が設定されていることを想定して… XGetPixel()に座標を渡せば返ってくると思います。
補足
ありがとうございます。さっきgoogleで調べたらhttp://teo.sourceforge.jp/doc/TeoProgrammingGuide/section3-3.html#func:TeoGetPixel というのがありました。これは使えそうですか?
開発環境や言語を書きましょう。
補足
REDHATLinuxを用いてC言語で書きたいと思っています。
補足
ありがとうございます。試してみます。