3

使用这段代码时遇到语法错误:

kernel_1 = np.ones((5, 5), np.uint8)

img_open = cv2.morphologyEx(img, op= cv2.MORPH_OPEN,kernel_1)

错误信息:

img_open = cv2.morphologyEx(img, op= cv2.MORPH_OPEN,kernel_1) ^ SyntaxError: 位置参数跟随关键字参数

4

3 回答 3

0

您不能在关键字参数之后跟随位置参数。

func(my_argu=True)  # keyword argument i.e. position doesn't matter. it always goes to my_argu
func(my_argh_1, my_arg_2)  # positional argument i.e. position/order matters

因此,要在不查看文档的情况下运行您的功能:

cv.morphology(img, kernel_1, op=cv2.MORPH_OPEN)
or 
cv2.morphologyEx(img, cv2.MORPH_OPEN,kernel_1)
于 2019-10-07T12:10:03.557 回答
-1

错误是因为您在 kernal_1 之前对参数使用了 = 语句

如果你这样做,python 会给出一个错误,解决方案是试试这个:

kernel_1 = np.ones((5, 5), np.uint8)

img_open = cv2.morphologyEx(img, kernel_1,op=cv2.MORPH_OPEN)

我不知道参数的位置是否正确,但是什么时候可以解决您的问题

否则你也可以这样做:

img_open = cv2.morphologyEx(img, op= cv2.MORPH_OPEN,{parameter_name}=kernel_1)

解决这个问题

于 2019-10-07T12:09:29.400 回答
-2

img_open = cv2.morphologyEx(img, op= cv2.MORPH_OPEN,kernel_1)

op= cv.MORPH_OPEN是关键字参数,img,kernel_1是位置参数。

python不允许位置参数之前的关键字参数

尝试cv2.morphologyEx(img, cv2.MORPH_OPEN,kernel_1)

于 2019-10-07T12:10:44.023 回答