Opencv C++ 教程-人脸识别 - 实践
【1】代码
int FaceDetect(string path) {
cv::Mat image = cv::imread(path);
if (image.empty()) {
std::cout faces;
cv::Mat gray;
cv::cvtColor(image, gray, cv::COLOR_BGR2GRAY);
cv::equalizeHist(gray, gray);
face_cascade.detectMultiScale(gray, faces, 1.1, 2, 0 | cv::CASCADE_SCALE_IMAGE, cv::Size(30, 30));
for (size_t i = 0; i < faces.size(); i++) {
cv::rectangle(image, faces[i], cv::Scalar(255, 0, 0), 2);
}
cv::imshow("Face Detection", image);
cv::waitKey(0);
}
【2】haarcascade_frontalface_alt.xml

Haar分类器实际上是Boosting算法的一个应用,Haar分类器用到了Boosting算法中的AdaBoost算法,只是把AdaBoost算法训练出的强分类器进行了级联,并且在底层的特征提取中采用了高效率的矩形特征和积分图方法

浙公网安备 33010602011771号