多语言展示
当前在线:1957今日阅读:2今日分享:31

怎么用Mathematica去除或者替换图片的背景?

去除和替换图片的背景,用PhotoShop也是可以的,但缺点是需要操作人全程手动操作,太麻烦。我们可以用Mathematica来自动处理,当然前提是,你要会写Mathematica代码。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

给出下图,去掉绿色背景。

3

然后用Mathematica导出图片,效果如下,小部分有点瑕疵,现在可以使用PhotoShop稍微处理一下,就行了。

4

看下图,如何把前面的栅栏去掉?其实,图片的背景是没有严格定义的,前景也可以视为背景。

5

但是RemoveBackground并没有把绿色的栅栏删掉。原因是,栅栏的颜色,并不是严格意义上的绿色,只是接近绿色而已。

6

用Mathematica查看一下栅栏的颜色。运行得到的color就是栅栏的颜色,在本例后面的代码里面,color就代表着栅栏的颜色。

7

单独把栅栏提取出来——栅栏,并绘图检验一下。代码里面的参数可以自己调整。

8

在原图里面把栅栏去掉,就是i-栅栏。但是当参数是1或3的时候,稍有缺点。

9

参数是2的时候,效果最好。谁用PhotoShop修图,能如此快速地去掉栅栏?

注意事项

本文主要介绍了两个函数:RemoveBackground、Inpaint,分别有不同的作用。

推荐信息