Imagemagick 裁剪非白色 Polygon Linux

问题描述 投票:0回答:1

我有一个白色背景,前景有各种颜色的多边形。

如何使用 imagemagick 裁剪和迭代图像中的每个多边形?

linux shell imagemagick
1个回答
0
投票

您可以在 Imagemagick 中通过阈值来做到这一点,然后使用 -connected-components 来定位边界框。然后循环每个边界框并使用给定的边界框进行裁剪。

输入:

bboxArr=(`convert polygons.png -threshold 99% -negate -type bilevel \
-define connected-components:exclude-header=true \
-define connected-components:mean-color=true \
-define connected-components:verbose=true \
-connected-components 8 threshold.png | grep "gray(255)" | awk '{print($2)}'`)
num=${#bboxArr[*]}
for ((i=0; i<num; i++)); do
convert polygons.png -crop "${bboxArr[$i]}" +repage polygon$i.png
done

多边形 1:

多边形 2:

多边形 3:

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.