opencv人脸识别c++代码
时间: 2023-05-26 17:06:03 浏览: 123
基于C++ opencv实现人脸识别【100012285】
以下是一个简单的 OpenCV 人脸识别 C 代码示例:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
// 加载人脸分类器
CascadeClassifier face_cascade;
if (!face_cascade.load("haarcascade_frontalface_alt.xml")) {
cerr << "Error loading face cascade." << endl;
return -1;
}
// 打开摄像头
VideoCapture cap(0);
if (!cap.isOpened()) {
cerr << "Error opening camera." << endl;
return -1;
}
// 循环捕捉并处理每一帧视频
while (true) {
Mat frame;
cap >> frame;
// 将图像转换为灰度,以用于分类器
Mat gray;
cvtColor(frame, gray, COLOR_BGR2GRAY);
// 检测人脸
vector<Rect> faces;
face_cascade.detectMultiScale(gray, faces, 1.1, 2, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));
// 在检测到的每个人脸周围绘制矩形框
for (int i = 0; i < faces.size(); i++) {
rectangle(frame, faces[i], Scalar(0, 255, 0), 2);
}
// 显示图像
imshow("Face Detection", frame);
// 按下 'q' 键退出循环
if (waitKey(30) == 'q') {
break;
}
}
return 0;
}
```
阅读全文