2013-02-04 3 views
0

감지 된 얼굴 사각형을 3D 좌표로 변환하고 싶습니다. 내 웹캠과 머리 치수의 고유 매개 변수가 있습니다. 어떻게 투영 방정식을 사용하여 깊이 Z를 결정할 수 있습니까?opencv face detection 2d to 3d

X = FX X/Z + u는

Y = FY은 Y/Z + V는

난 외환 기 및 자외선 내장 파라미터임을 이해하고, 그 XY는 머리 치수 XY 주어진다 검출 된 얼굴의 직사각형에 의해 주어진다. Z를 결정할 수있는 방정식은 하나 뿐인 것 같습니다. 둘 다 어떻게 사용합니까? 또는 나는 틀린가?

답변

0

두 가지 모두 깊이를 계산하는 데 엄격하게 필요하지 않은 것은 맞습니다. 그러나 둘 다를 사용하여 정확도를 향상시킬 수 있습니다.

카메라에서 측정 한 평면 개체 (예 : 얼굴)에서 카메라가 수직으로 보지 않으면 측정 값 중 하나 또는 둘 모두가 깊이를 계산하는 데 유용하지 않을 수 있습니다. 예를 들어, 카메라가 직사각형을 바라보고 있으면 높이가 시야각으로 압축되기 때문에 너비 만 깊이에 대한 좋은 척도가됩니다. 나는 얼굴의 비율이 어쨌든 고정되어 있기 때문에 당신의 얼굴 감지기에 대해서는 중요하지 않다고 생각하니?

+0

예, 얼굴이 카메라를 향하지 않는 경우 감지 할 수 없으므로 고정됩니다. 내 추가 질문은이 깊이 Z를 사용하여 OpenGL에서 얼굴 사각형을 찾는 방법입니다. 3D 좌표? solvePnP를 ​​사용하여 변환 행렬을 얻은 다음 MODELVIEW에서 사용했습니다. 그러나 그것은 내가 원하는 곳이 아니 었습니다. 축이 움직이면서 머리를 움직였습니다. 다른 방법이 있습니까? –