// OpenCV headers
#include "cvaux.h"
#include "highgui.h"

int main(int argc, char* argv[])
{
	// Servira à récupérer le code la touche de clavier appuyée pour
	// terminer le programme.
	int c = 0;

	// Ouverture de la webcam numéro 0 (1ère webcam trouvée).
	CvCapture* webcam0 = cvCaptureFromCAM(0);

	// Contiendra l'image courante de la webcam.
	IplImage* image = NULL;

	// Création d'une fenêtre.
	cvNamedWindow("Fenêtre");

	for (;;)
	{
		// Récupération d'une image de la webcam.
		image = cvQueryFrame(webcam0);

		// Affichage de l'image courante de la webcam.
		cvShowImage("Fenêtre", image);

		// Attend jusqu'à 10 ms que l'utilisateur appuye sur une touche et
		// retourne le code de la touche.
		c = cvWaitKey(10);

		// En cas d'appui sur la touche ECHAP, stoppe la boucle.
		if ((char)c == 27)
		{
			break;
		}
	}

	// Libération de la mémoire utilisée pour la webcam.
	cvReleaseCapture(&webcam0);

	// Destruction de la fenêtre.
	cvDestroyWindow("Fenêtre");

	return 0;
}
