修論で必要なプログラムについて質問があります。
最終的な目標は既存のバイナリデータ(1ピクセル1バイトRAWデータ)をSEEK等で任意個のピクセルを間引きして画像として表示させるプログラムを作成したいと思っています。
その途中の段階で、間引いたデータを直接画像として表示するプログラムを作成したいのですが、どのように作成すれば良いかわかりません。
現状は、間引いたデータを一度PGMファイルとして書き出し、そのファイルを再び読込んで表示するプログラムなら完成したのですが、書き込み等のせいで処理時間がかかります。
そこで、ファイルとして書き出さずに画像表示できるプログラムを教えてください。
(配列に格納されているデータをPGM画像として表示する方法が分かれば、この問題は解決すると思われます。)
** ”データ配列をBMP画像表示する” 様な質問は見かけるのですが、PGM画像表示のものは、探してみましたがみつかりませんでした。
プログラムの流れとしては、
ファイルオープン→間引いたバイナリデータを配列に順に格納→画像表示→ファイルクローズ
でいけると思うのですが・・・
御指導宜しくお願い致します。
0~255のランダムデータをPGM画像として表示させる方法
Re: 0~255のランダムデータをPGM画像として表示させる方法
ライブラリ使用であるなら、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
あたりを参考にすると良いでしょう。
特に本家のページにはそのソースコードまで公開されています。
ついでに、ここには読み込みの仕方もサンプルで載っています。
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画像として表示させる方法
>h2so5さん
てっきりPNGかと思ってました。。。
>lvparisvlさん
投稿したものは無かったものにしてください^^;
混乱させてしまって申し訳ありませんm(--)m
てっきりPNGかと思ってました。。。
>lvparisvlさん
投稿したものは無かったものにしてください^^;
混乱させてしまって申し訳ありませんm(--)m
Re: 0~255のランダムデータをPGM画像として表示させる方法
>ぬっちさん
はい^^
コメント頂けたことは嬉しいので、ありがとうございました^^
>h2so5さん
鋭いご指摘、ありがとうございます!
はい^^
コメント頂けたことは嬉しいので、ありがとうございました^^
>h2so5さん
鋭いご指摘、ありがとうございます!
Re: 0~255のランダムデータをPGM画像として表示させる方法
フォーラムルールにしたがって、OS や言語処理系を明記してくださらないと、
具体的な答えがかえってこないと思います。
PGM ってことは、UNIX 系なんでしょうか ? ここは、Windows 系の人が多いです。
>ファイルオープン→間引いたバイナリデータを配列に順に格納→画像表示→ファイルクローズ
という流れはあってます。
しかし、「配列に格納されたバイナリーデータを表示する」というのは、環境依存なんですよ。
PGM の表示は、なんかのライブラリを呼んだだけですか ?
具体的な答えがかえってこないと思います。
PGM ってことは、UNIX 系なんでしょうか ? ここは、Windows 系の人が多いです。
>ファイルオープン→間引いたバイナリデータを配列に順に格納→画像表示→ファイルクローズ
という流れはあってます。
しかし、「配列に格納されたバイナリーデータを表示する」というのは、環境依存なんですよ。
PGM の表示は、なんかのライブラリを呼んだだけですか ?
VTuber:
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。
東上☆海美☆(とうじょう・うみみ)
http://atassyu.php.xdomain.jp/vtuber/index.html
レスがついていないものを優先して、レスするみみ。時々、見当外れなレスしみみ。
中の人:
手提鞄あたッしュ、[MrAtassyu] 手提鞄屋魚有店
http://ameblo.jp/mratassyu/
Pixiv: 666303
Windows, Mac, Linux, Haiku, Raspbery Pi, Jetson Nano, 電子ブロック 持ち。