I've been searching far and wide, but I haven't found a solution yet, so I'll ask here. I have a script that creates a large numpy array of coordinate points (~10^8 points), and i then want to draw a polygonal line using the coordinates. PIL's ImageDraw.line works fine for regular lists, but there seems to be a problem when using numpy arrays.
Right now this is my solution:
image = Image.new('RGB', (2**12, 2**12), 'black')
draw = ImageDraw.Draw(image, 'RGB')
draw.line(pos.tolist(), fill = '#00ff00')
where pos
is the large numpy array that contains all points in the following order: [x0, y0, x1, y1, ...]
(this can be changed if needed). The most time consuming part of the program is the pos.tolist()
part, taking up about 75% of runtime.
Is there a way to draw a line and save it to an image and keeping it as a numpy array? I just want a simple image, nothing else besides the line and the black background.