我使用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网站上的教程,但我不知道为什么我的参数应该是错误的。
感谢您的回复。
答案 0 :(得分:1)
应该看起来像:
std::vector<cv::rect> faces;
face_cascade.detectMultiScale(mat, faces, 1.1, 2, 0, cv::Size(30, 30));