Answers:
我在题为“ 如何使用ImageMagick将JPEG图像转换为SVG格式 ”的问答中找到了这个示例。。建议的答案之一potrace
。
$ convert input.jpg output.ppm
$ potrace -s output.ppm -o svgout.svg
查看该potrace
网站,您显然可以直接从BMP转到SVG。
$ potrace -s input.bmp -o output.svg
的另一个选择potrace
是autotrace
。
$ autotrace -output-file ouput.svg -output-format svg --color-count 4 input.bmp
您可能需要使用--color-count
才能获得适合您需求的图像。
在这2个中,它实际上取决于源材料。如果要转换图像,则potrace
可能是更好的选择。对于非图片材料(例如字体)和无生命的物体(例如风景),其中包括道路之类的东西,然后autotrace
使用其--centerline
开关。
虽然并非照片的最佳选择,但它在线条艺术和类似海报的图像上表现出色。色彩效果不佳。Autotrace具有某些功能,这些功能在Inkscape的嵌入式Potrace对话框中不可用。例如,有一个中心线开关对于追踪道路(在地图中)或字体字符特别有用。
您可以将这些命令之一包装在Bash中的for循环中,这将使执行批量转换任务的工作变得容易。
$ for i in *.bmp; do <CONVERSION TOOL> ... "$i"; done
convert -channel RGB -compress None input.jpg bmp:- | potrace -s - -o output.svg
通常,我使用convert
ImageMagic来完成所有图像处理任务,但无法使其与svg文件完美配合。但是,您可以inkscape
从命令行使用自身:
for i in *bmp; do inkscape -f "$i" -l "$i.svg"; done
这将创建名为的文件foo.bmp.svg
。要正确命名,请尝试以下操作:
for i in *bmp; do inkscape -f "$i" -l "${i%.bmp}.svg"; done
这种方法的问题是,至少在我的系统上,它会弹出一个令人讨厌的图形对话框,询问我是否要链接或嵌入图像:
因此,您仍然需要手动单击“确定”,但是它仍然比逐个文件快得多。
据我所知,输出图像是相同的:
从理论上讲,无论是convert
和rsvg-convert
应该能够做到这一点,但我无法得到它在几分钟内我花了试图在我的图片很好地工作。他们俩都值得研究。
potrace
嵌入了,所以我想知道它是否仍在使用该工具?quote:“ Potrace现在已嵌入到Inkscape中。您无需单独运行它。” - wiki.inkscape.org/wiki/index.php/Tools
potrace
是为此的工具。您可以批量处理它们,但首先必须将图像转换为单色:
ls ./*.jpg | xargs -L1 -I {} convert -monochrome {} {}.ppm
ls -1 ./*.ppm | xargs -L1 -I {} potrace {} -r 300 -b svg -o {}.svg
在Ubuntu上安装:
sudo apt install potrace
如果要转换非单色图像,请使用Inkscape
基于potrace的支持多种颜色的跟踪工具,它首先将图像转换为彩色图层,然后对其进行跟踪并合并结果。
要使用跟踪器,请加载或导入图像,将其选中,然后选择“ 路径” >“ 跟踪位图”项,或Shift+ Alt+B.
看到
potrace
。