gpt4 book ai didi

imagemagick - 防止 ImageMagick 转换为灰度

转载 作者:行者123 更新时间:2023-12-04 02:50:43 24 4
gpt4 key购买 nike

我在 Windows 上使用 ImageMagick-6.9.1 来调整 PNG 文件的大小,然后再用其他工具处理它。源文件为 RGBA,但图像数据为灰度(所有像素的 R、G 和 B 值相同)。看来 ImageMagick 正在检测这一点,并将输出转换为灰度,即使我像这样指定格式和色彩空间:

convert.exe src.png -format PNG32 -colorspace sRGB -background transparent -resize 830x540 out.png

我已经在几个不同的应用程序(包括 Photoshop)中验证了生成的输出格式是 8 位灰度。这是一个问题,因为后面的处理步骤无法处理灰度格式,并崩溃。向源添加色调可以使该过程成功完成,但我们需要能够处理未着色的原件。

即使检测到源是灰度图像,如何强制 ImageMagick 输出 RGB 格式的图像?

更长的日志:(注意 IHDR 中从 color_type 6 到 color_type 4 的转换)
>.\ImageMagick-6.9.1-2\identify.exe -verbose rgba_src.png 
Image: rgba_src.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 884x747+0+0
Resolution: 28.35x28.35
Print size: 31.1817x26.3492
Units: PixelsPerCentimeter
Type: GrayscaleAlpha
Base type: GrayscaleAlpha
Endianess: Undefined
Colorspace: Gray
Depth: 8-bit
Channel depth:
gray: 8-bit
alpha: 8-bit
Channel statistics:
Pixels: 660348
Gray:
min: 0 (0)
max: 255 (1)
mean: 234.605 (0.920019)
standard deviation: 56.1418 (0.220164)
kurtosis: 11.312
skewness: -3.45486
entropy: 0.271262
Alpha:
min: 0 (0)
max: 247 (0.968627)
mean: 23.5875 (0.0924999)
standard deviation: 53.3361 (0.209161)
kurtosis: 2.71621
skewness: -2.02496
entropy: 0.206267
Alpha: graya(255,0) #FFFFFF00
Rendering intent: Perceptual
Gamma: 0.454545
Chromaticity:
red primary: (0.63999,0.33001)
green primary: (0.3,0.6)
blue primary: (0.15,0.05999)
white point: (0.31269,0.32899)
Background color: graya(255,1)
Border color: graya(223,1)
Matte color: graya(189,1)
Transparent color: graya(0,0)
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 884x747+0+0
Dispose: Undefined
Iterations: 0
Compression: Zip
Orientation: Undefined
Properties:
date:create: 2015-04-21T11:15:21-07:00
date:modify: 2015-04-21T11:15:28-07:00
png:cHRM: chunk was found (see Chromaticity, above)
png:IHDR.bit-depth-orig: 8
png:IHDR.bit_depth: 8
png:IHDR.color-type-orig: 6
png:IHDR.color_type: 6 (RGBA)
png:IHDR.interlace_method: 0 (Not interlaced)
png:IHDR.width,height: 884, 747
png:pHYs: x_res=2835, y_res=2835, units=1
png:sRGB: intent=0 (Perceptual Intent)
signature: b30c82674d8ed7b50afbfd0eb86d37346164378ae92ef305b0ab61325e741f52
Artifacts:
filename: rgba_src.png
verbose: true
Tainted: False
Filesize: 207KB
Number pixels: 660K
Pixels per second: 34.76MB
User time: 0.016u
Elapsed time: 0:01.018
Version: ImageMagick 6.9.1-2 Q16 x86 2015-04-14 http://www.imagemagick.org

>.\ImageMagick-6.9.1-2\convert.exe rgba_src.png -verbose -format PNG32 -colorspace srgb -background transparent -resize 830x540 out.png
rgba_src.png=>out.png PNG 884x747=>639x540 639x540+0+0 8-bit sRGB 62.8KB 0.406u0:00.107

>.\ImageMagick-6.9.1-2\identify.exe -verbose out.png
Image: out.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 639x540+0+0
Resolution: 28.35x28.35
Print size: 22.5397x19.0476
Units: PixelsPerCentimeter
Type: GrayscaleAlpha
Base type: Grayscale
Endianess: Undefined
Colorspace: Gray
Depth: 8-bit
Channel depth:
gray: 8-bit
alpha: 8-bit
Channel statistics:
Pixels: 345060
Gray:
min: 0 (0)
max: 255 (1)
mean: 34.1198 (0.133803)
standard deviation: 77.4794 (0.303841)
kurtosis: 1.68768
skewness: 1.88484
entropy: 0.220331
Alpha:
min: 0 (0)
max: 237 (0.929412)
mean: 23.5888 (0.092505)
standard deviation: 53.2132 (0.208679)
kurtosis: 2.60073
skewness: -2.00769
entropy: 0.208417
Alpha: graya(0,0) #00000000
Rendering intent: Undefined
Gamma: 0.45455
Chromaticity:
red primary: (0.63999,0.33001)
green primary: (0.3,0.6)
blue primary: (0.15,0.05999)
white point: (0.31269,0.32899)
Background color: graya(0,1)
Border color: graya(223,1)
Matte color: graya(189,1)
Transparent color: graya(0,0)
Interlace: None
Intensity: Undefined
Compose: Over
Page geometry: 639x540+0+0
Dispose: Undefined
Iterations: 0
Compression: Zip
Orientation: Undefined
Properties:
date:create: 2015-04-21T11:41:45-07:00
date:modify: 2015-04-21T12:24:05-07:00
png:bKGD: chunk was found (see Background color, above)
png:cHRM: chunk was found (see Chromaticity, above)
png:gAMA: gamma=0.45455 (See Gamma, above)
png:IHDR.bit-depth-orig: 8
png:IHDR.bit_depth: 8
png:IHDR.color-type-orig: 4
png:IHDR.color_type: 4 (GrayAlpha)
png:IHDR.interlace_method: 0 (Not interlaced)
png:IHDR.width,height: 639, 540
png:pHYs: x_res=2835, y_res=2835, units=1
png:text: 2 tEXt/zTXt/iTXt chunks were found
png:tIME: 2015-04-21T11:15:28Z
signature: 3d4b5050f182dac93631d9119d76324d43f9a659ea035523a8e359b7434bdb5b
Artifacts:
filename: out.png
verbose: true
Tainted: False
Filesize: 62.8KB
Number pixels: 345K
Pixels per second: 57.51MB
User time: 0.000u
Elapsed time: 0:01.006
Version: ImageMagick 6.9.1-2 Q16 x86 2015-04-14 http://www.imagemagick.org

最佳答案

您可以尝试使用 -define强制输出图像类型为 PNG Color-Type 6像这样:

convert input.png ... -define png:color-type=6 output.png

关于imagemagick - 防止 ImageMagick 转换为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29781436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com