2011-09-22 2 views
3

저는 OpenCV를 사용하여 대학 프로젝트를 진행하고 있습니다. 나는 얼굴을 탐지하는 함수에서 웹캠으로 캡처 한 프레임을 전달하여 얼굴을 탐지하는 간단한 프로그램을 만들었습니다.검출 후 얼굴을 자르는 방법

감지시 감지시 얼굴에 검은 색 상자가 그려집니다. 그러나 내 프로젝트가 여기 끝나지 않아 가능한 한 빨리 감지되는 얼굴을 잘라내어 이미지에 저장 한 다음 다른 이미지 처리 기술을 적용 할 수 있기를 바랍니다. 이 문제가 너무 복잡하면 웹캠으로 캡처 한 프레임을 사용하는 대신 간단한 이미지를 사용할 수 있습니다.

저는 얼굴이 잘리는 부분을 잘라내는 방법에 관해서는 단서가 없습니다.

+0

당신이 감지 말 - 무엇인가 그들은? 즉, 이미지를 분할하고 픽셀 세트를 갖거나 true/false 값만 생성하는 분석적 수단이 있습니까? – drb

답변

1

C++ 버전의 경우 OpenCV 설명서에서 this tutorial을 확인할 수 있습니다. 당신이 라인

Mat faceROI = frame_gray(faces[i]); 
을 볼 수 있습니다 detectAndDisplay 기능에

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, URL을 붙여 넣기 만하면됩니다. – roymustang86