GNU/Linux >> Linux の 問題 >  >> Linux

生のバイナリデータを指定された幅と高さの画像として表示する方法は?

「生のバイナリ データ」を表示するには、16 進ダンプ コマンド hd を使用します。 または hexdump

$ hd -C a.txt
00000000  61 0a 61 61 0a 61 61 61  0a 61 61 61 61 0a 61 61  |a.aa.aaa.aaaa.aa|
00000010  61 61 61 0a 62 62 62 0a  62 62 62 62 0a 62 62 62  |aaa.bbb.bbbb.bbb|
00000020  62 62 0a 3c 62 65 67 69  6e 3e 0a 61 61 61 61 61  |bb.<begin>.aaaaa|
00000030  61 0a 61 61 61 61 61 61  61 0a 61 61 61 61 61 61  |a.aaaaaaa.aaaaaa|
00000040  61 61 0a                                          |aa.|
00000043

非構造化バイトで構成される画像フォーマットを知りません - データは 8 ビット RGB 値ですか?ファイルに 30000 バイトが含まれている場合、その RGB は 100x100 ピクセル、RGB は 50x200 ピクセル、RGB は 200x50 ピクセルなどですか?パレットはありますか?データの構成について知っておく必要があります!

画像として表示するには、NetPBM ユーティリティまたは ImageMagick を使用して、画像ビューアーが理解できる形式に変換します

上記でうまくいかない場合は、小さな Perl スクリプトの作成を検討します


わかりました、gnuplot でできます。

http://gnuplot.sourceforge.net/demo_4.4/image.html


convert ImageMagick から できます。

例:8 ビット 2x3 グレースケール:

printf '\x00\xFF\x88\xFF\x00\xFF' > f

次に:

convert -depth 8 -size 3x2+0 gray:f out.png

コマンドの説明:

  • -depth 8 :各色には 8 ビットがあります
  • -size 2x3+0 :2x3 画像。 +0 ファイルのオフセット 0 から開始することを意味します。メタデータ ヘッダーがある場合は、オフセットでスキップできます。
  • gray:f :入力ファイルは f です 、形式は gray です 、http://www.imagemagick.org/script/formats.php で定義されているように、ImageMagick は通常拡張子からフォーマットを決定するため、この奇妙な表記法が使用されますが、ここでは拡張子がありません。

ここでの問題は、出力を表示する方法です。直接の eog :

eog out.png

画像が小さすぎてあまり良くありません。ズームインすると eog は、ピクセルを混合する表示アルゴリズムを使用します。これは、ほとんどの写真に適していますが、私たちの場合はそうではありません。 2 つの可能性が見つかりました:

  • gimp out.png .画像エディタはすべてのピクセルを表示する必要があります。
  • convert out.png -scale 300x200 out2.png . -scale -resize の代わりに必要です 、-resize以降 eog のようにピクセルを混合します デフォルトで。

出力:

RGB の例:

printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png

Ubuntu 16.04、ImageMagick 6.8.9 でテスト済み。


Linux
  1. RsyslogとMySQLを使用してLogAnalyzerをセットアップする方法

  2. ファイルを移動して進行状況を表示する方法(例:プログレスバーを使用)?

  3. initrd.img を表示、変更、および再作成する方法

  1. awkを使用したデータの抽出と表示

  2. Linux で sar を使用して過去のパフォーマンスを表示する方法

  3. OSWatcher を開始および停止する方法

  1. データが重要である理由とその保護方法

  2. Linuxで画像メタデータを表示する方法

  3. CentOS / RHEL 6 :initramfs イメージを抽出して編集/表示する方法