我一直在寻找广泛,但我还没有找到解决方案,所以我在这里问。我有一个脚本创建一个大的numpy坐标点数组(~10 ^ 8点),然后我想使用坐标绘制一个折线。 PIL的ImageDraw.line适用于常规列表,但在使用numpy数组时似乎存在问题。
现在这是我的解决方案:
image = Image.new('RGB', (2**12, 2**12), 'black')
draw = ImageDraw.Draw(image, 'RGB')
draw.line(pos.tolist(), fill = '#00ff00')
其中pos
是包含以下顺序中所有点的大型numpy数组:[x0, y0, x1, y1, ...]
(如果需要,可以更改)。该程序中最耗时的部分是pos.tolist()
部分,占运行时间的75%左右。
有没有办法绘制一条线并将其保存到图像并将其保持为numpy数组?我只想要一个简单的图像,除了线条和黑色背景之外别无其他。