Imagemagick GIF尺寸重复一遍又一遍

时间:2016-05-15 23:07:51

标签: python imagemagick subprocess imagemagick-convert

我在Python脚本中使用Imagemagick识别来确定图像的尺寸。在分析动画GIF时,尺寸一次又一次地重复,例如, 500 375500 375500 375500 375500 375500 375500 375500 375

为什么会这样?如何将此输出清理为简单的宽度/高度?

产生此结果的Python脚本:

#!/usr/bin/env python
import subprocess, logging

# identify -ping -format "%w %h" test.gif
dimensions = subprocess.check_output([
    r'C:\Program Files\ImageMagick-6.9.3-Q16\identify.exe',
    '-ping',
    '-format',
    '%w %h',
    "../www/content/test.gif"
])

# b string to utf-8 string
dimensions = dimensions.decode("utf-8")

logging.warning(dimensions)

日志中的输出如下:

WARNING:root:500 375500 375500 375500 375500 375500 375500 375500 375

1 个答案:

答案 0 :(得分:0)

修改

对此答案的评论是正确的 - 最好的方法是使用image.gif[0]

原始答案

尺寸会一次又一次地重复,因为动画gif有多个框架。当我注意到每个gif的尺寸重复了不同的次数时,我想通了。

我改变了'%w%h'到'%w%h;'并使用split来隔离第一帧。

dimensions = dimensions.decode("utf-8").split(';') #375 500