gpt4 book ai didi

c++ - 我有一个使用 openCV 检测人脸的视频流,我怎么能捕捉到离相机最近的人脸并将其保存到图像文件中呢?

转载 作者:行者123 更新时间:2023-11-28 02:37:17 25 4
gpt4 key购买 nike

所以我希望将最突出的人脸捕获为图像文件。

检测代码如下:

void detectAndDisplay(Mat frame) 
{
std::vector<Rect> faces;
Mat gray;

cvtColor(frame, gray, CV_BGR2GRAY);
equalizeHist(gray,gray);
//find faces
face_cascade.detectMultiScale(gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30));

for (size_t i = 0; i < faces.size(); i++)
{
Point center(faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5);
//draw around the face
ellipse(frame, center, Size(faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar(255, 255, 255), 4, 8, 0);

Mat faceROI = gray(faces[i]);

}
imshow(window_name, frame);

最佳答案

如果检测到的人脸的大小足以描述它的突出程度(实际上不是),那么,由于 faces 的每个元素都是一个 Rect,您可以使用 Rect::area()作为衡量标准。

关于c++ - 我有一个使用 openCV 检测人脸的视频流,我怎么能捕捉到离相机最近的人脸并将其保存到图像文件中呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27048717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com