2011-09-22 46 views
3

我一直在使用OpenCV开展大学项目。我制作了一个简单的程序,通过将网络摄像头捕获的帧传送到检测脸部的功能来检测脸部。如何检测后切脸

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

我只是无知如何去修剪那些被检测到的面孔。

+0

说什么时候检测到您 - 是什么他们检测到?换句话说,你是否分割了图像,并有一组像素,还是有一些分析手段只能产生真/假值? – drb

回答

1

对于C++版本,您可以从OpenCV文档中检查this tutorial

在功能detectAndDisplay你可以看到线

Mat faceROI = frame_gray(faces[i]); 

其中faceROI被剪裁的脸,你可以保存它imwrite功能到文件:

imwrite("face.jpg", faceROI); 
0

你可以抓住框架并用每个角落的X,Y坐标剪裁照片吗?

+0

摄像头会捕捉移动的物体吗?那么我如何得到这些坐标呢? –

1

http://nashruddin.com/OpenCV_Region_of_Interest_(ROI)

检查此链接,您可以使用黑盒子的尺寸裁剪图像,调整其大小和保存为一个新文件。

+0

404 - 未找到页面 –

+1

@VJo您需要手动将结束页面添加到URL的末尾。似乎是SO的自动格式化中的一个错误。 – SSteve

+0

你是对的SSteve,我没有注意到。 @Vjo,只需复制粘贴网址即可。 – roymustang86