2011-02-02 10 views
4

私はシンプルで、特にを探しています。テキストファイルに保存されたバイナリマトリックス(0と1のみからなる)を何らかのプロットに変換する可能性があります。黒と白のビットマップは私の視覚化の目的に完全に役立ちます。私はgnuplotを試しましたが、gnuplotで十分ではないと私は考えています。私はたくさんのデータ(少なくともMiBの数十)を持っており、メモリ消費と処理時間はひどいです。大きな2進マトリックスを素早く可視化できますか?

解決策を探しているとき、私はたいてい、バイナリ(データ形式)に格納された行列に関係するものを見つけました。 gnuplot

テキストマトリックスをビットマップに変換できるプログラムを知っていますか?私はそれをやっている少しのCプログラムを書くことを考えていますが、既存のツールを使用する前に画像処理をしたことがないので、ビットマップを作成することがどれほど難しいかを見積もることはできません。可能。

ありがとうございます!

答えて

7

netpbmを使用してください。ここでは例えば:

$ cat | pnmtopng > circle.png 
P1 
10 10 
0001111000 
0111111110 
0111111110 
1111111111 
1111111111 
1111111111 
1111111111 
0111111110 
0111111110 
0001111000 
$ file circle.png 
circle.png: PNG image, 10 x 10, 1-bit grayscale, non-interlaced 

は最終結果です:enter image description here

+0

おかげで、それはまさに私が探していたたです。私は*適切なUNIX CLIツールがあると知っていましたが、何を探すべきかわからない場合は見つけるのが難しいです:-) – tmr

+1

@ user279714:ええ、「netpbm」はまさに最初のものではありません心、ええ?ところで、マニュアルページのオンラインリストを見つけるのは永遠になりました。これは、メインのdocページの間違って配置されたリンクであることが判明しました(http://netpbm.sourceforge.net/doc/directory.html)。 –

0

私が扱ったC言語の画像出力はC JPGライブラリだけです。あなたのニーズに合っているかもしれません。これは世界で最速のものではありませんが、操作が簡単です。ロジックを少し速くするためにロジック自体でできるいくつかの短所があります。

私が考えているのは文字通りあなたのマトリックスを繰り返して、あなたのマトリックス値に基づいて黒または白のピクセルを出力しています。私はそれがgnuplotより速く、効率的になるかどうか完全に分かりません。

関連する問題