运行外部子进程并读取返回代码

1 投票
1 回答
935 浏览
提问于 2025-04-15 18:39

我正在写一个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返回的结果(这是一个数字)来做判断呢?

1 个回答

4

这段内容是关于编程问题的讨论,通常在StackOverflow上,程序员们会分享他们遇到的困难和解决方案。这里面可能涉及到一些代码示例和技术细节,但我们会尽量用简单的语言来解释。

如果你看到类似于

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
的部分,那是代码的占位符,表示在这里应该有一些具体的代码示例。这样的代码通常用来帮助理解问题的背景或解决方案。

总之,这里讨论的内容是为了帮助大家更好地理解编程中的一些常见问题和解决方法,特别是对于刚入门的朋友们来说,能够更容易地掌握这些知识。

撰写回答