【问题标题】:Running external subprocesses and reading return code运行外部子进程并读取返回码
【发布时间】:2011-01-10 22:31:01
【问题描述】:

我正在创建一个 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 ?

【问题讨论】:

    标签: python process subprocess return popen


    【解决方案1】:
    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 2011-05-06
      • 2011-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多