我一直在使用 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/