Dea*_*ses 5 python imagemagick wand
我正在寻找一种计算和内存高效的方法来在 Python 程序中使用 ImageMagick 来检索批量照片的尺寸。
我首先使用了当前最喜欢的 ImageMagick-Python 包 Wand。我试过了,感觉很慢。所以我对它进行了测试,而不是简单地使用 subprocess.check_output() 执行 ImageMagick。子流程快了 10 倍以上。
我的问题:这是其他人的经历吗?有没有办法更快地使用 Wand?
魔杖花了1.2 秒:
1.jpg: 3264x2448
2.jpg: 1600x1200
3.jpg: 1700x1101
4.jpg: 1600x1200
5.jpg: 3648x2736
6.jpg: 2789x1980
7.jpg: 2400x1600
8.jpg: 3648x2736
processed 8 files in 1.236s
Run Code Online (Sandbox Code Playgroud)
子进程只用了0.1 秒来检索相同的文件:
1.jpg: 3264x2448
2.jpg: 1600x1200
3.jpg: 1700x1101
4.jpg: 1600x1200
5.jpg: 3648x2736
6.jpg: 2789x1980
7.jpg: 2400x1600
8.jpg: 3648x2736
processed 8 files in 0.102s
Run Code Online (Sandbox Code Playgroud)
魔杖代码:
for filename in files:
with wand.image.Image(filename=filename) as img: return img.width, img.height
Run Code Online (Sandbox Code Playgroud)
子进程代码:
subprocess.check_output(['identify', '-format', '%f:%w:%h\\n', 'path/to/imgs/*.jpg'])
# parse output by splitting each line on the ':'
Run Code Online (Sandbox Code Playgroud)
我意识到这不是苹果对苹果,因为我在 Wand 中为每个文件调用一次 ImageMagick。但是,我在 Wand 中没有看到任何批处理选项,所以我相信这是 Wand 可以为我的场景做的最好的事情。
谢谢!
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |