错误:需要以下参数。-i--图片, -w--宽度

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

我有一个问题。python 还有... Opencv我只是为了尝试这个脚本从 用OpenCV测量图像中物体之间的距离

/Users/Acer/OneDrive/Desktop/contohajaya/distance_between.py
usage: distance_between.py [-h] -i IMAGE -w WIDTH
distance_between.py: error: the following arguments are required: -i/--image, -w/--width

我有 import argparse

如果你有一个解决方案,请写下来雅:)

python opencv argparse
1个回答
0
投票

这不是错误,但预期的结果。

你必须在consoleterminalcmd.exebashetc.中运行代码,并使用参数。

 distance_between.py -i path_to_image -w some_width_value

你不能在没有参数的情况下运行它,因为它是没用的。

而且这意味着你不能双击脚本来运行它,因为它将在没有参数的情况下运行。


EDIT:

你可以使用 add_argument( default=... ) 当你不在控制台设置参数时,使用默认值 - 即默认值 width 800

ap.add_argument("-w", "--width", type=float, required=True, default=800, help="...")

它可以用于 width 可能经常会需要相同的图像,但总是用相同的图像运行代码会很无聊。


当然,你可以删除所有的 ArgumentParser 并在代码中使用常量值 - 即

args = {"width": 800, "image": "path/to/image.jpg"}

但如果总是为同一个图像运行,那就更无聊了。

如果要使用不同的图像,你必须在代码中改变这个值。

使用 default=...ArgumentParser 它要好得多,因为你可以在没有参数的情况下运行,它会使用默认值,但你仍然可以在控制台中使用不同的参数来运行,而无需更改代码。

© www.soinside.com 2019 - 2024. All rights reserved.