ImageMagick:用白色替换 RGB 通道,保留 Alpha
ImageMagick: Replace RGB channels with white, retain Alpha
我在 Affinity Designer 中创建了一个图像,它具有以下通道:
R、G 和 B:
阿尔法:
当我在其他地方使用此图像时 (Unreal Engine),由于 RGB 通道的黑色部分,我在形状的边缘出现了小的黑色伪像。我需要的唯一重要信息是 alpha 通道。
如何使用 ImageMagick 将 RGB 通道替换为白色,同时保留 Alpha 通道?
尝试以下...
magick \( input.png -fill white -draw 'color 0,0 reset' \) \
\( input.png -alpha extract \) \
-compose Copy_Alpha -composite \
output.png
我相信有更好的方法可以完成上述操作。读取 input.png
两次,提取 alpha 通道有点多余。
第一部分将所有 RGB 通道替换为白色,但也清除了 alpha 通道。
input.png -fill white -draw 'color 0,0 reset'
第二部分抓alpha通道
input.png -alpha extract
最后,我们将提取的 alpha 值复制回白色图像的 alpha 通道。
-compose Copy_Alpha -composite
如果您使用 ImageMagick-6,请将 magick
替换为 convert
,将 Copy_Alpha
替换为 Copy_Opacity
。
祝你好运!
这是在 ImageMagick 中执行此操作的简单方法:
首先,由于您没有提供实际图像,我将从 rgb.png 和 alpha.png
中重建它
convert rgb.png alpha.png -alpha off -compose copy_opacity -composite image.png
现在,要使 rgb 部分变白,只需执行以下操作:
convert image.png -fill white -colorize 100 result.png
现在要看到 rgb 部分是全白的,我们这样做:
identify -verbose result.png
.
.
.
Channel statistics:
Pixels: 512
Gray:
min: 255 (1)
max: 255 (1)
mean: 255 (1)
standard deviation: 0 (0)
kurtosis: -4.9152e+52
skewness: 9.375e+35
entropy: 0
Alpha:
min: 0 (0)
max: 255 (1)
mean: 187.152 (0.733931)
standard deviation: 109.252 (0.42844)
kurtosis: -0.822401
skewness: -1.05578
entropy: 0.336307
所以 rgb 分量是常量 255(白色),图像现在是白色的,带有 alpha 分量。
我在 Affinity Designer 中创建了一个图像,它具有以下通道:
R、G 和 B:
阿尔法:
当我在其他地方使用此图像时 (Unreal Engine),由于 RGB 通道的黑色部分,我在形状的边缘出现了小的黑色伪像。我需要的唯一重要信息是 alpha 通道。
如何使用 ImageMagick 将 RGB 通道替换为白色,同时保留 Alpha 通道?
尝试以下...
magick \( input.png -fill white -draw 'color 0,0 reset' \) \
\( input.png -alpha extract \) \
-compose Copy_Alpha -composite \
output.png
我相信有更好的方法可以完成上述操作。读取 input.png
两次,提取 alpha 通道有点多余。
第一部分将所有 RGB 通道替换为白色,但也清除了 alpha 通道。
input.png -fill white -draw 'color 0,0 reset'
第二部分抓alpha通道
input.png -alpha extract
最后,我们将提取的 alpha 值复制回白色图像的 alpha 通道。
-compose Copy_Alpha -composite
如果您使用 ImageMagick-6,请将 magick
替换为 convert
,将 Copy_Alpha
替换为 Copy_Opacity
。
祝你好运!
这是在 ImageMagick 中执行此操作的简单方法:
首先,由于您没有提供实际图像,我将从 rgb.png 和 alpha.png
中重建它convert rgb.png alpha.png -alpha off -compose copy_opacity -composite image.png
现在,要使 rgb 部分变白,只需执行以下操作:
convert image.png -fill white -colorize 100 result.png
现在要看到 rgb 部分是全白的,我们这样做:
identify -verbose result.png
.
.
.
Channel statistics:
Pixels: 512
Gray:
min: 255 (1)
max: 255 (1)
mean: 255 (1)
standard deviation: 0 (0)
kurtosis: -4.9152e+52
skewness: 9.375e+35
entropy: 0
Alpha:
min: 0 (0)
max: 255 (1)
mean: 187.152 (0.733931)
standard deviation: 109.252 (0.42844)
kurtosis: -0.822401
skewness: -1.05578
entropy: 0.336307
所以 rgb 分量是常量 255(白色),图像现在是白色的,带有 alpha 分量。