转换numpy数组svg图像

时间:2015-04-15 00:53:03

标签: python image numpy svg

我有一个想以svg格式保存的图像。 图像采用numpy数组的形式。 虽然有很多方法可以用不同的图像格式保存数组,但我找不到那个可以在svg中完成的方法。

任何指针或python脚本都会很棒!

由于

1 个答案:

答案 0 :(得分:1)

由于您的图像采用栅格格式,因此您可以做的最好的事情就是使用potrace之类的程序将其转换为矢量图形。它有python绑定pypotrace

示例代码:

import numpy as np
import potrace

# Make a numpy array with a rectangle in the middle
data = np.zeros((32, 32), np.uint32)
data[8:32-8, 8:32-8] = 1

# Create a bitmap from the array
bmp = potrace.Bitmap(data)

# Trace the bitmap to a path
path = bmp.trace()

# Iterate over path curves
for curve in path:
    print "start_point =", curve.start_point
    for segment in curve:
        print segment
        end_point_x, end_point_y = segment.end_point
        if segment.is_corner:
            c_x, c_y = segment.c
        else:
            c1_x, c1_y = segment.c1
            c2_x, c2_y = segment.c2