• ベストアンサー

画像処理 C言語 元画像の幅と高さ

Cで画像処理を勉強しています。 img.nHeightやimg.nWidthのように読み込んだ元画像の幅と高さを表す変数はないのでしょうか。 教材では、幅と高さは手動で打つようになっていました。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

読み込んだ画像の種類によってはその中に大きさなどを記載しているものもありますし、全体を(または1行)取り込んで見ないと判断できないものがあります Windowsなどで使われる BMPファイルならファイルの先頭のある部分に 幅や高さなどの記述がありますよ

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

作ればあります. とはいえ, C では「配列valueの長さはvalue.length」ということはありえないので何かを勘違いしているという可能性もあります.

jellyfishr
質問者

お礼

すいません、何か勘違いをしていました。 有難うございます

noname#198419
noname#198419
回答No.1

プログラミングですから、変数の命名ルールは各自各々で設計すればよいので・・・ 例題は、例題を書いた人の都合のよい内容になっているはずです。 管理する情報が、高さと幅で1ずつぐらいでしたら・・・ 例題を簡便に説明するにあたって、構造体を使わないように int Height, Width; ぐらいにしても十分だと判断されたのでしょう。 C言語で、img.nHeightとかimg.nWidthみたいな変数は、構造体を使った変数になります。たとえば struct img { int nHeight; int nWidth: }; とか宣言すればimg.nHeightとかimg.nWidthとった具合に参照できます。(ちなみにポインタでの構造体参照はimg->nHeightとかimg->nWidthです。) PS;構造体をポインタで縦横無尽に操作できるようになれば、中級ぐらいの腕前です。さすればかなり世界が明るく広がるかと思います。

jellyfishr
質問者

お礼

私の欲しかった答えと少し違いますね。 FILE *fp; fp=fopen(argv[1], "rb"); で読み込んだ画像の(この場合argv[1]の)高さや幅を表すものはないかという意味です。 配列valueの長さはvalue.lengthのように。

関連するQ&A