删除图像背景

时间:2014-07-08 08:26:17

标签: c# chromakey magick.net

我正在尝试使用Magick.Net删除此图像的绿色背景,但我有点卡住了。

我尝试了以下内容:

var image = new MagickImage("test.jpg");
image.ColorFuzz = new Percentage(20);
image.TransparentChroma(new MagickColor("#0F562A"), new MagickColor("#43B788"));
image.Write("test_result.jpg");

但我认为test.jpgtest_result.jpg之间没有任何区别。我选择的低和高颜色可能不是最好的选择,但我的策略是用颜色选择器从图像中选择“浅绿色”和“深绿色”(缺乏其他什么做的知识) )。

我找不到有关如何使用TransparentChroma方法的任何有用示例,因此我可能在这里走错了路。

Test image

1 个答案:

答案 0 :(得分:6)

TransparentChroma方法使低色和高色之间的所有像素都透明。但是您的输出图像是没有Alpha通道的JPEG。您必须将图像保存为PNG或其他支持透明度的格式才能查看正确的图像。

您还必须使用低值和高值进行更多操作,因为这是输出图像: enter image description here