在Windows下,我需要在Q8和Q16之间进行选择。我知道Q8是每像素8位(例如8位红色,8位绿色等),而Q16是每像素16位。我也知道Q16使用的内存是Q8的两倍。因此,我必须仔细选择。
什么是每像素16位? jpeg图像是否支持每像素16位?从智能手机中的数码相机拍摄的照片会导致每像素8位还是每像素16位?
我只需要加载jpg图像,对其进行裁剪/调整大小并保存。我还需要将图片保存为2种不同的变体:一种包含icc颜色配置文件管理,另一种不包含任何icc配置文件(sRGB)
最佳答案
每个“ channel ”(例如,红色,绿色,蓝色)的值都可以在0x0000(无颜色)和0xFFFF(全色)之间。这允许更大的色彩深度和更精确的计算。
例如。 QuantumDepth为8时显示的“红色”像素...
$ convert -size 1x1 xc:red -depth 8 rgb:- | hexdump
0000000 ff 00 00
0000003
同样适用于QuantumDepth go 16 ...
$ convert -size 1x1 xc:red -depth 16 rgb:- | hexdump
0000000 ff ff 00 00 00 00
0000006
而对于Q32 ..?你猜对了。
$ convert -size 1x1 xc:red -depth 32 rgb:- | hexdump
0000000 ff ff ff ff 00 00 00 00 00 00 00 00
000000c
全部分配,分配更多的内存来表示颜色值。使用HDRI成像会变得更加复杂。
我相信JPEG是8位的,但是我在这里可能是错误的。我确实知道大多数摄影师会保留设备中的所有RAW文件,因为JPEG不支持相机传感器捕获的所有细节。 Here's a great write-up with examples。
ImageMagick被设计为编码器和解码器的“瑞士军刀”(具有大量功能)。读取文件时,它将格式解码为“Authenticate Pixels”,以在内部进行管理。内部存储器的默认大小可以在编译时进行配置,为方便起见,预构建的二进制文件提供为Q8,Q16和Q32。加上其他HDRI支持。
如果您注重质量,那么Q16是一个安全的选择。 Q8将更快,但有时会受到限制。