2013-01-21 6 views
0

EDIT lien Human walk motion Detect explique comment détecter le mouvement humain avec Opencv 2.3 sur Visual Studio 2010 avec C++. J'ai téléchargé le code source motemp9.c ainsi que les fichiers texte walkImgs.txt et output.txt et l'en-tête filter.h mais ne comprennent pas les éléments suivants.code de détection de mouvement {EDIT}

J'ai du mal à exécuter ce programme. Quelqu'un peut-il m'aider à clarifier ces points?

  1. Dans le fichier motiontemp9.c, sous principal les fichiers dans les lignes ne sont pas présents. Ou sont ces fichiers walkImgs et la sortie?

    if((ReadFP=fopen("walk2.txt", "r")) == NULL) ErrorExit(ER_READ_OPEN); 
    if((WriteFP=fopen("output2.txt", "w")) == NULL) ErrorExit(ER_WRITE_OPEN); 
    
  2. Les erreurs suivantes se produisent sur l'exécution du code

    error C2660: 'cvGetSeqElem' : function does not take 3 arguments 
    motemp9.cpp(186): error C2227: left of '->rect' must point to class/struct/union/generic type 
    motemp9.cpp(189): error C2440: '=' : cannot convert from 'CvScalar' to 'int' 
    1>   No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 
    motemp9.cpp(218): error C2664: 'cvCircle' : cannot convert parameter 4 from 'int' to 'CvScalar' 
    1>   No constructor could take the source type, or constructor overload resolution was ambiguous 
    motemp9.cpp(220): error C2664: 'cvLine' : cannot convert parameter 4 from 'int' to 'CvScalar' 
    1>   No constructor could take the source type, or constructor overload resolution was ambiguous 
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 
    

Veuillez guider dans ce qui doit être fait pour exécuter ce code.

Répondre

1

Pouvez-vous reformuler votre première question parce que je ne comprends pas vraiment. Ces deux lignes vérifient simplement si le fichier existe lorsque vous exécutez le programme. Si l'un d'entre eux n'existe pas, il retourne errorexit

Pour votre deuxième question, dans cet exemple,

Create the motion history image. This includes converting the image to grayscale, finding the difference between two frames at a time in sequence order, which creates a silhouette image of the layered history of the motion. Implementation

Vous avez donc besoin de mettre en walk2.txt le chemin des images que vous avez extrait votre propre vidéo. J'espère que ça aide

+0

Hey, merci pour la réponse. Le premier QUestion signifiait que les fichiers fournis dans la page Web sont walkImgs.txt et output.txt, alors que les instructions if vérifient if ((ReadFP = fopen ("walk2.txt", "r")) == NULL) ErrorExit (ER_READ_OPEN); if ((WriteFP = fopen ("output2.txt", "w")) == NULL) Erreur issue (ER_WRITE_OPEN); Donc, je pense que cela devrait être if ((ReadFP = fopen ("walkImgs.txt", "r")) == NULL) ErrorExit (ER_READ_OPEN); if ((WriteFP = fopen ("output.txt", "w")) == NULL) ErrorExit (ER_WRITE_OPEN); (B) Je dois capturer et encadrer ma propre vidéo.Comment mettre le chemin des images extraites dans walkImgs.txt, au lieu de wakl2.txt. – Chaitali

+0

Oui, vous avez juste besoin de changer avec votre valeur c'est tout. – ThiS

+0

Cela signifie que les noms de fichiers mentionnés dans les instructions if dans le code sont incorrects? Comment écrire les numéros d'images dans le fichier? Aussi, il y a cette erreur maintenant en utilisant CV_RGB >> "#define CV_RGB (r, g, b) cvScalar ((b), (g), (r), 0) Erreur: aucune conversion appropriée de cvScalar en int n'existe ". Que faire? S'il vous plaît expliquer un peu plus. – Chaitali

Questions connexes