解析两个参数错误:模块'cv2.cv2'没有属性'读取'

时间:2019-07-10 10:07:36

标签: python opencv

我正在尝试使用python中的参数解析器库从命令行传递两个参数。 一个论据是我提供的输入图像 第二个参数是保存我的图像的名称。

这是Python代码:

import argparse
import cv2

ap = argparse.ArgumentParser()
ap.add_argument("-r", "--image", required = True, help = "Path to the image")
ap.add_argument("-l", "--location", required = True, help = "Filename")
args = vars(ap.parse_args())
image = cv2.imread(args["image"])
location = cv2.read(args["location"])
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
_,thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)             
im_thresh_gray = cv2.bitwise_and(gray, thresh)
mask3 = cv2.cvtColor(thresh, cv2.COLOR_GRAY2BGR)
im_thresh_color = cv2.bitwise_and(image, mask3)
cv2.imwrite(location, im_thresh_color)
print("[Info]:Processing Completed.")

我提供的命令是:

python image_thcolor.py --image image_test.jpg -l output.jpg

这是我得到的错误:

  

AttributeError:模块'cv2.cv2'没有属性'read'

由于我是python新手,请告诉我如何解析两个参数。

2 个答案:

答案 0 :(得分:0)

ap.add_argument("-l", "--location", required = True, help = "Filename")

表示必须使用--location参数。返回错误。

答案 1 :(得分:0)

您正在指定所需的location参数:

ap.add_argument("-l", "--location", required = True, help = "Filename")

您可以将该参数传递给脚本,也可以使用required=False