我正在寻找已经训练过的面部基准点的haarcascades(左眼的左眼角,左眼的右眼角,右眼的左眼角,右眼的右眼角,左嘴角,右嘴角,左,中心和鼻子右侧)。
有谁知道我在哪里可以下载已经训练过的 haarcascades 以与 OpenCV 的 VJ 功能一起使用?
问问题
2372 次
2 回答
2
如果我没记错的话,HaarCascade 可以处理没有特定点的对象。opencv 数据文件夹中已经有鼻子、眼睛和嘴巴的分类器。您可以用它们检测眼睛、鼻子和嘴巴,而不是通过使用专门精心设计的检测算法(利用您的想象力和头脑)找到它们的角落。
这是一个例子;
CascadeClassifier cascade;
cascade.load("haarcascade_eye.xml");
Mat im = imread("photo.jpg",0); //0 flag for grayscale
vector<Rect> eyes;
cascade.detectMultiScale(im, eyes, 1.2, 3);
for (int i = 0; i < eyes.size(); i++)
{
Rect r = eyes[i];
rectangle(im, Point(r.x, r.y), Point(r.x + r.width, r.y+r.height),CV_RGB(0,255,0));
}
imshow("im",im);
此示例在加载的图像中找到眼睛。寻找口鼻也是类似的。它发现它们为矩形,我们将这些矩形绘制成图像。我不知道这些矩形对你来说是否足够,但如果你想要更具体的点,比如鼻子的中心;您将需要进行更多处理。
于 2012-09-04T11:24:19.970 回答