ImageMagick,Q8与Q16的实际含义是什么?

时间:2018-02-22 21:44:44

标签: imagemagick imagemagick-convert

在Windows下,我需要在Q8和Q16之间进行选择。我知道Q8是每像素8位分量(例如8位红色,8位绿色等),而Q16是每像素16位分量。我也知道Q16使用两次内存作为Q8。因此,我必须谨慎选择。

什么是每像素16位的组件? jpeg图像是否支持每像素16位的组件?智能手机中的数码相机拍摄的照片会产生每像素8位分量还是每像素16位分量?

我只需要加载jpg图像,裁剪/调整大小并保存。我还需要保存两种不同的图片:一个包含icc颜色配置文件管理,另一个没有任何icc配置文件(sRGB)

1 个答案:

答案 0 :(得分:7)

  

什么是每像素16位的组件?

每个“通道”(例如,红色,绿色,蓝色)可以具有0x0000(无颜色)和0xFFFF(全色)之间的值。这允许更大的颜色深度和更精确的计算。

例如。显示QuantumDepth为8的“RED”像素...

$ convert -size 1x1 xc:red -depth 8 rgb:- | hexdump 
0000000 ff 00 00                                       
0000003

相同的QuantumDepth去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

All-n-all,分配更多内存来表示颜色值。 HDRI成像会让它变得更加复杂。

  

jpeg图像是否支持每像素16位分量?我们从智能手机中的相机拍摄的照片是每像素8位分量还是每像素16位分量?

我相信JPEG是8位,但我在这里错了。我知道大多数摄影师都会从设备中保留所有RAW文件,因为 JPEG不支持相机传感器捕获的所有细节。 Here's a great write-up with examples

  

我只需要加载jpg图像,裁剪/调整大小并保存。我还需要保存两种不同的图片:一个包含icc颜色配置文件管理,另一个没有任何icc配置文件(sRGB)

ImageMagick被设计成编码器的“Swiss-Army-Knife”。解码器(+大量功能)。在读取文件时,它会将格式解码为内部管理的“验证像素”。可以在编译时配置内部存储的默认大小,为方便起见,预构建二进制文件提供为Q8,Q16和Q32。另外还有HDRI支持。

如果您专注于质量,Q16是一个安全的选择。 Q8将方式更快,但有时会受到限制。