来自python的OpenCV中的随机树

时间:2013-04-09 15:47:18

标签: python opencv

根据文档(开放CV版本2.4)我可以使用python中的随机树集合(http://docs.opencv.org/modules/ml/doc/random_trees.html

导入cv2后我可以看到变量cv2.RTree,但它没有任何方法或属性(例如火车方法)。

包装在哪里以及我如何使用它(如果有的话)

1 个答案:

答案 0 :(得分:2)

你绝对可以在python中使用OpenCV中的随机树。 cv2.RTree是构造函数,所以你基本上只需要说:

forest = cv2.RTree(...)

哪里......是你的论点。当您只想使用默认参数运行时,可以省略这些。无论如何, forest 对象现在允许您进行训练和预测。如果您使用

查看帮助文档
help(cv2.RTree)

你会看到它说:

RTrees() -> <RTrees object>

帮助(RTrees())给出:

class RTrees(StatModel)
 |  Method resolution order:
 |      RTrees
 |      StatModel
 |      __builtin__.object
 |  
 |  Methods defined here:
 |  
 |  __repr__(...)
 |      x.__repr__() <==> repr(x)
 |  
 |  clear(...)
 |      clear() -> None
 |  
 |  getVarImportance(...)
 |      getVarImportance() -> retval
 |  
 |  predict(...)
 |      predict(sample[, missing]) -> retval
 |  
 ....

我知道它通常很难阅读cv2 python文档,但最终你掌握了它。基本上,这个文档告诉你,RTrees()将构造对象,一旦构造,你将获得一个你正在寻找的方法的对象。因此,回到具体示例,一旦您创建了森林,就可以调用:

forest.train(...)
forest.predict(...)

使用您的数据矩阵。如果您需要有关各个方法的帮助,现在可以询问:

help(forest.train)

虽然,cv2帮助文档在python中经常有点迟钝。如果您还没有使用它,我建议使用ipython(http://ipython.org),因为它使试用过程非常简单。

祝你好运。