//{
//center.x=cvRound((r->x+nr->x+nr->width*0.5)*scale);
//center.y=cvRound((r->y+nr->y+nr->height*0.5)*scale);
//radius=cvRound((nr->width+nr->height)*0.25*scale);
//circle(img,center,radius,color,3,8,0);
//}
}
cv::imshow("result",img);
}
returnfaces;
}
IplImage*DetectandExtract(Mat&img,CascadeClassifier&cascade,
CascadeClassifier&nestedCascade,
doublescale,booltryflip)
{
vector<Rect>Rvec=detectAndDraw(img,cascade,nestedCascade,scale,tryflip,0);
inti,maxxsize=0,id=-1,area;
for(i=0;i<Rvec.size();i++)
{
area=Rvec[i].width*Rvec[i].height;
if(maxxsize<area)
{
maxxsize=area;
id=i;
}
}
IplImage*transimg=cvCloneImage(&(IplImage)img);
if(id!=-1)
{
CvSizeimgsize;
imgsize.height=Rvec[id].height;
imgsize.width=Rvec[id].width;
IplImage*res=cvCreateImage(imgsize,transimg->depth,transimg->nChannels);
CutImg(transimg,Rvec[id],res);
returnres;
}
returnNULL;
}
3. 主函数
//Detect.cpp
//Preprocessing-Detect,CutandSave
//@Author:Rachel-Zhang
#include"opencv2/objdetect/objdetect.hpp"
#include"opencv2/highgui/highgui.hpp"
#include"opencv2/imgproc/imgproc.hpp"
#include<cctype>
#include<iostream>
#include<iterator>
#include<stdio.h>
#include"BrowseDir.h"
#include"StatDir.h"
#include"Prehelper.h"
usingnamespacestd;
usingnamespacecv;
#defineCAM2
#definePHO1
#defineK5
stringcascadeName="E:/software/opencv2.4.6.0/data/haarcascades/haarcascade_frontalface_alt.xml";
stringnestedCascadeName="E:/software/opencv2.4.6.0/data/haarcascades/haarcascade_eye_tree_eyeglasses.xml";
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22609-12.html
写出来也不认真
你TMD这是做广告的吧