我们试图在 Mathematica 做以下事情。
但是如果是真实的照片,最后看起来会很糟糕(就像照片周围有一个光环)。
以下是我们迄今为止所做的尝试:
unground0[img_] := With[{mask = ChanVeseBinarize[img, TargetColor->{1.,1.,1.}]},
Rasterize[SetAlphaChannel[img, ImageApply[1-#&, mask]], Background->None]]]
这里有个例子。
原图:
用白色背景替换为无背景(或者,为了演示的目的,用粉色背景)的图像:
有办法摆脱那个光环吗?调整像“水平惩罚”这样的东西,我只能让光环消失,代价是丢失一些图像。
编辑: 所以我可以比较赏金的解决方案,请像上面一样构造你的解决方案,即一个自包含的函数命名为 unground-某事,采取一个图像和返回一个透明背景的图像。