OpenCV 3.4.1:找不到 KNearest 函数

OpenCV 3.4.1: KNearest function not found

我可以从 OpenCV 3.4.1 文档 (https://docs.opencv.org/3.4.1/dd/de1/classcv_1_1ml_1_1KNearest.html) 中看到 KNearest 函数存在。这正是我的版本,如下所示:

 >>> import cv2
 >>> cv2.__version__
 '3.4.1'

然而,当我 运行 我的 python 代码时,它似乎不存在

   knn = cv2.KNearest()
   AttributeError: 'module' object has no attribute 'KNearest'

我在这方面是菜鸟。我错过了什么?对于这样的 OpenCV 版本,这是正确的功能吗?

您使用的是 2.x 版本

knn = cv2.KNearest() # OpenCv 2.x

试试这个:

knn = cv2.ml.KNearest_create() # OpenCv 3.x

阅读文档中的thispython示例