2011-09-22 53 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