E N D
Table des matières Projet console Visual C++ 2010 avec OpenCV.........................................................................................2 Pré-requis...............................................................................................................................................2 Création du projet..................................................................................................................................2 Configuration des options dans Visual Studio ......................................................................................3 Le squelette de base du programme OpenCV.......................................................................................4 Projet C# Windows Forms et OpenCV......................................................................................................6 Création du projet..................................................................................................................................6 Le squelette de base du programme OpenCV en C#.............................................................................7
Projet console Visual C++ 2010 avec OpenCV Voici les étapes principales pour créer un projet OpenCV destiné à la console avec Visual C++ Studio 2010. Pré-requis Télécharger la librairie EmguCV. Elle contient toute la librairie OpenCV avec, en plus, la librairie nécessaire pour utiliser OpenCV avec C#. Cette librairie est disponible à l'adresse : http://sourceforge.net/projects/emgucv/files/emgucv/2.2.1/libemgucv-windows-x86-2.2.1.1150.exe/download • • Une fois la librairie installée, nous pouvons maintenant passer à l'élaboration du squelette d'un programme OpenCV en mode console. Création du projet Ouvrir VS 2010 C++ Express ou équivalent Créez un nouveau projet C++ « Application console Win32 » comme montré ci-dessous : • • Dans les options, choisissez « Pas d'entêtes pré-compilés » et « projet vide ». • Ajoutez un nouveau fichier source « *.cpp » qui contiendra votre code de base. •
Configuration des options dans Visual Studio ➢ Sélectionnez les propriétés du projet comme montré ci-contre (ovale rouge). ➢ Sous « Propriétés de configuration », choisissez « Répertoire VC++ » et ajoutez un répertoire « include » suivant : C:\Emgu\emgucv-windows-x86 2.2.1.1150\include\opencv ➢ Ajoutez un « répertoire bibliothèque » suivant : C:\Emgu\emgucv-windows-x86 2.2.1.1150\lib ➢ Choisissez « Éditeur de liens », option « Entrée » et ajoutez les dépendances supplémentaires suivantes : « opencv_core220.lib » et « opencv_highgui220.lib » ➢ Allez dans le répertoire « C:\Emgu\emgucv-windows-x86 2.2.1.1150\include » et copiez le répertoire « opencv2 » au complet. Ammenez la copie dans le même répertoire qui contient votre fichier « .cpp » du projet.
Le squelette de base du programme OpenCV Passons au code! Entrez le code suivant : #include <cv.h> #include <highgui.h> #include <cv.h> #include <highgui.h> using namespace std; //Pour les cout peut-être ?? using namespace std; //Pour les cout peut-être ?? #include <iostream> #include <iostream> int main() { int main() { IplImage *imgsource; //La structure qui contient les informations de l'image IplImage *imgsource; //La structure qui contient les informations de l'image imgsource = cvLoadImage("mars.jpg"); // Charge l'image passée en paramètre imgsource = cvLoadImage("mars.jpg"); // Charge l'image passée en paramètre // Création d'une fenêtre qui contiendra l'image affichée // CV_WINDOW_AUTOSIZE permet de redimensionner automatiquement la fenêtre // en fonction des dimensions de l'image cvNamedWindow("Premier exemple OpenCV", CV_WINDOW_AUTOSIZE); // Création d'une fenêtre qui contiendra l'image affichée // CV_WINDOW_AUTOSIZE permet de redimensionner automatiquement la fenêtre // en fonction des dimensions de l'image cvNamedWindow("Premier exemple OpenCV", CV_WINDOW_AUTOSIZE); //Affiche l'image dans la fenêtre crée précédemment cvShowImage("allo", imgsource); //Affiche l'image dans la fenêtre crée précédemment cvShowImage("allo", imgsource); // On attend que l'usager tape une touche pour continuer // 0: temps infini // !0 : Temps en millisecondes cvWaitKey(0); // On attend que l'usager tape une touche pour continuer // 0: temps infini // !0 : Temps en millisecondes cvWaitKey(0); // Libère les ressources de la fenêtre d'affichage cvDestroyWindow("Premier"); // Libère les ressources de la fenêtre d'affichage cvDestroyWindow("Premier"); // Libère les ressources reliées à la structure de l'image cvReleaseImage(&imgsource); // Libère les ressources reliées à la structure de l'image cvReleaseImage(&imgsource); return 0; return 0; } }
On compile le tout et vous obtenez probablement un message d'erreur comme ci-dessous : Cette erreur provient du fait que les fichiers « dll » en question ne sont pas dans le répertoire qui contient votre fichier « .cpp » du projet. Copiez les fichiers « opencv_core220.dll » et « opencv_highgui220.dll » dans le répertoire contenant vos fichiers « *.cpp » du projet. Ces fichiers « dll » sont situés dans le répertoire «bin » de C:\Emgu\emgucv-windows-x86 2.2.1.1150\bin Voilà. L'image est affichée dans la fenêtre.
Projet C# Windows Forms et OpenCV Création du projet Ouvrir VS 2010 C# Express ou équivalent Créez un nouveau projet C# « Application Windows Forms » comme montré ci-dessous : • • Ajoutez la référence « Emgu.CV.dll » et « emgu.util.dll » comme ci-dessous : •
Le squelette de base du programme OpenCV en C# Ajoutez le code suivant dans le formulaire, plus précisément dans la classe Form1 : using Emgu.CV.Structure; using Emgu.CV; using Emgu.Util; namespace OpenCV_WinForms_CS { public partial class Form1 : Form { private Image<Bgr, Byte> imgsource; private string NomFichierSource; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() != DialogResult.Cancel) { if (openFileDialog1.FileName.Length == 0) { MessageBox.Show("Erreur"); } else { NomFichierSource = openFileDialog1.FileName; imgsource = new Image<Bgr, Byte>(NomFichierSource); pictureBox1.Image = imgsource.ToBitmap(); } } } } } N'oubliez pas de copier le fichier « opencv_core220.dll » dans le répertoire debug et release.