CascadeClassifier检测的参数错误

时间:2015-02-18 19:52:04

标签: c++ opencv windows-runtime windows-phone-8.1

我使用Windows运行时组件处理Windows Phone 8.1 C#的CascadeClassifier MultiScale检测。 这是我在WinRT中的代码:

cv::Mat mat(width, height, CV_8UC4);
cv::CascadeClassifier face_cascade;
face_cascade.load("haarcascade_frontalface_alt.xml");
std::vector<Rect> faces;
 .
 .
 .
 .
equalizeHist(mat, mat);
face_cascade.detectMultiScale(mat, faces, 1.1, 2, 0, Size(30, 30));

我仍然得到错误: 错误C2664:'void cv :: CascadeClassifier :: detectMultiScale(cv :: InputArray,std :: vector&lt; _Ty&gt;&amp;,double,int,int,cv :: Size,cv :: Size)':无法转换参数2来自'std :: vector&lt; _Ty&gt;'到'std :: vector&lt; _Ty&gt; &安培;”

我遵循OpenCV网站上的教程,但我不知道为什么我的参数应该是错误的。

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

应该看起来像:

std::vector<cv::rect> faces; 
face_cascade.detectMultiScale(mat, faces, 1.1, 2, 0, cv::Size(30, 30));