【OpenCV】检测人脸、眼睛、鼻子、耳朵、嘴

Opencv中有训练好的Haar特征分类器(.xml文件),位于“/opencv-2.4.11/data/haarcascades/”文件夹中,调用起来非常简单。

举个例子,我们想检测图片中的眼睛,就可以使用“haarcascade_eye.xml”这个分类器来做检测,代码如下:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/calib3d/calib3d.hpp>
using namespace std;
using namespace cv;

int main(){
    Mat image,image_gray;
    image = imread("lena.jpeg");
    cvtColor(image,image_gray,CV_BGR2GRAY );//转为灰度图
    equalizeHist(image_gray,image_gray);//直方图均衡化,增加对比度方便处理
    CascadeClassifier eye_Classifier;//载入分类器
    if(!eye_Classifier.load("haar/haarcascade_eye.xml")){
        cout<<"Load haarcascade_mcs_eye.xml failed!"<<endl;
        return 0;
    }
    vector<Rect> eyeRect;
    eye_Classifier.detectMultiScale( image_gray, eyeRect, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );//检测
    for (size_t eyeIdx = 0;eyeIdx < eyeRect.size();eyeIdx++){//画出检测到的位置
        rectangle(image,eyeRect[eyeIdx],Scalar(0,0,255));
    }
    namedWindow("lena",0);
    imshow("lena",image);
    waitKey(0);
    return 0;
}

检测结果:
这里写图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值