Bonjour,
Déja petite confusions, tu fais un mix dans ton programme de l'utilisation de la cvcam et de highgui :
1 2 3 4 5 6
| int cameras = cvcamGetCamerasCount();
VidFormat vidFmt={ 640, 480, 30.0};
cvcamSetProperty(0, CVCAM_PROP_ENABLE , CVCAMTRUE);
cvcamSetProperty(0, CVCAM_PROP_SETFORMAT , &vidFmt);
cvcamInit();
cvcamStart(); |
Utilise des fonctions de cvcam necessitant un callback derriere
Alors que :
1 2 3 4 5 6 7 8 9 10 11 12 13
| capture1 = cvCaptureFromCAM(1);
for(;;)
{
img_temp = cvQueryFrame(capture1);
count++;
if (count == -1)
{
img_temp = cvQueryFrame(capture1);
break;
}
} |
Utilise des fonctions de highgui
Bon déja je te conseillerai d'ajouter un test du type :
CvCapture *capture=cvCaptureFromCAM(-1);
if (!capture) printf(" > INFO : Camera error\n");
pour voir si le flux vidéo est bel et bien ouvert.
Prefere le -1 en indice du cvCaptureFromCam de façon à laisser la librairie chosiir elle même le domaine dans lequel ta camera se trouve
Voila sinon ça devrait marcher.
Personnelement je préfere utiliser
cvGrabFrame(captureL);
ImageL = cvRetrieveFrame(captureL);
à la place de QueryFrame ; question de choix
Partager