我使用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:'无效cv::CascadeClassifier::detectMultiScale(cv::InputArray,std::vector &,, double,int,int,cv::Size,cv::Size)':无法从'std::vector '到'std::vector &'

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

感谢您的回复。

最佳答案

它应该看起来像:

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

关于c++ - CascadeClassifier检测参数错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28592640/

10-13 05:46