Bonsoir à tous,
J'espère poster dans la bonne partie de cet immense et merveilleux forum.
J'ai comme projet la détection de visage a l'aide du capteur Kinect (imageRGB et imageDepth).
Je commence tout juste et après avoir installer OpenNI et les drivers de Kinect (pas de possibilité d'utiliser le SDK de microsoft, pc sous vista et Visual studio 2008) ainsi que l'installation et compilation d'OpenCV2.4 pour mon projet Visual Studio.
Je cherche à faire la chose toute bête : récupérer l'image "depth" du capteur Kinect et l'afficher.
Voici le code que j'utilise :
Tout se passe pour le mieux mais pour seulement une seule frame. Des qu'il sagit de passer à la deuxième frame pour un affichage dynamique avec la boucle for : Point d'arrêt avec le message d'erreur
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 #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> using namespace cv; using namespace std; int main( int argc, char* argv[] ) { VideoCapture capture( CV_CAP_OPENNI ); for(;;){ Mat depthMap; Mat show; const float scaleFactor = 0.05f; capture >> depthMap; depthMap.convertTo( show, CV_8UC1, scaleFactor ); imshow( "depth map", show ); waitKey( 30 ) >= 0; } return 0; }et ouverture du fichier "Window.cpp" à la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part Exception de première chance à 0x7782fc56 dans Test_OpenCV.exe*: Exception Microsoft C++*: std::bad_alloc à l'emplacement mémoire 0x0015f4a8..dans la fonction "imshow"
Code : Sélectionner tout - Visualiser dans une fenêtre à part addGlObj(glObj);
Le code est pourtant basic et sur ce que j'ai vu, assez classique avec OpenCV+OpenNI. Seulement voilà, je coince la dessus.
Si quelqu'un à une idée ou a déjà été confronté a ce problème, c'est avec plaisir que j'écouterais ses lumières!
D'avance, merci
Bonne fin de soirée.
Partager