【问题标题】:Wrong arguments for CascadeClassifier detectionCascadeClassifier 检测的错误参数
【发布时间】:2015-04-19 23:41:12
【问题描述】:

我使用 Windows 运行时组件为 WindowsPhone 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<_ty> &,double,int,int,cv::Size,cv::Size)':无法将参数 2 从'std::vector<_ty>' 到 'std::vector<_ty> &'

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

感谢回复。

【问题讨论】:

  • 请澄清:c++,不是c#?
  • 这段代码在 C++ 中的 WinRT 中,然后我调用 Windows Phone C# 项目的方法
  • 或许可以试试std::vector&lt;cv::Rect&gt; faces;
  • std::vector<:rect> faces 对我没有帮助,仍然是同样的错误

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


【解决方案1】:

它应该看起来像:

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

【讨论】:

    猜你喜欢
    • 2013-05-03
    • 2013-10-31
    • 2021-12-28
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多