c++ - 检测后如何切割人脸

标签 c++ c opencv

我一直在使用 OpenCV 进行一个大学项目。我制作了一个简单的程序来检测人脸,方法是在检测人脸的函数中传递网络摄像头捕获的帧。

检测到时,它会在脸上绘制黑框。然而我的项目并没有在这里结束,我希望能够尽快剪掉那些被检测到的人脸并将其保存在图像中,然后应用不同的图像处理技术 [根据我的需要]。如果这太有问题,我可以使用简单的图像而不是使用网络摄像头捕获的帧。

我只是对如何剪掉那些被检测到的面孔一无所知。

最佳答案

对于 C++ 版本,您可以查看 this tutorial来自 OpenCV 文档。

在函数 detectAndDisplay 中你可以看到这条线

Mat faceROI = frame_gray( faces[i] );

其中faceROI是裁剪出来的人脸,可以用imwrite函数保存到文件中:

imwrite("face.jpg", faceROI);

关于c++ - 检测后如何切割人脸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7519886/

相关文章:

c++ - 在 `return 0` 末尾设置 `main` 可选的理由是什么?

python - 如何在视频处理中保留多个先前帧的记录

python - 我如何告诉 python3 寻找正确的模块?

c++ - 这个语句返回什么?

c++ - 用于 C++/SSE 代码的高效 NEON 内在函数

c++ - 在 C++ 代码中处理 Angle Wrap

c - 尝试为 lex 程序创建 makefile

c - 函数未生成正确的 openssl rsa key

C - 释放指针数组时会发生什么?

c++ - 过时 - OpenCV 的错误模式