我正在尝试基于OpenCV(版本2.4)的RandomTrees创建一个图像分类器。现在,我初始化这样的一切:
self.model = cv.RTrees()
max_num_trees=10
max_error=1
max_d=5
criteria=cv.TERM_CRITERIA_MAX_ITER+cv.TERM_CRITERIA_EPS
parameters = dict(max_depth=max_d, min_sample_count=5, use_surrogates=False, nactive_vars=0,
term_crit=(criteria, max_num_trees, max_error))
self.model.train(dataset, cv.CV_ROW_SAMPLE, responses, params=parameters)
我是通过查看this问题来做到的。唯一的问题是,无论我在参数中改变什么,分类总是保持不变(和错误)。由于关于此的python文档非常缺乏,我别无选择,只能在这里询问该做什么以及如何检查我在做什么。如何获取它生成的树的数量以及为C ++而不是为Python解释的所有其他事情 - 如火车错误?例如,我试过:
self.model.tree_count
self.model.get_tree_count()
但每次都会出错。另外,我是否正确地进行了终止条件初始化?