objectif
- «J'ai entendu dire que vous pouvez traiter diverses images avec une bibliothèque open source appelée OpenCV, mais c'est difficile à construire.
- "Python semble être pratique, donc j'aimerais migrer depuis C ++ ou Matlab pour le moment, mais il est difficile de créer un environnement."
Pour ceux qui aiment, je vais vous présenter comment créer et utiliser un environnement de développement intégré pour Python appelé Canopy. C'est beaucoup plus facile que de créer un environnement C ++ et openCV à l'aide de Visual studio, etc. Il s'adresse principalement aux étudiants, aux professeurs et au personnel (je parlerai sur la prémisse d'un compte académique). De plus, j'ai présenté un exemple de construction sur Mac, mais je pense qu'il n'y a pas beaucoup de différence sur les autres plates-formes. Pour Linux et Windows, lisez le paramètre de chemin selon le cas.
Étape 1 Ouvrez un compte - Téléchargez
Si vous avez un compte de messagerie universitaire comme ***. Ac.jp, vous pouvez ouvrir un compte académique avec Canopy et obtenir gratuitement plus de 200 packages pré-construits. Si vous n'avez pas de compte universitaire, http://www.iu-tokyo.ac.jp/edu/entra/ http://www.i.kyoto-u.ac.jp/admission/guide.html Prière de se référer à.
- Demandez un compte sur https://store.enthought.com/accounts/login/?next=0licenses/academic/request/.
- Téléchargez Canopy sur https://store.enthought.com/downloads/.
Étape 2 Installation - Réglage initial
- Jetez-le dans le répertoire Applications et démarrez-le.
- Le fichier d'environnement est créé sous / Users / Username / Library comme indiqué ci-dessous. En d'autres termes, il n'est pas en conflit avec le python d'origine </ b>, vous pouvez donc le créer ou le supprimer à votre guise.
- Décidez si vous souhaitez utiliser le python de Canopy par défaut (peut être modifié plus tard).
Oui, c'est bien dans la plupart des cas, mais si vous voulez ou créez un environnement de développement python avec Vim ou Emacs, http://stackoverflow.com/questions/19617936/importerror-no-module-named-site-vim- et-enthought-canopy Il y a un problème que vous vous fâchez avec une erreur ici.
- Dans mon cas, Canopy python n'est pas défini par défaut, mais ipython, qui est souvent utilisé dans Canopy, et un alias pour enpkg décrit plus tard sont créés. S'il vous plaît laissez-moi savoir s'il y a un meilleur moyen ici
Étape 3 Installation du package
- Lorsque vous démarrez Canopy, une fenêtre comme celle-ci apparaîtra. Tout d'abord, connectez-vous avec le compte que vous avez ouvert précédemment et sélectionnez Package Manager.
- Il y a beaucoup de paquets qui peuvent être mis à jour comme ça
- Vous pouvez également le trouver en recherchant OpenCV. Sélectionnez Installer pour installer. C'est facile.
Je veux faire de mon mieux au terminal
Si vous ne voulez pas utiliser une telle interface graphique! Je veux faire de mon mieux sur le terminal, utilisez enpkg. Je suis exclusivement une secte enpkg.
- --whats-new affichera un paquet qui peut être mis à jour.
Vous pouvez rechercher des packages avec + -s.
Développé avec le notebook iPython
Canopy lui-même a un éditeur de console, et le développement est possible par lui-même, mais ici, utilisons iPython notebook, qui est un environnement de développement Web pour iPython.
- Exécutez
ipython notebook
sur le terminal
- Les fichiers de sauvegarde, etc. seront générés dans le répertoire où le notebook ipython est démarré.
- L'écran suivant apparaîtra. Sélectionnez le nouveau bloc-notes sur la droite.
- Avec iPython notebook, vous pouvez écrire et exécuter des scripts dans des zones de texte appelées "cellules".
- Vous pouvez également écrire des fonctions et des classes.
- Vous pouvez également écrire un markdown en sélectionnant Markdown dans le menu déroulant sur le côté gauche du menu.
↓
- Vous pouvez également écrire bash.
Vous pouvez également écrire + html.
Essayons OpenCV
Enfin, essayons brièvement les fonctionnalités d'openCV.
Affichage de l'image
% pylab inline``` est l'une des fonctions appelées fonction magique, et en l'exécutant, l'image peut être affichée en ligne.
Affichage des images acquises de la caméra
time.time () '' `` renvoie les secondes écoulées à partir de minuit (0:00:00) le 1er janvier 1970 sous forme de flottant.
- `` cv2.VideoCapture (0) '' se connectera à la 0ème caméra connectée. Si vous spécifiez un fichier vidéo ici, cette vidéo sera chargée.
- `` cap.read () '' pour capturer l'image et imshow pour la recracher. Dans l'environnement en ligne ci-dessus, la vidéo ne joue pas bien, nous allons donc utiliser ici l'environnement osx.
- En faisant `` plt.draw () '', l'image sera mise à jour de manière interactive pour la première fois (facile à oublier)
Détection facial
Ici, nous allons essayer la célèbre détection de visage de type cascade Viola & Jones.
- Choisissez un modèle formé de détection de visage. Écrivons bash sur cahier parce que c'est un gros problème.
Bonus: traitement d'image avec l'image scikit
En plus d'openCV, Python a un package appelé scicit image, qui a une méthode qui n'est pas implémentée dans openCV.
Pour plus d'informations http://scikit-image.org/docs/dev/auto_examples/index.html
Ségmentation d'image
- `` Skimage.io.ImageCollection '' lit le groupe d'images qui correspond à l'argument sous forme de liste. Par exemple, si vous exécutez
img = ImageCollection ('img * .png')
sur le répertoire contenant img0.png, img1.png, ... img10.png, le i-ème élément sera le i-ème Une liste contenant les images de est créée.
- SLIC implémenté dans
skimage.segmentation.slic '' 'est l'une des méthodes de segmentation d'image, et il est possible de diviser l'image en plusieurs superpixels comme indiqué ci-dessus. Je peux le faire.
mark_boundaries``` est une fonction pour le dessiner.