Untuk melihat "data biner mentah", saya akan menggunakan perintah hex dump hd
atau 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
Saya tidak tahu format gambar apa pun yang terdiri dari byte tidak terstruktur - apakah datanya 8-bit nilai RGB? Jika file berisi 30000 byte, apakah RGB untuk 100x100 piksel atau RGB untuk 50x200 piksel atau RGB untuk 200x50 piksel atau yang lainnya? Apakah ada palet? Anda harus mengetahui sesuatu tentang pengaturan data!
Untuk melihatnya sebagai gambar saya akan menggunakan utilitas NetPBM atau mungkin ImageMagick untuk mengubahnya menjadi bentuk yang dipahami oleh penampil gambar
Jika hal di atas tidak berhasil, saya akan menyelidiki penulisan skrip Perl kecil
Oke, gnuplot bisa melakukannya.
http://gnuplot.sourceforge.net/demo_4.4/image.html
convert
dari ImageMagick bisa melakukannya.
Misalnya, skala abu-abu 2x3 8-bit:
printf '\x00\xFF\x88\xFF\x00\xFF' > f
Lalu:
convert -depth 8 -size 3x2+0 gray:f out.png
Penjelasan perintah:
-depth 8
:setiap warna memiliki 8 bit-size 2x3+0
:2x3
gambar.+0
berarti mulai dari offset 0 dalam file. Jika ada header metadata, Anda dapat melewatinya dengan offset.gray:f
:file inputnya adalahf
, dan formatnya adalahgray
, seperti yang didefinisikan di http://www.imagemagick.org/script/formats.php Notasi aneh ini digunakan karena ImageMagick biasanya menentukan format dari ekstensi, tetapi di sini tidak ada ekstensi.
Masalahnya sekarang adalah bagaimana melihat hasilnya. eog
langsung :
eog out.png
tidak terlalu bagus karena gambarnya terlalu kecil, dan jika Anda banyak memperbesar eog
menggunakan algoritme tampilan yang memadukan piksel, yang lebih baik untuk sebagian besar gambar, tetapi tidak dalam kasus kami. Saya menemukan dua kemungkinan:
gimp out.png
. Editor gambar harus menampilkan setiap piksel.convert out.png -scale 300x200 out2.png
.-scale
diperlukan sebagai pengganti-resize
, sejak-resize
mixels piksel sepertieog
secara default.
Keluaran:
Contoh RGB:
printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png
Diuji pada Ubuntu 16.04, ImageMagick 6.8.9.