多语言展示
当前在线:1470今日阅读:23今日分享:25

Mathematica图像处理——ImageMesh

ImageMesh的作用是,把图像的前景转化为网格。
工具/原料
1

电脑

2

Mathematica

方法/步骤
1

给出一个图像。a={{0, 0, 0, 0}, {0, 0, 1, 0}, {0, 1, 0, 0}, {0, 0, 0, 0}}// ArrayPlot[#, Frame -> False] &

2

把它转化为网格:b = ImageMesh[a]下面是截图。

3

上面的只保留了前景区域,忽略了黑色区域。如果对a的反色进行转化,就得到下面的截图。b = ImageMesh[1 - (a // Rasterize)]直接把多余的背景删除了。

4

把a缩小为4*4大小的图片:c= a // ImageResize[#, {4,4}] &;然后进行ImageMesh处理:ImageMesh[c]事实上,ImageMesh[c]不是一个图片。

5

下面几个步骤的结果,需要读者自己加以对比,并从中归纳一些东西。ImageMesh[c, CornerNeighbors -> False]

6

ImageMesh[c, CornerNeighbors -> True]

7

ImageMesh[1 - c, CornerNeighbors -> True]这是把多余的背景去掉了。

8

ImageMesh[1 - c, CornerNeighbors -> False]

推荐信息