我正在制作一个鼠标跟踪脚本,我只是尝试编写自己的重新采样,因为我希望输出合并所有记录的分辨率,但我无法解决一些错误所以放弃并尝试scipy。
它几乎完美无缺,但它同时看起来很糟糕,特别是如果使图像变小。我认为这可能是正常的,直到我看到PIL的结果,这是非常完美的,不幸的是,那时合并阵列为时已晚。
对于记录,new_data
的格式为[[(x0, y0), (x1, y0)],[(x1, y0),...
。最初它是在一个字典中,每个坐标都是一个键(但我不认为它可以变成一个numpy数组)。
这是使用scipy的缩减:
zoom_factor = (desired_resolution[0] / current_resolution[0],
desired_resolution[1] / current_resolution[1])
numpy_image = zoom(np.array(new_data), zoom_factor, order=1)
这是使用PIL:
im = im.resize(desired_resolution, Image.ANTIALIAS)
如您所见,PIL更顺畅。我目前唯一可以想到的建议是使用scipy升级到最大分辨率,然后使用PIL再次降低尺寸,但它看起来很混乱。如果有人有其他想法,请告诉我。