OpenCV et camera IP

nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 - 2 déc. 2011 à 11:16
wafafolla Messages postés 10 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 21 mai 2012 - 21 mars 2012 à 11:39
Salut
Voila j’ai un projet de fin d’étude sur les camera IP avec OpenCV ,d’abord je doit faire l’acquisition d’une vidéo a partir de ma camera IP (Foscam FI8918w) puis faire de traitement d’image pour la détection et le suivi d’un objet ( des humains en mouvement).
Personnellement je suis bloqué sur la première étape de l’acquisition et je peut rien faire sans dépasser cette étape alors PLZ aidé moi.
Ma question est comment faire l’acquisition du vidéo a partir de Foscam FI8918w en utilisant OpenCV comme outil ?
A voir également:

12 réponses

nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
2 déc. 2011 à 11:20
Salut
Voila jai un projet de fin d étude sur les camera IP avec OpenCV ,d abord je doit faire l acquisition d une vidéo a partir de ma camera IP (Foscam FI8918w) puis faire de traitement d image pour la détection et le suivi d un objet ( des humains en mouvement).
Personnellement je suis bloqué sur la première étape de l acquisition et je peut rien faire sans dépasser cette étape alors PLZ aidé moi.
Ma question est comment faire l acquisition du vidéo a partir de Foscam FI8918w en utilisant OpenCV comme outil ?
1
nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
2 déc. 2011 à 11:19
"’" ,c est pas moi qu il a ecrit ,lisez ce message en sautant ces caractères .
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
2 déc. 2011 à 11:36
Hello,
Déjà, tu dois connaître l'adresse te permettant de récupérer le flux media de la cam (images ou videos). Ensuite, je pense que cette url peut être passé en arguments à la fonction cvCaptureFromFile.


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
2 déc. 2011 à 11:43
re
Si par connaitre l'adresse ,tu veu dire l adresse IP du camera ,beh ui je l ai .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
2 déc. 2011 à 11:52
bon bref , je vais tester ta cde et je te contacterai après , thx.
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
2 déc. 2011 à 12:04
Ok pour l'ip de la caméra, mais je pensais plutôt à l'adresse du flux media. Un truc du style http://IP_CAM/video.mpg


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
4 déc. 2011 à 14:44
arf , jai testé la cde avec l'addresse IP mais ca marche pas et l'addresse de flud media je ne le connai pa .
pfff,je desespere la
0
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
5 déc. 2011 à 09:08
[...]et l'addresse de flud media je ne le connai pa .

Il va être difficile d'avancer si tu n'as pas cette adresse... Renseigne toi à ce propos.

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
5 déc. 2011 à 09:16
Bonjour,

As-tu déjà fait une recheche avec notre ami google , car voici ce qu'on trouve avec "opencv ipcamera" :
http://stackoverflow.com/questions/712998/opencv-with-network-cameras

louis
0
nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
6 déc. 2011 à 15:42
Oui,j'ai deja vu cette page web et j ai testé le programme mais ca na pa marcher .
mnt ,je suis sur une autre piste ,jai vu que pr acceder a une IP cam ,fauderai utiliser une autre librery (netsocket).
ce qui ma permet de me lancer sur cette piste c'est ce message que je lai lu et copier d'un autre forum :
-------------------------------------------------------------------------
Bonjour,
hé bien heureusement qu'il y a les alertes mail, parce qu'il ne date pas d'hier ce sujet.

La piste de la bibliothèque "livemedia" que j'évoquais plus haut fonctionnait bien en mode RTSP de la caméra, mais pour les caméras Axis il s'est avéré bien plus simple et efficace d'utiliser le protocole HTTP directement. Je ne peux malheureusement pas te donner le code pour des raisons de confidentialité, mais voici une petite explication rédigée par la personne qui a fait notre composant de connexion à ces caméras :



Citation :



? Connexion Http / Lecture du flux

On se connecte par socket sur l'ip de la camera avec le port 80 (port http).
Pour recevoir le flux mjpeg, il suffit de faire la requête suivante

GET /mjpg/video.mjpg HTTP/1.0
Host: [192.168.0.211]
[Authorization: Basic xxxxyyyxxxyyy]

Il faut adapter les informations entre crochets à la camera courante. La partie concernant l'autentification est optionelle (si la camera est protégée par un login/mot de passe). La partie non lisible suivante « Basic » est un encodage en Base64 du login et du mot de passe séparés par « : »

? Contenu du flux

Le flux Mjpeg à travers Http est une suite d'image Jpeg séparées par des entêtes.
Techniquement, la fin d'une entête peut être repérée par le caractère 0xFF, l'image commençant tout de suite après.
Chaque entête contient la taille de l'image, de façon non standardisée. Dans les cameras testées, elle était présente suivant les façons suivantes :
Content-Length: 32768
DataLen: 32768

Pour chaque image on cherchera donc la taille X de l'image dans l'entête, puis on iras à la fin de l'entête, puis on lira les X octets de l'image.
On obtient donc l'image Jpeg stockée dans un buffer. Il suffit ensuite de la décompresser pour obtenir une image RGB brute.
0
nolife11 Messages postés 9 Date d'inscription vendredi 9 décembre 2011 Statut Membre Dernière intervention 13 décembre 2011 1
13 déc. 2011 à 10:55
slut all,
-c bon ,jai su le flux de media de ma camera:
http:///videostream.cgi pour la video
http:///snapshot.cgi pour l'image
-le souci ke jai mnt c'est que je sait pa comment recuperer l'image/video de ces addresse par le visual c++ .
-jai essay les instructions suivante de l'OpenCV mai ca a pas marcher.
cvCaptureFromFile("http:///videostream.cgi"); pour la video
cvLoadImage("http:///snapshot.cgi"); pour l'image
0
wafafolla Messages postés 10 Date d'inscription mercredi 14 juillet 2010 Statut Membre Dernière intervention 21 mai 2012
21 mars 2012 à 11:39
salut ,
je suis entrain de réaliser un projet de fin d'étude similaire à la vôtre, mais sous unix, j'utilise Opencv et QT .
pour le moment j'ai réussi à visualiser le flux vidéo de la caméra ip locale, mais avec une adresse ip distante le même code ne marche pas ,j'ai essayé avec plusieurs adresse publique mais en vain.
Je vous en prie de m'aider un peu si vous êtes réussi à récupérer le flux vidéo d'une caméra ip distante ( pas dans le meme réseau)

voici le code:
include <stdio.h>
#include "opencv/highgui.h"

int main()
{
// ********************** @IP locale : fonctionne bien
    CvCapture *camera=cvCaptureFromFile("http://root:root@192.168.1.71/axis-cgi/mjpg/video.cgi?.mjpg");

//************************ @ IP distante ne merche pas    
CvCapture *camera = cvCaptureFromFile("http://root:root@41.225.15.226:8001/axis-cgi/mjpg/video.cgi?resolution=640x480&req_fps=30&.mjpg");

//CvCapture *camera=cvCaptureFromFile("http://202.212.193.26:555/nphMotionJpeg?Resolution=640x480&Quality=Standard");
// CvCapture *camera=cvCaptureFromFile("http://69.224.130.150/axis-cgi/mjpg/video.cgi?.mjpg");
    /**********************************************************************************************************/
        if (camera==NULL)
           printf("camera is null\n");
        else
           printf("camera is not null");

      cvNamedWindow("img");
      while (cvWaitKey(10)!=atoi("q")){
                //IplImage *img=cvLoadImage("image.jpg");

        double t1=(double)cvGetTickCount();
        IplImage *img=cvQueryFrame(camera);
        double t2=(double)cvGetTickCount();
        printf("time: %gms  fps: %.2g\n",(t2-t1)/(cvGetTickFrequency()*1000.), 1000./((t2-t1)/(cvGetTickFrequency()*1000.)));
        cvShowImage("img",img);
    }
   // cvReleaseCapture(&camera);
}


je vous remercie d'avance
0
Rejoignez-nous