Logo Mon Club Elec

PyQt Lab’ : OpenCV : Informations utiles sur le module OpenCV pour Python

PyQt Lab est un environnement de développement intégré (IDE) pour Python qui offre une variété d’outils et de fonctionnalités pour faciliter le développement d’applications. Un des modules les plus populaires et les plus utiles de PyQt Lab est OpenCV, un module de traitement d’images et de vidéos qui permet aux développeurs de créer des applications visuelles. Dans cet article, nous allons examiner en détail le module OpenCV pour Python et fournir des informations utiles sur ses fonctionnalités et ses avantages.

PyQt Lab’ : OpenCV : Informations utiles sur le module OpenCV pour Python

Par X. HINAULT – Juin 2013

PyQt Lab’ : OpenCV : Informations utiles sur le module OpenCV pour Python

Installation

  • Sous une distribution Gnu/Linux, telle que Ubuntu (ou l’une de ses variantes) ou Debian, l’installation est très simple : elle se résume à l’installation du paquet python-opencv :
$ sudo apt-get install python-opencv
  • A comparer à la complexité de l’installation d’OpenCV pour Processing…

Importation dans un code Python et structure du module OpenCV

  • Il faut savoir que le module OpenCV pour Python en contient en fait 2 :
    • le module principal cv2 qui contient à la version la plus récente des fonctions OpenCV
    • le sous-module cv, lui-même contenu dans le module cv2 et qui contient les fonctions OpenCV les plus anciennes, mais aussi les plus classiques.
  • Lequel choisir ? Grosso modo, savoir que :
    • le module cv2 manipule les images dans un format tableau numpy ce qui « standardise » la manipulation des images avec l’univers Python habituel, et intègre les dernières fonctions implémentées dans la librairies. Cependant cv2 peut s’avérer nettement plus lent dans certains cas…
    • le module cv utilise le format d’image natif OpenCV appelé iplImage, dispose des fonctions « classiques » pour lesquelles on trouve plus facilement des exemples.
  • Concrètement, il faudra faire le choix d’utiliser l’un ou l’autre pour éviter de mélanger les types, etc…
  • En pratique, on fera l’importation sous l’une ou plusieurs des formes suivantes :
from cv2 import * # importe les fonction cv2 en accès direct et les fonctions du sous-module cv sous la forme cv.fonction

import cv2 # importe les fonctions cv2 sous la forme cv2.fonction et les fonctions cv sous la forme cv2.cv.fonction

import cv2.cv as cv # importe les fonctions cv sous la forme cv.fonction
 

Structure générale de la librairie OpenCV

Si vous attaquez la doc brute, vous allez vous noyez !! Travaillez plutôt les exemples proposés sur ce site pour apprendre les choses pas à pas… et vous faire rapidement plaisir !

  • Les très très nombreuses fonctions de traitement d’image de la librairies OpenCV sont organisées en plusieurs catégories :
    • core. The Core Functionality
    • imgproc. Image Processing
    • highgui. High-level GUI and Media I/O
    • video. Video Analysis
    • calib3d. Camera Calibration and 3D Reconstruction
    • features2d. 2D Features Framework
    • objdetect. Object Detection
    • ml. Machine Learning
    • flann. Clustering and Search in Multi-Dimensional Spaces
    • gpu. GPU-accelerated Computer Vision
    • photo. Computational Photography
    • stitching. Images stitching
    • nonfree. Non-free functionality
    • contrib. Contributed/Experimental Stuff
    • legacy. Deprecated stuff
    • ocl. OpenCL-accelerated Computer Vision
    • superres. Super Resolution

Documentation

  • La documentation est disponible ici : http://docs.opencv.org/
  • ATTENTION : pour chaque fonction, la plupart d’entre-elles en tout cas, on dispose de la documentation Python des fonctions cv. et cv2. : FAIRE ATTENTION A UTILISER LA BONNE DOCUMENTATION en fonction du module cv ou cv2 que l’on utilise !
Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.