在jupyter笔记本电脑中使用opencv时出错:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jupyter笔记本电脑中使用opencv时出错:相关的知识,希望对你有一定的参考价值。
使用这段代码时遇到语法错误:
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:位置参数跟随关键字参数
答案
在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)
另一答案
错误是因为您在== kernel_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)
解决此问题
另一答案
您不能在关键字参数之后跟随位置参数。
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)
另一答案
用途:
img_open = cv2.morphologyEx(img, cv2.MORPH_OPEN,kernel_1)
或
img_open = cv2.morphologyEx(op=cv2.MORPH_OPEN,img, kernel_1)
在python中,在调用函数时,语法要求您先提及关键字参数(op=cv2.MORPH_OPEN
),然后再提及位置参数(任何未明确提及关键字或参数名称的地方)。对于位置参数,参数的顺序很重要。
以上是关于在jupyter笔记本电脑中使用opencv时出错:的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spacy 使用 PySpark 和 Jupyter 解析文本时出错