2011-11-11 2 views
0

kinect를 사용하려면 xcode 4에서 NITE/OPENNI 및 opencv로 작업하고 있습니다. (TRUE)을 책략 외부 주에서OpenCv : 비디오 스트림의 특정 좌표에서 마커를 설정하는 방법 open cv

: 나는 의해 이루어집니다 예를 들어이를위한 머리의 좌표를 얻을 수있어 (TRUE)을 책략에 그런

IplImage *rgbimg = cvCreateImageHeader(cvSize(640,480), 8, 3); 

// Take current image 
    const XnRGB24Pixel* pImage = Xn_image.GetRGB24ImageMap(); 

    //process image data 
    XnRGB24Pixel* ucpImage = const_cast<XnRGB24Pixel*> (pImage); 
    cvSetData(rgbimg,ucpImage, 640*3); 
    cvCvtColor(rgbimg,rgbimg,CV_RGB2BGR); 
    cvShowImage("RGB",rgbimg); 

모든 동안 (사실)에 주로 수행됩니다
XnSkeletonJointPosition Head; 
g_UserGenerator.GetSkeletonCap().GetSkeletonJointPosition(aUsers[i], XN_SKEL_HEAD, Head); 
printf("%d: (%f,%f,%f) [%f]\n", aUsers[i], Head.position.X, Head.position.Y, Head.position.Z, Head.fConfidence); } 

는 또한 비디오 스트림이있다.

이제 제 질문은 비디오 스트림에서 손의 좌표 위치에 어떤 종류의 마커 (예 : *, 십자형, X)를 설정할 수 있습니까?

편집

내가 시도 :

XnRGB24Pixel* ucpImage = const_cast<XnRGB24Pixel*> (pImage); 
cvSetData(rgbimg,ucpImage, 640*3); 
cvCvtColor(rgbimg,rgbimg,CV_RGB2BGR); 
cvCircle(rgbimg, cvPoint(Head.position.X,Head.position.Y), 20, cvScalar(0,255,0), 1); 
cvShowImage("RGB",rgbimg); 

과 내가 얻을 :

enter image description here

원은 어떤 이유로 왼쪽 상단에 남아 볼 수있다. 어떤 아이디어를 어떻게 바꿀 수 있습니까?

답변

0

에서 OpenCV의 표시 기능을 시도해보십시오

라인() 원(), drawPoly을()와 비디오의 모든 프레임에 적용

+0

(질문에 추가 것을하지 않았다 시도 – Ojtwist

+0

어떤 이유로 인해 포인트의 좌표가 (0,0)입니다. 디스플레이 부분은 정상입니다. 문제는 감지입니다. – Sam

+0

출력에서 ​​볼 수 있듯이 음수 좌표가 표시됩니다 (번호가 1 인 행에 이상). 다음 행에는 0이 포함됩니다. 0 부분을 표시한다고 가정합니다. – Sam

관련 문제