J'ai un fichier brut mais je ne connais pas le format de pixel ni la largeur de l'image. J'ai besoin d'un outil qui puisse afficher rapidement les données et me permettre d'essayer facilement différents formats. Un exemple d'un tel outil pour Windows serait 7yuv . Quel logiciel existe pour cette tâche sous Linux?
Remarque: cela n'a rien à voir avec les images brutes d'appareils photo numériques, ce qui décourage mes tentatives d'utilisation de Google pour répondre à cette question.
Il s'avère que Gimp peut le faire. Ouvrez simplement le fichier brut, et vous obtenez cette boîte de dialogue utile qui vous permet de prévisualiser l'image:
convert
from ImageMagick
Par exemple, une échelle de gris 2x3 8 bits:
printf '\x00\xFF\x88\xFF\x00\xFF' > f
Ensuite:
convert -depth 8 -size 3x2+0 gray:f out.png
Explication de la commande:
-depth 8
: chaque couleur a 8 bits-size 2x3+0
: 2x3
image. +0
signifie commencer à l'offset 0 dans le fichier. S'il existe des en-têtes de métadonnées, vous pouvez les ignorer avec le décalage.gray:f
: le fichier d'entrée est f
et le format est gray
, comme défini à http://www.imagemagick.org/script/formats.php = Cette notation étrange est utilisée car ImageMagick détermine généralement le format à partir de l'extension, mais ici il n'y a pas d'extension.Le problème est maintenant de savoir comment afficher le résultat. Un direct eog
:
eog out.png
n’est pas très bon car l’image est trop petite et si vous zoomez beaucoup, eog
utilise un algorithme d’affichage qui mélange les pixels, ce qui est préférable pour la plupart des images, mais pas dans notre cas. J'ai trouvé deux possibilités:
gimp out.png
. Les éditeurs d'images doivent afficher chaque pixel.convert out.png -scale 300x200 out2.png
. -scale
est nécessaire à la place de -resize
, étant donné que -resize
mélange les pixels au même niveau que eog
par défaut.Sortie:
Exemple RVB:
printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > f
convert -depth 8 -size 3x1+0 rgb:f out.png
Testé sur Ubuntu 16.04, ImageMagick 6.8.9.