Python 如何在1ms内使用PIL调整一个图像的大小?
我想用PIL在python中调整图像大小。 但我发现通过PIL需要70毫秒。 原始图像是1080*1920,我想把它改成500*500。 你能告诉我如何快速做出改变吗 这是我的密码Python 如何在1ms内使用PIL调整一个图像的大小?,python,image,Python,Image,我想用PIL在python中调整图像大小。 但我发现通过PIL需要70毫秒。 原始图像是1080*1920,我想把它改成500*500。 你能告诉我如何快速做出改变吗 这是我的密码 from PIL import Image img = Image.open('/your iamge path/image.jpg') import time start=time.clock() img = img.resize((500, 500), Image.ANTIALIAS) end =t
from PIL import Image
img = Image.open('/your iamge path/image.jpg')
import time
start=time.clock()
img = img.resize((500, 500), Image.ANTIALIAS)
end =time.clock()
print end-start
我在这方面做了一些广泛的工作。长话短说,Python和PIL的速度不足以在1ms内完成这项工作。尝试使用Go with the fantastic Govips库 示例来自:
使用python调整图像库大小:
from PIL import Image
img = Image.open('/your iamge path/image.jpg') # image extension *.png,*.jpg
new_width = 500
new_height = 500
img = img.resize((new_width, new_height), Image.ANTIALIAS)
img.save('output image name.png') # format may what u want ,*.png,*jpg,*.gif
对于1920*1080像素的图像,您可以使用通常的1920*1080*3整数。调整大小最简单的算法是拉伸每个像素或删除像素 因此,要拉伸图片,您仍然需要访问几乎每一个像素,这样您就可以访问100多万个像素,然后再访问100万个像素(取决于调整大小的分辨率,可能更多,也可能更少) 即使在接近硬件的地方操作,达到1毫秒也会非常快。Python通常比其他编程语言慢一些,因为速度不是它主要关心的问题 因此,最好的选择是寻找一个全C的库来完成这项工作,并用python包装它
编辑: 好的,图书馆真的很近 只需使用filter Image.NEAREST调整图片大小。例如:
img = Image.open("the picture")
w = 500
h = 500
img = img.resize((w,h),Image.NEAREST)
如果你把图片拉伸到很大程度(因为过滤机制是最原始的),它显然会很难看,但它很快:从1920*1080到500*500,我花了2.4毫秒这非常广泛。我建议添加更多关于基准测试、需求和整个任务的信息,因为这涉及到很多复杂的东西,包括延迟与带宽等。这可能很明显。所以我想你不需要经验丰富的用户的帮助吗?不,不,好的,我会说得更详细一些。你不会仅仅用Python来调整1080x1920的图像大小。Python是一种解释语言。设定现实的目标,或者使用一种不需要解释的语言。(不,我们不能推荐您应该使用的工具或库,请参阅关于工具或库的建议。)但它需要70mscheck out这个链接博客url不正确。点击这里:goo.gl/xnbzel和所有其他好的python库都可以在C/C++中使用。python的论点在这里不成立。你能给我一些关于C库的建议吗?@Beili:不,库的推荐在这里是不合适的。做你自己的研究。好的,我会做我的研究\@Sudix,我的测试需要30毫秒。你能举个例子吗?这是对问题的评论,不是答案。答案是自我维持的,这里有相关信息。非站点链接应该只是额外的资源,但如果该非站点位置不可用,则答案仍然有用。这个答案不符合这些标准。
img = Image.open("the picture")
w = 500
h = 500
img = img.resize((w,h),Image.NEAREST)