如何将 jpeg 图像转换为 octave 中的 svg?
How to convert a jpeg image to an svg in octave?
我有一张黑白图像,我想首先将其转换为具有透明背景的 png,以便仅保留图像的黑色部分。使用此输出图像,我想将其转换为 svg。所有这些都是通过可以连接到服务器后端的代码实现的。我怎样才能做到这一点?
我不确定这是否会始终有效,但它可能会让您入门。我建议 ImageMagick
和 potrace
两者都是免费的,可用于 OS X、Linux 和 Windows。您可以将它们作为库函数集成到 PHP 和 运行 中,但是现在,我只使用 terminal/Commandline.
让我们从使用 ImageMagick 制作棋盘图像开始
convert -size 200x100 pattern:checkerboard chess.jpg
我们现在可以将其设置为纯黑白的阈值,如下所示:
convert chess.jpg -threshold 50% chessbw.jpg
然后我们要传给potrace
做成svg
,但是那需要pbm
格式的文件,所以我们就这样转成pbm
:
convert chess.jpg -threshold 50% chessbw.pbm
现在我们告诉 potrace
将其转换为 svg
potrace -b svg chessbw.pbm -o result.svg
但这不是很容易看到,所以我们得到 ImageMagick
将 result.svg
转换为 JPEG
但背景为红色,以便我们可以看到透明区域:
convert -background red result.svg result.jpg
好的,这与其说是一个简单的答案,不如说是一种解释,所以我将把所有这些简化为一个命令来完成所有的事情:
convert chess.jpg -threshold 50% pbm:- | potrace -b svg - -o result.svg
希望对您有所帮助。
我有一张黑白图像,我想首先将其转换为具有透明背景的 png,以便仅保留图像的黑色部分。使用此输出图像,我想将其转换为 svg。所有这些都是通过可以连接到服务器后端的代码实现的。我怎样才能做到这一点?
我不确定这是否会始终有效,但它可能会让您入门。我建议 ImageMagick
和 potrace
两者都是免费的,可用于 OS X、Linux 和 Windows。您可以将它们作为库函数集成到 PHP 和 运行 中,但是现在,我只使用 terminal/Commandline.
让我们从使用 ImageMagick 制作棋盘图像开始
convert -size 200x100 pattern:checkerboard chess.jpg
我们现在可以将其设置为纯黑白的阈值,如下所示:
convert chess.jpg -threshold 50% chessbw.jpg
然后我们要传给potrace
做成svg
,但是那需要pbm
格式的文件,所以我们就这样转成pbm
:
convert chess.jpg -threshold 50% chessbw.pbm
现在我们告诉 potrace
将其转换为 svg
potrace -b svg chessbw.pbm -o result.svg
但这不是很容易看到,所以我们得到 ImageMagick
将 result.svg
转换为 JPEG
但背景为红色,以便我们可以看到透明区域:
convert -background red result.svg result.jpg
好的,这与其说是一个简单的答案,不如说是一种解释,所以我将把所有这些简化为一个命令来完成所有的事情:
convert chess.jpg -threshold 50% pbm:- | potrace -b svg - -o result.svg
希望对您有所帮助。