构造图像掩膜的方法

2025-10-02 21:52:16

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]

构造图像掩膜的方法

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢