image-processing - ImageMagick:用白色替换 RGB channel ,保留 Alpha

标签 image-processing imagemagick

我在 Affinity Designer 中创建了一个图像,它具有以下 channel :

R、G 和 B:

RGB channels

阿尔法:

Alpha channel

当我在其他地方(虚幻引擎)使用此图像时,由于 RGB channel 的黑色部分,我在形状的边缘出现了小的黑色伪像。我需要的唯一重要信息是 alpha channel 。

如何使用 ImageMagick 将 RGB channel 替换为白色,同时保留 Alpha channel ?

最佳答案

这是在 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 分量。

关于image-processing - ImageMagick:用白色替换 RGB channel ,保留 Alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57427046/

相关文章:

opencv - Open CV 中用于轮廓估计的 Canny Edge 与阈值

c++ - 如何在从原始图像中提取的子图像中执行模板匹配过程并在原始图像中显示结果

linux - 如何使用 imagemagick convert 合并 5 个以上的 PDF?

algorithm - 在 OpenCV 中识别集群和分组集群

python - 从 numpy 数组转换为图像时获得意外的颜色输出

android - 函数无效自适应阈值OpenCV android中的错误CV_8UC1

android - 编译 imagemagick for android

php - 如何将 exif 数据添加到图像?

Java + ImageMagick : how to figure out height of text based on width?

PHP exec ImageMagick - 魔法转换不工作 ubuntu linux