本文整理汇总了C++中FaceTracker::search方法的典型用法代码示例。如果您正苦于以下问题:C++ FaceTracker::search方法的具体用法?C++ FaceTracker::search怎么用?C++ FaceTracker::search使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FaceTracker
的用法示例。
在下文中一共展示了FaceTracker::search方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: process
// ------------------------------
void Moustachizer::process(Mat frame) {
//circle(frame, Point(300,300), 300, Scalar(255,0,0), 3);
Mat grayFrame = frame.clone();
cvtColor(frame, grayFrame, CV_RGB2GRAY);
equalizeHist(grayFrame, grayFrame);
imshow("grayFrame", grayFrame);
faceTracker.search( grayFrame );
for(int i=0; i<faceTracker.faces.size(); i++)
{
Face face = faceTracker.faces[i];
face.draw( frame );
float scale = (float)face.boundingBox.width / stache.size().width;
Mat stache_resized;
Mat mask_resized;
resize(stache, stache_resized, Size(), scale, scale);
resize(mask, mask_resized, Size(), scale, scale);
float xpos = face.boundingBox.x;
float ypos = face.boundingBox.y + (face.boundingBox.height * .60);
Rect pos = Rect(xpos, ypos, stache_resized.size().width, stache_resized.size().height);
/*
Rect frame = Rect(0, 0, input.size().width, input.size().height);
Rect intersection = pos & frame;
Mat fg = stache_resized(Rect(0,0,intersection.width,intersection.height));
Mat bg = input(Rect(xpos,ypos,intersection.width,intersection.height));
*/
Mat bg = frame(pos);
stache_resized.copyTo(bg, mask_resized);
}
//cvtColor(input, input, CV_GRAY2RGB);
imshow("preview", frame);
cvWaitKey(1);
}