源代码
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
CascadeClassifier cascade("/home/ffiirree/Code/opencv-3.3.1/data/haarcascades/haarcascade_frontalface_alt2.xml");
auto image = imread("/home/ffiirree/Desktop/face_03.webp");
Mat gray;
cvtColor(image, gray, CV_BGR2GRAY);
vector<Rect> faces;
cascade.detectMultiScale(gray, faces, 1.2, 6);
if(!faces.empty()) {
for(const auto& face : faces) {
rectangle(image,
Point{face.x, face.y},
Point{face.x + face.width, face.y + face.height},
Scalar{ 0, 255, 0 }, 2, 8
);
}
}
imshow("original", image);
waitKey(0);
return 0;
}
结果
