0

我正在寻找已经训练过的面部基准点的haarcascades(左眼的左眼角,左眼的右眼角,右眼的左眼角,右眼的右眼角,左嘴角,右嘴角,左,中心和鼻子右侧)。
有谁知道我在哪里可以下载已经训练过的 haarcascades 以与 OpenCV 的 VJ 功能一起使用?

4

2 回答 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 回答
0

在这个答案中,我找到了两个库链接,可以根据 opencv 查找面部特征点:

这是两个库:

于 2015-06-10T05:04:54.653 回答