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/M锾攒揉敫ax[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]