Mathematica基础——图片的共形变换

2026-02-03 12:51:11

1、对图像做平方的2倍变换:

ImageTransformation [图片,(#^2)*2&]

变换之后,图形会保持原图的尺寸,多余的部分会裁掉,缺少的部分会用空白填充!

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

2、给图片加上马赛克:

ImageTransformation [图片,8 Floor[#/8]+1&,DataRange->Full]

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

3、把马赛克变薄:

ImageTransformation [图片,2 Floor[#/2]+1&,DataRange->Full]

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

4、给图片加一个下雨的效果:

g = Function[p, With[{C = 150., R = 35.},

     {p[[1]] + (R*Cos[(p[[1]] - C)*360*2/R]/6), p[[2]]}]];

ImageTransformation [图片,g,DataRange->Full]

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

5、对图片做如下 变换:

Sin[#^2]^2&

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

6、猫眼效果:

f[pt_] := With[{s = {0.55, 0.55}}, Module[{r, a}, r = Norm[pt - s]^2/Norm[s];     a = ArcTan @@ (pt - s); s + r {Cos[a], Sin[a]}]]

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

7、哈哈镜效果:

f[pt_] := With[{s = {.5, .5}}, Module[{r, a, rn}, r = Sqrt[Norm[pt - s] Max[s]];      a = ArcTan @@ (pt - s); s + r {Cos[a], Sin[a]}]]; 

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

8、旋转效果:

f[pt_] := With[{s = {.5, .5}}, Module[{r, a}, r = Norm[pt - s]^2/Max[s]; 

      a = ArcTan @@ (pt - s)/Pi*180; pt + {Mod[(a/200 + r/2.), 16/200.] - 8/200., 0}]]

Mathematica基础——图片的共形变换

Mathematica基础——图片的共形变换

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