1

我正在创建一个 python 脚本来对大量图像进行排序(游戏截图)。

我在 imagemagick 中找到了一种方法:我知道,如果图像的特定正方形与参考裁剪相同,则图像属于第一类。如果不是,我检查另一个裁剪和另一个类别,如果不适合,我把图像放在第三类。

我在 Imagemagick 中找到了如何做到这一点:

convert file.jpg -crop 80x10+90+980 +repage crop.jpg
compare -metric PSNR reference.jpg crop.jpg crop.jpg

(我剪了一张图片,然后将那张图片与“reference.jpg”进行比较)

我如何从脚本中调用它,并根据 convert 返回的内容(它是一个数字)执行 if ?

4

1 回答 1

4
import subprocess

retcode = subprocess.call(['convert', 'file.jpg', '-crop', 
                           '80x10+90+980', '+repage', 'crop.jpg'])
if retcode != 0:
    print 'error on convert'
else:
    retcode = subprocess.call(['compare', '-metric', 'PSNR', 
                               'reference.jpg', 'crop.jpg', 'crop.jpg'])
    print retcode
于 2010-01-29T17:15:09.517 回答