File size: 614 Bytes
83201c0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from PIL import Image
import numpy as np
import potrace
def png_to_np_array(filename):
img = Image.open(filename)
data = np.array(img.getdata()).reshape(img.size[0], img.size[1], 3)
bindata = np.zeros((img.size[0], img.size[1]), np.uint32)
for i, row in enumerate(data):
for j, byte in enumerate(row):
bindata[i, j] = 1 if sum(byte) < 125*3 else 0
return bindata
def png_to_svg(filename):
data = png_to_np_array(filename)
bmp = potrace.Bitmap(data)
path = bmp.trace()
return path
print([curve.segments for curve in png_to_svg('pngs/png500.png').curves])
|