首页 > 解决方案 > ImageMagick - 沿内部不透明对象边界分割透明图像

问题描述

我有一个包含三个不透明对象的透明图像,每个对象都由透明度分隔。有没有一个简单的命令——不是一个带有无数选项、参数和随机极客在图片中行走的命令——将这张图片分解成三个部分,每个部分都在一个图片文件中。

请访问此链接以查看图片类型。

我非常感谢你的帮助。

标签: imagemagicktransparencycrop

解决方案


如果在类 Unix 系统上,您可以尝试我的使用 ImageMagick 的 multicrop2 bash 脚本。这是一个与 Mark Setchell 的代码示例非常相似的脚本,只是添加了一些花里胡哨的东西。

输入:

在此处输入图像描述

multicrop2 -b none -f 1 -u 3 image.png results.png


它将提取每个对象,就像 Mark 对 -connected-components 的使用一样,我的脚本也使用了它。-b none 告诉脚本背景颜色是透明的。-f 1 表示使用 1% 的模糊值将背景与对象分开。-u 3 表示不旋转生成的图像。

结果:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

如果你不关心字母,你可以做

multicrop2 -b none -f 1 -u 3 -d 100 test.png results2.png


-d 100 丢弃包含少于 100 个连续像素的任何区域。所以你只会得到上面显示的前 3 张图像。

在http://www.fmwconcepts.com/imagemagick/index.php查看我的脚本


推荐阅读