简体   繁体   English

OpenCV DetectMultiScale在C ++中不起作用

[英]OpenCV DetectMultiScale does not work in C++

I have the following code to load an image and compare to list of images trying to recognize matched faces. 我有以下代码来加载图像并与试图识别匹配面孔的图像列表进行比较。 The call to DetectMultiScale returns a vector of size 0. 对DetectMultiScale的调用返回大小为0的向量。

void UniCoffeeShop::Purchase (string customerImg){
vector <string> info;
Mat OriginalImg;
vector <Rect> faces;
Mat ImgGray;
Mat Img=imread("customers/"+customerImg+".tiff", CV_LOAD_IMAGE_COLOR);


cvtColor(Img,ImgGray,CV_BGR2GRAY);
string face_cascade_name="haarcascade_frontalface_alt.xml";
CascadeClassifier face_cascade;
face_cascade.load(face_cascade_name);

face_cascade.detectMultiScale(ImgGray,faces,1.1,2,0|CV_HAAR_SCALE_IMAGE);

The file "haarcascade_frontalface_alt.xml" was missing. 缺少文件“ haarcascade_frontalface_alt.xml”。 I copied it from OpenCV data folder and it works now. 我从OpenCV数据文件夹复制了它,现在可以使用了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM