我使用的开放CV使用Python来获得图像的差异和代码不起作用

问题描述 投票:-4回答:1

我使用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())

期待您的帮助。

python-3.x opencv deep-learning arguments
1个回答
0
投票

问题是,你增加一个默认值你添加的参数,但是没有设置required=False。这意味着解析参数时,程序会抛出异常,除非你实际-f / --first-s / --second调用它。

的解决方案是:

  1. 在这两个required=False通话设置add_argument,因为你提供一个默认的。这样一来,你可以调用python my_script.py,它将使用提供的默认。
  2. 通过提供两个CLI选项调用程序:python my_script. py -f some_file.png -s some_other_file.png
© www.soinside.com 2019 - 2024. All rights reserved.