OpenCV-python运行代码中报错TypeError: Required argument ‘winname’ (pos 1) not found的原因和解决办法
在PyCharm中运行OpenCV相关代码报错了,原因是:调用的函数中缺少部分参数,或者没有给出参数。
以读取一张图片程序举例:
# 代码描述: 演示 TypeError: Required argument 'winname' (pos 1) not found 报错
#
# 创建时间: 2020-8-31
# 创建人: Wupke
# 修改时间:
import cv2 as cv
src = cv.imread("../OpenCV_Files/pictures_for_OpenCV/1.jpg") # 读取图片
cv.namedWindow("input_image", cv.WINDOW_AUTOSIZE) # 创建一个窗口
cv.imshow("input_image", src) # 显示图片
cv.waitKey(0) # 等待用户操作,用于定格输出画面
cv.destroyWindow() # 清除内存
说明:
这里代码可以运行,但是在关闭运行窗口后,出现了报错提示,如图:
cv.destroyWindow ( ) 这个函数是用来销毁显示图像文件窗口,并释放为该窗口所分配的所有内存;这里报错,就是cv.destroyWindow ( ) 这个函数中缺少了具体指定销毁哪一个窗口的参数;
代码修改为:cv.destroyWindow ( ‘input_image’ )或者cv.destroyWindow ( ‘all’ ) ,运行后关闭运行窗口不会再有报错提示。
如果出现类似的报错提示,可以检查是不是有运行代码中的函数参数有遗漏,不全。