OpenCV项目报错:module 'cv2' has no attribute 'DetectorParameters_create'求解决
解决AttributeError: module 'cv2' has no attribute 'DetectorParameters_create'
版本兼容问题:
DetectorParameters_create()是OpenCV 3.x的专属API,OpenCV 4.x及以上版本已将其替换为直接实例化类的写法。如果是人脸检测相关场景,写法如下:# OpenCV 4.x 及以上版本通用写法 parameters = cv2.DetectorParameters() # 若涉及人脸检测扩展模块,也可使用 parameters = cv2.face.DetectorParameters()确认OpenCV版本:先检查当前安装的OpenCV版本,执行代码:
import cv2 print(cv2.__version__)安装/适配对应包:如果需要使用3.x版本的API,可以指定版本安装;如果用4.x,确保安装了包含扩展模块的
opencv-contrib-python:# 卸载现有包(可选) pip uninstall opencv-python opencv-contrib-python # 安装OpenCV 3.x兼容版本 pip install opencv-python==3.4.15.55 opencv-contrib-python==3.4.15.55 # 或安装最新4.x版本 pip install opencv-python opencv-contrib-python多版本兼容代码:如果要让代码适配3.x和4.x版本,可添加版本判断:
import cv2 if cv2.__version__.startswith('3'): parameters = cv2.DetectorParameters_create() else: parameters = cv2.DetectorParameters()
内容的提问来源于stack exchange,提问作者ismail
相关产品推荐
相关产品推荐

