一个用 Python 编写的位图转 SVG 命令行工具,支持 jpg、jpeg、png 输入。它优先服务黑白/高对比图像,也支持基础彩色图标和扁平插画的区域矢量化。
python3 -m venv vector
source vector/bin/activate
pip install -r requirements.txt黑白/高对比图像:
python main.py --input examples/input/logo.png --output examples/output/logo.svg --mode binary如果原图是白底黑色主体,通常需要反色:
python main.py --input examples/input/logo.png --output examples/output/logo.svg --mode binary --invert彩色图像:
python main.py --input examples/input/icon.png --output examples/output/icon.svg --mode color --colors 8--input:输入jpg/jpeg/png文件路径。--output:输出 SVG 文件路径。--mode binary|color:选择黑白或彩色矢量化流程。--threshold:固定二值化阈值;不传时使用 Otsu。--min-area:过滤小轮廓面积,默认10。--colors:彩色模式 K-Means 聚类颜色数量,默认8。--epsilon-ratio:Douglas-Peucker 轮廓简化强度,默认0.002。--invert:反转黑白阈值结果。--max-size:处理前缩放最长边,但 SVG 输出尺寸仍匹配原图。--smooth none|chaikin|bezier:可选平滑策略。
pytest适合:
- 黑白 logo
- 高对比线稿
- 图标
- 扁平插画
- 色块清晰的简单图像
不适合:
- 复杂照片
- 大面积渐变
- 纹理丰富的图像
- 对路径艺术质量要求很高的商业矢量重绘