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

构造图像掩膜的方法

掩膜,类似于PhotoShop里面的蒙板。不过,本文介绍的方法,是使用Mathematica代码构造掩膜,方便快捷。本文约定:所有出图,都统一调整为500*365像素的大小。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

构造一个圆形掩膜:a = Table[x^2 + y^2, {x, -3.65, 3.65, 1}, {y, -5, 5, 1}] 结果不尽人意,因为像素值大于1的地方,Mathematica默认为白色。

2

想要获得真正的掩膜,需要除以像素值的最大值:(a/Max@a) // Image

3

但是上面的图,像素太少,导致放大之后,全是马赛克,因此需要提高采样率:a = Table[x^2 + y^2, {x, -3.65, 3.65, 0.1}, {y, -5, 5, 0.1}];b = (a/Max[a]) // Image

4

更高的采样率,会增加计算时间,但改进效果不明显。a = Table[x^2 + y^2, {x, -3.65, 3.65, 0.01}, {y, -5, 5, 0.01}];b = (a/Max[a]) // Image

5

方形掩膜:n=3.65;a = Table[(Abs[x] + Abs[y])^n, {x, -3.65, 3.65, 0.1}, {y, -5, 5,     0.1}];b = (a/Max[a]) // Image

6

当n减少到1.66,方形掩膜变成了:

7

n=0.6的情形:

8

变异掩膜:a = Table[Abs[Sin[x*y]], {x, -3.65, 3.65, 0.1}, {y, -5, 5, 0.1}];b = (a/Max[a]) // Image

9

对这个掩膜进行模糊处理:c = b // Blur[#, 10] &

10

把c作为掩膜,应用到b里面,并把掩膜像素值大于0所对应的原图相应像素的颜色变为反色。ImageApply[1 - # &, b, Masking -> c]

注意事项

掩膜的作用很多,以后我会慢慢给大家介绍。

推荐信息