我使用Python 3.6.2。我期待运行这段代码https://www.pyimagesearch.com/2017/06/19/image-difference-with-opencv-and-python/,但我收到此错误:
用法:[-h] -f FIRST -s第二误差:以下参数是必需的:-f / - 第一,-S / - 第二”
当我运行这段代码的最后一行,我不知道什么是错的:
from skimage.measure import compare_ssim
import argparse
import imutils
import cv2
import args
ap = argparse.ArgumentParser()
ap.add_argument("-f", "--first", required=True,default='I:\Aaron - Satslab\Pyimagesearch - code - Image processing and computer vision and others\image-difference\images\first.png',
help="firstinputimage")
ap.add_argument("-s", "--second", required=True,default='I:\Aaron - Satslab\Pyimagesearch - code - Image processing and computer vision and others\image-difference\images\second.png',
help="second")
args = vars(ap.parse_args())
期待您的帮助。
问题是,你增加一个默认值你添加的参数,但是没有设置required=False
。这意味着解析参数时,程序会抛出异常,除非你实际-f
/ --first
和-s
/ --second
调用它。
的解决方案是:
required=False
通话设置add_argument
,因为你提供一个默认的。这样一来,你可以调用python my_script.py
,它将使用提供的默认。python my_script. py -f some_file.png -s some_other_file.png