imgsize.width=rect.width;
cvSetImageROI(src,rect);
cvCopy(src,res);
cvResetImageROI(res);
}
intread_img(conststring&dir,vector<Mat>&images)
{
CStatDirstatdir;
if(!statdir.SetInitDir(dir.c_str()))
{
cout<<"Direct"<<dir<<"notexist!"<<endl;
return0;
}
intcls_id=dir[dir.length()-1]-'0';
vector<char*>file_vec=statdir.BeginBrowseFilenames("*.*");
inti,s=file_vec.size();
for(i=0;i<s;i++)
{
Matgraymat=imread(file_vec[i],0);
//graymat.reshape(1,1);//flattentoonerow
images.push_back(graymat);
}
returns;
}
vector<pair<char*,Mat>>read_img(conststring&dir)
{
CStatDirstatdir;
pair<char*,Mat>pfi;
vector<pair<char*,Mat>>Vp;
if(!statdir.SetInitDir(dir.c_str()))
{
cout<<"Direct"<<dir<<"notexist!"<<endl;
returnVp;
}
intcls_id=dir[dir.length()-1]-'0';
vector<char*>file_vec=statdir.BeginBrowseFilenames("*.*");
inti,s=file_vec.size();
for(i=0;i<s;i++)
{
pfi.first=file_vec[i];
pfi.second=imread(file_vec[i]);
Vp.push_back(pfi);
}
returnVp;
}
vector<Rect>detectAndDraw(Mat&img,CascadeClassifier&cascade,
CascadeClassifier&nestedCascade,
doublescale,booltryflip,booldraw)
{
inti=0;
doublet=0;
vector<Rect>faces,faces2;
conststaticScalarcolors[]={CV_RGB(0,0,255),
CV_RGB(0,128,255),
CV_RGB(0,255,255),
CV_RGB(0,255,0),
CV_RGB(255,128,0),
CV_RGB(255,255,0),
CV_RGB(255,0,0),
CV_RGB(255,0,255)};
Matgray,smallImg(cvRound(img.rows/scale),cvRound(img.cols/scale),CV_8UC1);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-22609-10.html
难道是“碰瓷”