ページ 11

0~255のランダムデータをPGM画像として表示させる方法

Posted: 2010年12月23日(木) 17:35
by lvparisvl
修論で必要なプログラムについて質問があります。
最終的な目標は既存のバイナリデータ(1ピクセル1バイトRAWデータ)をSEEK等で任意個のピクセルを間引きして画像として表示させるプログラムを作成したいと思っています。
その途中の段階で、間引いたデータを直接画像として表示するプログラムを作成したいのですが、どのように作成すれば良いかわかりません。
現状は、間引いたデータを一度PGMファイルとして書き出し、そのファイルを再び読込んで表示するプログラムなら完成したのですが、書き込み等のせいで処理時間がかかります。
そこで、ファイルとして書き出さずに画像表示できるプログラムを教えてください。
(配列に格納されているデータをPGM画像として表示する方法が分かれば、この問題は解決すると思われます。)

** ”データ配列をBMP画像表示する” 様な質問は見かけるのですが、PGM画像表示のものは、探してみましたがみつかりませんでした。
プログラムの流れとしては、
ファイルオープン→間引いたバイナリデータを配列に順に格納→画像表示→ファイルクローズ
でいけると思うのですが・・・

御指導宜しくお願い致します。

Re: 0~255のランダムデータをPGM画像として表示させる方法

Posted: 2010年12月23日(木) 19:55
by ぬっち
ライブラリ使用であるなら、libpngを使用する手があります。
ついでに、ここには読み込みの仕方もサンプルで載っています。
http://hp.vector.co.jp/authors/VA016379 ... libpng.htm

もしご自身でpngファイルの解析されるのであれば、
http://www.geocities.co.jp/Playtown-Yoy ... e-png.html
にあるように、zlibという圧縮を自分で解凍しなければなりません。

zlibの圧縮や解凍のライブラリも実は公開されています。
http://hp.vector.co.jp/authors/VA016379/cpplib/zlib.htm

zlibの圧縮アルゴリズムを知りたい場合は、
http://www.zlib.net/
http://www.futomi.com/lecture/japanese/index.html#zlib
あたりを参考にすると良いでしょう。
特に本家のページにはそのソースコードまで公開されています。

Re: 0~255のランダムデータをPGM画像として表示させる方法

Posted: 2010年12月23日(木) 19:59
by h2so5
>ぬっちさん

PNGでなくてPGMですよ。

http://www.not-enough.org/abe/manual/co ... m/pgm.html

Re: 0~255のランダムデータをPGM画像として表示させる方法

Posted: 2010年12月23日(木) 22:03
by ぬっち
>h2so5さん
てっきりPNGかと思ってました。。。

>lvparisvlさん
投稿したものは無かったものにしてください^^;
混乱させてしまって申し訳ありませんm(--)m

Re: 0~255のランダムデータをPGM画像として表示させる方法

Posted: 2010年12月24日(金) 00:16
by lvparisvl
>ぬっちさん

はい^^
コメント頂けたことは嬉しいので、ありがとうございました^^


>h2so5さん
鋭いご指摘、ありがとうございます!

Re: 0~255のランダムデータをPGM画像として表示させる方法

Posted: 2010年12月24日(金) 06:59
by あたっしゅ
フォーラムルールにしたがって、OS や言語処理系を明記してくださらないと、
具体的な答えがかえってこないと思います。
PGM ってことは、UNIX 系なんでしょうか ? ここは、Windows 系の人が多いです。

>ファイルオープン→間引いたバイナリデータを配列に順に格納→画像表示→ファイルクローズ

という流れはあってます。
しかし、「配列に格納されたバイナリーデータを表示する」というのは、環境依存なんですよ。
PGM の表示は、なんかのライブラリを呼んだだけですか ?