1

OpenCV 3.2.0似乎没有RTrees 库

但是互联网上到处都是cv2.RTrees的例子。我想可能是版本不匹配的问题 - 也许版本是错误的?应该是3.2.0-dev吗?

但是在Fedora 24上,我似乎无法在互联网上找到这个包。我只看到只有 ubuntu 用户可以安装 3.2.0-dev。我错过了什么吗?

>>> import cv2
>>> cv2.__version__
'3.2.0'
>>> cv2.RTrees
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'RTrees'
>>> cv2.ml.RTrees
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'RTrees'
4

1 回答 1

1

RTrees在此日期之前,您可以在 Internet 上找到的大多数示例都来自版本2.4.x。这是因为截至 1 月中旬,OpenCV 模型的 Python 仍然没有包装器RTrees,正如我们在 OpenCV 答案页面上的这个问题中看到的那样。引用它(用户berak于 17 年 1 月 12 日:

不幸的是,这是不可能的。从 opencv3.2 开始,只有 SVM 和 ANN_MLP 具有正确包装的加载方法。

(是的,这是一个错误)

再搜索一下,发现这个问题最近得到了修复(正如在这个问题中指出的那样);您可以在 OpenCV git的此拉取请求中看到此功能已添加。

因此,更新到最新的 master 分支并重建应该可以解决问题。

注意:请记住克隆主存储库(opencv),它是实际包含RTrees模型的存储库,如果您正在使用它,还请克隆 contrib 存储库(opencv_contrib)。请检查每个版本的相同版本以避免兼容性问题。

奖励:查看这个很棒的 OpenCV 安装指南,它还提供了一些额外的建议,比如使用venv安装(它也有其他操作系统的指南)。

于 2017-06-22T23:05:19.540 回答