python独立图像

2024-05-16 21:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据库,上面有(x,y)点,随着时间的推移,这些点可以绘制在图像上。为了更好地表示数据,我想生成图像的帧以及(x,y)坐标上的一个圆。我设法用下面的代码完成了这项工作,但在我看来,这需要花费太多的时间(视频有4250帧长,必须多次进行,以便单独收集数据)。我要找的是一个可能的优化使用的图像最初加载在内存中,所以它不是每一帧再次加载,而是一次和全部。在

subprocess.call(['mkdir', install_path + 'users/' + user.name + '/temp'])
# creates a temporary folder for the pngs generated
r = 8

for i in range(0, 4250, 1):
    valaro = Image.open('pngs/valaro_800.png')
    draw = ImageDraw.Draw(valaro)
    for d in data:
        if (d.reeltime + 5) * 25 > i > (d.reeltime - 5) * 25:
            # interpret the data to fit on the picture
            xl = d.x * 2.91 + 392
            yl = d.y * -3.06 + 434

            draw.ellipse((xl - r, yl - r, xl + r, yl + r), fill='green')
    valaro.save('users/' + user.name + '/temp/' + user.name + str(i) + '.png')

提前感谢您的回复


Tags: the数据namein图像forpng时间
1条回答
网友
1楼 · 发布于 2024-05-16 21:12:04

你可以改变。。。在

for i in range(0, 4250, 1):
    valaro = Image.open('pngs/valaro_800.png')

…到。。。在

^{pr2}$

…因此映像只加载了一次,但我怀疑这只会带来较小的性能提升。在

相关问题 更多 >