0
kinectで作業するには、xcode 4のNITE/OPENNIとopencvで作業しています。誘い込む(真)OpenCv:ビデオストリームの特定の座標にマーカーを設定する方法open cv
に続いてIplImage *rgbimg = cvCreateImageHeader(cvSize(640,480), 8, 3);
:誘い込む(真)の外に、メインで
:私はこれをすることによって行われ、たとえばヘッドの座標を取得することができますよ
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); }
私はまた、ビデオ・ストリームを持っている:
// 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);
これは、すべての(真の)しばらくメインで行われます。
私の質問は、ビデオストリームの手の座標の位置に何らかのマーカー(例:*、十字、X)を設定するにはどうすればよいですか?
EDIT
は、私が試した:
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);
と私は得る:
円が何らかの理由で左上隅にとどまるあなたが見ることができるように。任意のアイデアをどのようにこれを変更するには?
(質問でそれを追加したこと、ありませんでした試しました – Ojtwist
なんらかの理由で、あなたのポイントは座標(0,0)を持っています。表示部分はOKですが、問題は検出にあります。 – Sam
私は出力から見ることができるように、いくつかの負の座標(それは1番の行に奇妙です)を表示し、次の行にはゼロが含まれています。私はあなたがゼロ部分を表示すると仮定します – Sam