我有一个原始文件,但我不知道像素格式或图像的宽度。我需要一个工具,可以快速显示数据并允许我轻松尝试不同的格式。在Windows上,这样的工具的一个例子是7yuv。在Linux上有哪些软件适用于这个任务?
注意:这与数码相机的原始文件无关,这使得我很难通过谷歌来回答这个问题。
注意:这与数码相机的原始文件无关,这使得我很难通过谷歌来回答这个问题。
从ImageMagick转换
例如,一个8位2x3灰度图像:
printf '\x00\xFF\x88\xFF\x00\xFF' > in.bin
然后:
convert -depth 8 -size 3x2+0 gray:in.bin out.png
eog out.png
不太好,因为图像太小了,如果你放大很多,eog
会使用一个连续混合像素的显示算法,这对大多数图片来说是更好的,但对于如此微小的图像来说并不适用。
一个好的可能性是运行:
convert out.png -scale 300x out2.png
或者直接一次完成:
convert -depth 8 -size 3x2+0 gray:in.bin -scale 300x out.png
-scale
而不是-resize
,因为-resize
默认情况下会像eog
一样连续混合像素颜色。
输出:
另一个选项是在Gimp中查看它。gimp out.png
printf '\xFF\x00\x00\x00\xFF\x00\x00\x00\xFF' > in.bin
convert -depth 8 -size 3x1+0 rgb:in.bin out.png
-scale
来使其更易查看:convert -depth 8 -size 3x1+0 rgb:in.bin -scale 300x out.png
相关内容:
在Ubuntu 16.04和ImageMagick 6.8.9上进行了测试。from PIL import Image
import numpy as np
raw_img = np.fromfile("image", dtype=np.uint8)
l = int(np.sqrt(raw_img.shape[0]/4)) # for a l x l square image
Image.frombytes(mode='RGBA', size=(l, l), data=raw_img).show()