「生のバイナリ データ」を表示するには、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 でテスト済み。