2016-03-04 74 views
3

我刚刚将我的OpenCV版本从2.4升级到3.1。我使用python。在升级之前,下面的代码将返回预测图像的标签和信心标签:OpenCV 3 Python

label, confidence = model.predict(test_sample_image) 

然而,升级后,上面的代码提供了一个错误:

Traceback (most recent call last): 
    File "recognize.py", line 45, in <module> 
    label, confidence = model.predict(test_sample_image) 
TypeError: 'int' object is not iterable 

这意味着整数返回而不是之前的元组。那么我如何获得信心?

回答

3

我以为我找到了解决您的问题的方法。 Click here

  • 打开文件:opencv_contrib /模块/面/包括/ opencv2/face.hpp

  • 如果你去对文件中的行259,你应该觉得比什么在不同repositiory

  • 头以上的OpenCV /建造
  • ,并通过重建(请-j8,使安装)

它应该在那之后工作。干杯!

0

Mikebarson是正确的,我去到该行并发现它在当前版本的不同,根据与git它是在4月20日改变,2016年

但是,如果你想那并不是一个解决方案吨涉及重建,你可以尝试什么雅科面包车Oost建议here。它对我有用:

result = cv2.face.MinDistancePredictCollector() 
recognizer.predict() 
label = result.getLabel() 
confidence = result.getDist()