错误:需要以下参数:i/image,w/width

2024-04-30 06:14:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题:pythonOpencv 我只是想从Measuring distance between objects in an image with 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

如果你有解决方案,请写下你:)


Tags: inpyimage脚本anobjectswithonedrive
1条回答
网友
1楼 · 发布于 2024-04-30 06:14:28

这不是错误,而是预期的结果

您必须在console/terminal/cmd.exe/bash/etc中运行代码,并使用参数

 distance_between.py -i path_to_image -w some_width_value

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

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


编辑:

当您不在控制台中设置参数时,可以使用add_argument( default=... )来使用默认值-即默认值width800

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

它对width很有用,因为width可能经常需要相同的映像,但总是使用相同的映像运行代码可能会很无聊


当然,您可以删除所有ArgumentParser,并在代码ie中使用常量值

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

但总是为了同一个形象而跑会更无聊

要使用不同的图像,必须在代码中更改此值

使用ArgumentParser中的default=...会更好,因为您可以不带参数运行,并且它将使用默认值,但您仍然可以在控制台中带参数运行,以使用不同的值,而无需更改代码

相关问题 更多 >