IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Kinect for Windows V2 SDK - d�tection de body


Sujet :

C++

  1. #1
    Membre actif
    Femme Profil pro
    D�veloppeur 3D
    Inscrit en
    Ao�t 2014
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur 3D

    Informations forums :
    Inscription : Ao�t 2014
    Messages : 23
    Par d�faut Kinect for Windows V2 SDK - d�tection de body
    Bonjour,
    Tout d'abord veuillez m'excuser si je ne poste pas au bon endroit, j'ai pas trouv� de section pour la Kinect.
    Voil� mon but est de faire une appli avec la kinect (le but exact n'a pas d'int�r�t ici) et pour commencer j'ai t�l�charg� le SDK v2 qui manque cruellement de tutos pour C++.
    Heureusement il est livr� avec des samples en C++, je les ai test�s ils fonctionnent bien.
    Du coup je suis partie de l�, j'ai pris le bodyBasics-d2d et j'ai recopi� le code dont j'avais besoin en enlevant tout ce qui a rapport � d2d/api windows car je dois r�aliser mon programme avec openGL (j'ai pas le choix).
    et voil� le probl�me c'est que �a ne marche pas, je n'ai peut-�tre pas bien fait mon copier-coller, supprim� trop de choses, pas assez?
    L'endroit o� �a p�che c'est au niveau de get_isTracked : sur le sample, �a renvoie true quand �a capte un corps, chez moi, �a reste ind�finiment false (alors que je reproduis les m�mes conditions, kinect au m�me endroit, moi � 2m derri�re qui gesticule)
    Si quelqu'un a une piste de recherche je suis tout ou�e (prendre le code du sample et supprimer des choses petit � petit?)
    merci beaucoup !!

    (le code est pas compliqu�, un init au d�but, une fonction appel�e dans un update)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    void BodyTracking::InitKinect()
    {
    	GetDefaultKinectSensor(&m_pKinectSensor);
    	m_pKinectSensor->Open();
    	m_pKinectSensor->get_CoordinateMapper(&m_pCoordinateMapper);
    	IBodyFrameSource* pBodyFrameSource = NULL;
    	m_pKinectSensor->get_BodyFrameSource(&pBodyFrameSource);
    	pBodyFrameSource->OpenReader(&m_pBodyFrameReader);
    	pBodyFrameSource->Release();
    	pBodyFrameSource = NULL;
    }
     
    void BodyTracking::DetectBodies(int windowWidth, int windowHeight)
    {
     
    	IBodyFrame* pBodyFrame = NULL;
    	HRESULT hr = m_pBodyFrameReader->AcquireLatestFrame(&pBodyFrame);
    	if (SUCCEEDED(hr))
    	{
    		IBody* ppBodies[BODY_COUNT] = { 0 };
    		pBodyFrame->GetAndRefreshBodyData(_countof(ppBodies), ppBodies);
    		for (int i = 0; i < BODY_COUNT; ++i)
    		{
    			IBody* pBody = ppBodies[i];
    			if (pBody)
    			{
    				BOOLEAN bTracked = false;
    				pBody->get_IsTracked(&bTracked);
    				//******************problem here : bTracked always false***************//
    				if (bTracked)
    				{
    					Joint joints[JointType_Count];
    					Point2D jointPoints[JointType_Count];
    					HandState leftHandState = HandState_Unknown;
    					HandState rightHandState = HandState_Unknown;
     
    					pBody->get_HandLeftState(&leftHandState);
    					pBody->get_HandRightState(&rightHandState);
     
    					pBody->GetJoints(_countof(joints), joints);
     
    					for (int j = 0; j < _countof(joints); ++j)
    					{
    						// Calculate the body's position on the screen
    						DepthSpacePoint depthPoint = { 0 };
    						m_pCoordinateMapper->MapCameraPointToDepthSpace(joints[j].Position, &depthPoint);
     
    						float screenPointX = static_cast<float>(depthPoint.X * windowWidth) / 512;
    						float screenPointY = static_cast<float>(depthPoint.Y * windowHeight) / 424;
     
    						jointPoints[j] = Point2D(screenPointX, screenPointY);
    					}
     
     
     
    					//i just printf for the moment
    					for (int i = 0; i < JointType_Count; ++i)
    					{
    						printf("found coordinates :   %f,   %f\n", jointPoints[i].x, jointPoints[i].y);
    					}
    				}
    			}
    		}
    	}
    }

  2. #2
    Membre actif
    Femme Profil pro
    D�veloppeur 3D
    Inscrit en
    Ao�t 2014
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur 3D

    Informations forums :
    Inscription : Ao�t 2014
    Messages : 23
    Par d�faut
    j'ai trouv� la r�ponse sur un autre forum c'est tout simple j'avais oubli� de release les pointeurs voil�voil� bisous � tous
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    for (int i = 0; i < _countof(ppBodies); ++i)
    		{
    			if (ppBodies[i])
    			{
    				ppBodies[i]->Release();
    				ppBodies[i] = NULL;
    			}
    		}
    	}
     
    	if (pBodyFrame)
    	{
    		pBodyFrame->Release();
    		pBodyFrame = NULL;
    	}

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 09/10/2012, 17h14
  2. Le SDK Kinect pour Windows 1.5 annonc� pour mai
    Par Hinault Romaric dans le forum Windows
    R�ponses: 7
    Dernier message: 22/05/2012, 11h48
  3. R�ponses: 19
    Dernier message: 01/02/2012, 17h30
  4. Kinect for Windows SDK beta
    Par labmat dans le forum MATLAB
    R�ponses: 1
    Dernier message: 05/08/2011, 10h21
  5. Windows SDK for Windows 7 and .NET 4 pr�vue pour mi Juin
    Par Maxime C. dans le forum Actualit�s
    R�ponses: 0
    Dernier message: 03/05/2010, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo