Tuto : Installation et utilisation de OpenCV sur MacOS avec XCode

Le 17/07/2019 Par Thomas CHABOUDopencv

Pré-requis

Pour ce tuto, nous allons utiliser la version 4.0.1 de OpenCV. Cette installation a été réalisée avec la version 10.1 de Xcode. On utilisera HomeBrew comme gestionnaire de package.

Installation de HomeBrew

Pour installer HomeBrew, ouvrez un terminal et rentrez la commande suivante :

/usr/bin/ruby -e « $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) »

Installation de OpenCV

Une fois HomeBrew installé, on peut désormais s’en servir pour installer OpenCV. Toujours depuis le terminal, écrivez la commande suivante :

brew install opencv

La dernière version d’OpenCV sera alors téléchargée. Pour ce tuto, la version est la 4.0.1. OpenCV s’installe dans :

/usr/local/Cellar/opencv

Installation de pkg-config

Nous allons maintenant installer pkg-config, toujours avec HomeBrew. Cet outil nous permettra de récupérer les informations nécessaires à la compilation pour OpenCV.
Dans le terminal, écrivez la commande suivante :

brew install pkg-config

Afin de vérifier que tout a bien marché, nous allons afficher les flags des linkers qui nous servirons plus tard pour Xcode. Pour cela, on peut écrire la commande suivante :

pkg-config –cflags –libs path/to/opencv4.pc

path/to/opencv.pc devra être remplacé par le chemin du fichier opencv4.pc. Dans mon cas, ce chemin est :

/usr/local/Cellar/opencv//lib/pkgconfig/opencv4.pc

ndlr: <numero_de_version> correspond à la version de OpenCV installée, pour ce tuto, 4.0.1.

Le résulat affiché dans la console devrait ressembler à ça :

linker-flags-opencv.jpg

retour de la commande pkg-config –cflags –libs path/to/opencv4.pc

ndlr: Si la version d’OpenCV installée est inférieure à 4, le fichier s’appelera opencv.pc et non opencv4.pc

Configurer OpenCV sur Xcode

Création du projet C++

Pour commencer, nous allons devoir créer un nouveau projet C++. Ouvrez Xcode et créez un nouveau projet comme ceci :

xcode-create-cpp-project-1.jpg

Appuyez sur next et choisissez C++.

xcode-create-cpp-project-2.jpg

Header Paths

Une fois le projet créé, sur la vue globale du projet, allez dans l’onglet Build Settings et recherchez « header path » dans la recherche. Cliquez ensuite sur le menu déroulant « Header Search Paths » et renseignez le chemin du dossier include de opencv dans le champ Debug (il est aussi possible de le faire pour Release). Dans mon cas, ce chemin est :

/usr/local/Cellar/opencv//include/opencv4

ndlr: <numero_de_version> correspond à la version de OpenCV installée, pour ce tuto, 4.0.1.

xcode-header-paths.jpg

Library Paths

Nous allons faire la même chose pour les librairies. Toujours dans l’onglet Build Settings, recherchez « library search ». Cliquez ensuite sur le menu déroulant « Library Search Paths » et renseignez le chemin du dossier lib de opencv dans le champ Debug. Dans mon cas, ce chemin est :

/usr/local/Cellar/opencv//lib/opencv4

ndlr: <numero_de_version> correspond à la version de OpenCV installée, pour ce tuto, 4.0.1.

xcode-lib-paths.jpg

Other Linker Flags

Pour finir, nous allons faire la même chose pour les autres paths. Toujours dans l’onglet Build Settings, recherchez « other linker flags ». Cliquez ensuite sur le menu déroulant « Other Linker Flags » et renseignez tous les chemins affichés par la commande :

pkg-config –cflags –libs path/to/opencv4.pc

Commande que nous avons vu plus haut, dans le champ Debug :

xcode-other-flags.jpg

ndlr: Il est possible de faire un copié-collé du retour du terminal vers le champ de saisie dans Xcode
ndlr2: Si la version d’OpenCV installée est inférieure à 4, les liens pour les paths des header et des libraries se terminent simplement par /include et /lib et non par /include/opencv4 et lib/opencv4

Sommaire

  • fleche vers la droite Pré-requis
  •         fleche vers la droite Installation de HomeBrew
  •         fleche vers la droite Installation de OpenCV
  •         fleche vers la droite Installation de pkg-config
  • fleche vers la droite Configurer OpenCV sur Xcode
  •         fleche vers la droite Création du projet C++
  •         fleche vers la droite Header Paths
  •         fleche vers la droite Library Paths
  •         fleche vers la droite Other Linker Flags