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

如何用命令行工具提取灰度图50%轮廓并导出为SVG路径

解决方案

方法一:提取阈值后圆形的轮廓路径

若需提取50%阈值处理后圆形的边缘轮廓,可通过以下命令实现全自动化:

convert input.png -background white -alpha background -threshold 50% -edge 1 -negate pgm:- | potrace - --svg --fill none > result.svg

参数说明:

  • -background white -alpha background:将PNG的透明背景替换为白色,避免干扰边缘检测
  • -threshold 50%:将灰度图转为二值图,保留亮度≥50%的区域
  • -edge 1:提取二值图的边缘,生成1像素宽的轮廓线条
  • -negate:反转颜色,让轮廓线条变为黑色、背景变为白色(适配Potrace默认识别逻辑)
  • potrace - --svg --fill none:读取PGM格式输入,生成仅含路径描边(无填充)的SVG文件

方法二:提取50%灰度的等高线路径

若你的需求是提取原图中灰度值恰好为50%的等高线(即你所说的“50%轮廓”),可使用ImageMagick的等高线提取功能配合Potrace:

convert input.png -background white -alpha background -contour 1 -level 50%,50% -negate pgm:- | potrace - --svg --fill none > result.svg

参数说明:

  • -contour 1:提取图像中的灰度等高线
  • -level 50%,50%:仅保留灰度值处于50%区间的等高线
  • 其余参数作用同方法一

也可通过-fx滤镜更精准地筛选目标像素:

convert input.png -background white -alpha background -fx "abs(u - 0.5) < 0.01 ? 0 : 1" pgm:- | potrace - --svg --fill none > result.svg

-fx表达式说明:筛选灰度值接近0.5(误差±1%)的像素设为黑色线条,其余设为白色背景,确保只保留目标等高线。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 13:11:12