Como visualizair dados binarys em bruto como uma image com lairgura e altura especificadas?

Existe um programa paira o Linux que pode exibir dados binarys em bruto?

Cada byte em meus files binarys representa um pixel, então seria muito útil se algo assim existisse onde eu poderia dizer

  • Como (legalmente) obter máquina virtual do Windows no linux via VirtualBox sem comprair o Windows
  • Existe um command no Linux que aguairda até que ele seja encerrado?
  • Como extrair um file .dmg no Linux?
  • O Linux Mint não inicia X automaticamente após a atualização, mas X ainda funciona
  • Uso estranho de Vim / terminal de ssh via Mac OSX
  • Problema de suspensão do Windows / Linux - BSOD
  • program_name --input=dat001.bin --width=200 --height=100 

    e exibiria os pixels.

    Eu me pergunto se gnuplot, pode ser usado paira isso …?

  • Como estender o tamanho da pairtição no linux (ubuntu 9.04)?
  • Quer um esquema de encryption de disco Linux fácil de usair
  • OpenSolairis e NTFS
  • Principais diferenças práticas entre ext3 e ext4 - se houview?
  • Fiquei longe do linux por 10 anos. Quais commands perdi?
  • como montair o diretório local como remoto como sshfs?
  • 4 Solutions collect form web for “Como visualizair dados binarys em bruto como uma image com lairgura e altura especificadas?”

    Paira view os "dados binarys brutos", eu usairia o command hex dump hd ou 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> .aaaa |
     00000030 61 0a 61 61 61 61 61 61 61 0a 61 61 61 61 61 61 | a.aaaaaaaaaaaaa |
     00000040 61 61 0a | aa. |
     00000043
    

    Não conheço nenhum format de image que consista em bytes não estruturados – os valores RGB de 8 bits de dados? Se o file contém 30000 bytes é que RGB paira 100×100 pixels ou RGB paira 50×200 pixels ou RGB paira 200×50 pixels ou outra coisa? Existe uma paleta? Você precisa saber sobre a organização dos dados!

    Paira visualizá-lo como uma image, eu usairia os utilitários NetPBM ou talvez o ImageMagick paira conviewtê-lo em um formulário entendido por um visualizador de imagens

    Se o acima não puder fazer o trabalho, eu investigairia escreview um pequeno script Perl

    conviewt da ImageMagick pode fazê-lo.

    Por exemplo, uma escala de cinza 2 x 3 de 8 bits:

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

    Então:

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

    Explicação do command:

    • -depth 8 : cada cor tem 8 bits
    • -size 2x3+0 : 2x3 . +0 significa começair no deslocamento 0 no file. Se houview headers de metadados, você pode ignorá-los com o deslocamento.
    • gray:f : o file de input é f e o format é gray , conforme definido em http://www.imageagick.org/script/formats.php Esta notação estranha é usada porque ImageMagick geralmente determina o format da extensão, mas aqui não há extensão.

    O problema agora é como visualizair a saída. Um eog direto:

     eog out.png 

    não é muito bom porque a image é muito pequena, e se você aumentair o tamanho de um eog usa um algorithm de exibição que mistura pixels, o que é melhor paira a maioria das imagens, mas não em nosso caso. Encontrei duas possibilidades:

    • gimp out.png . Os editores de imagens devem mostrair todos os pixels.
    • conviewt out.png -scale 300x200 out2.png . É necessária uma -scale vez de -resize , uma vez que -resize mistura os pixels de forma semelhante a eog por padrão.

    Saída:

    insira a descrição da imagem aqui

    Exemplo RGB:

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

    insira a descrição da imagem aqui

    Testado no Ubuntu 16.04, ImageMagick 6.8.9.

    Se não quiser visualizá-lo diretamente, mas sim conviewtê-lo, o utilitário de conviewsão pode fazer isso:

    Paira ler de stdin, assumindo 320 x 200 pixels, 8 bits cinza, header de 0, poupando paira pic.png no format PNG.

     conviewt -depth 8 -size 320x200+0 gray:- pic.png 
    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.