从透明物体后面擦除纯色背景

问题描述 投票:0回答:1

我想从这样的图片中删除纯色背景:

Object on opaque background

图形编辑软件中显示的结果表示:

Object on checkers background

在 Magick.NET、ImageMagick 甚至 System.Drawing.Common 中是否有直接的方法来执行此操作?

我可以接受单色而不是灰度的对象,因为我可以分别对黑色和白色像素重复该过程。

我已经学会了如何应用复合运算符、灰度等过滤器。

类似 ImageMagick 的

level-colors
看起来可能可以完成这项工作,但我未能尝试与操作员合作。

我也知道,作为最后的手段,我可以像这样手动进行一些像素数学

foreach (var pixel in magickImageClone.GetPixels())
{

}

但我试图避免这样做。

老实说,我除了反复试验之外无能为力,因为像 OutDst 这样的 Magick.NET 函数名称并没有真正告诉我太多信息。

c# .net graphics imagemagick magick.net
1个回答
0
投票

在 Imagemagick 6 中尝试

enter image description here

convert img.png -colorspace gray -alpha copy result.png

enter image description here

这就是你想要的吗?

如果在 Imagemagick 7 上,请将转换更改为 magick。

© www.soinside.com 2019 - 2024. All rights reserved.