开发者

Running external subprocesses and reading return code

I'm creating a python script to sort a lot of images (game screenshots).

I found a way to do that in imagemagick : I know that, if a specific square of the image is the same as the reference c开发者_如何学运维rop, then the image is of category one. If not, I check for another crop and another category, and if that doesn't fit either, I put the image in category three.

I found how to do that in Imagemagick :

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

(I cut a piece of the image, then compare that piece to "reference.jpg")

How do I call that from the script, and do an if based on what convert returns (it's a number) ?


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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜