You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用ImageMagick提取黑白图像最少连续顺时针外边界点?

使用ImageMagick提取黑白图像的最少顺时针外边界顶点

核心思路

先提取图像的外边界路径,再通过路径简化保留关键顶点,最后调整为顺时针顺序。

具体步骤

  1. 提取并预处理外边界
    先将图像转为纯黑白,确保目标边界为前景,再去除空白边缘:

    convert input.png -threshold 50% -negate -trim temp.png
    
    • -threshold 50%:将图像转为严格黑白,避免灰度干扰
    • -negate:反转颜色,让黑色线条变为白色前景(ImageMagick默认提取前景轮廓)
    • -trim:裁掉图像周围的空白区域,聚焦目标线条
  2. 简化路径并提取顺时针顶点
    使用-simplify选项减少路径点数量,保留关键顶点,同时调整为顺时针顺序:

    convert temp.png -simplify 1.0 -reverse -format "%p" info:
    
    • -simplify 1.0:路径简化阈值,数值越大保留的点越少,可根据图像从0.5~2.0之间调整
    • -reverse:反转路径方向,确保输出的顶点为顺时针排列
    • -format "%p" info::直接输出路径的所有顶点坐标
  3. 处理带孔洞的特殊情况
    如果图像存在内部孔洞,先填充内部区域,只保留外边界:

    convert input.png -threshold 50% -negate -fill white -draw "color 0,0 floodfill" -trim -simplify 1.0 -reverse -format "%p" info:
    
    • -fill white -draw "color 0,0 floodfill":从左上角填充内部区域,消除孔洞,仅保留外轮廓

注意事项

  • 测试时先从较小的-simplify阈值开始,逐步增大直到得到最少的关键顶点
  • 若输出顶点顺序仍不符合预期,可去掉-reverse选项尝试

内容的提问来源于stack exchange,提问作者ina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 01:53:19