Le traitement d’image est un domaine qui a connu une croissance exponentielle ces dernières années. Les applications de ce domaine sont très variées et peuvent être utilisées dans de nombreux secteurs. Dans cet article, nous allons nous intéresser à l’utilisation de PyQtLab, OpenCV et Webcam pour le traitement d’image. Nous verrons comment ces outils peuvent être utilisés pour créer des applications de traitement d’image puissantes et efficaces.
PyQt Lab’ : PyQt + OpenCV + webcam : Capturer et traiter en « temps réel » des images issues d’un flux vidéo

Pour débuter
- Afficher le flux vidéo issu d’une webcam dans une interface Qt (capture simple) – version cv Tuto :
– 15 p. – 0.25
- à noter : pas de différence significative avec cv2
Dessin sur l’image vidéo
- Afficher flux vidéo webcam et dessiner rectangle sous le curseur de la souris
- Afficher flux vidéo webcam et surajouter tracé façon « cockpit avion »
- Afficher flux vidéo webcam et dessiner rectangle sous le curseur de la souris et afficher ROI dans un second QLabel
Enregistrer image
- Capturer une image webcam et l’enregistrer dans un fichier par clic sur un pushButton (façon « appareil photo »). +/- son
- Capturer une image webcam à intervalle régulier (datalogging « photo »)
Améliorer la vitesse de capture d’image
Capture avec OpenCV
- Afficher le flux vidéo issu d’une webcam dans une interface Qt (capture simple avec évaluation des délais) – version cv (Temps capture : 30 ms !! (=lent ++) 30 Fps max )
- à noter : pas de différence significative avec cv2
Capture avec GSVideo
- Capture simple avec GSVideo (Temps capture : 30ms Fps : 30fps donc idem OpenCV…)
- Capture simple avec GSVideo et utilisation signal ‘pull-buffer’ (Temps capture :1 à 4ms Fps (bien ++): 100 obtenu avec eyePS3 en 320×240! )
- Capture simple avec GSVideo et connexion signal ‘new-buffer’? (Temps capture : Fps : )
- Programme type : Capture simple avec GSVideo avec ma librairie PyQtCV
Traitement d’image de base du flux vidéo direct
- Afficher le flux vidéo issu d’une webcam dans une interface Qt (version avec buffers pour traitement d’image ) Tuto :
– 22 p. – 0.25
- Afficher le flux vidéo brut issu d’une webcam et le flux traité (exemple en niveau de gris) dans une même interface Qt (buffers + 2 zones d’affichages) Tuto :
– 24 p. – 0.25
- Convertir une image RGB webcam en niveaux de gris *
- Appliquer un effet miroir à une image RGB webcam *
- Inverser une image RGB webcam *
- Appliquer un flou à une image RGB webcam (filtre Gaussien) *
- Appliquer un seuillage (réglé par Slider) et binariser une image RGB webcam *
Traitement d’image avancé du flux vidéo direct
- Afficher les canaux RGB d’une image webcam dans des fenêtres séparées *
- Modifier les canaux d’une image RGB webcam à l’aide de sliders
- Filtre « mixeur de canaux » couleur d’une image webcam *
- Filtre « mixeur de canaux » en niveaux de gris d’une image webcam *
- Filtre « mixeur de canaux » couleur d’une image webcam avec Sliders
- Filtre « mixeur de canaux » en niveaux de gris d’une image webcam avec Sliders
- Isolement objet coloré par filtrage « mixeur de canaux » en niveau de gris + seuillage binaire
- Egaliser histogramme d’une image webcam
- Afficher histogramme d’une image webcam
- Conversion RGB to HSV d’une image webcam
- Afficher Histogramme d’une image RGB dans QwtPlot
Capture d’image sur clic bouton
- Capturer une image sur clic pusbutton
- Capturer image traitée sur clic pushButton
- Enregistrer image dans un fichier
Opérations sur pixels
- Analyser l’intensité de tous les pixels d’une ligne sous forme graphique d’une image webcam *
Extractions de contours
- Appliquer un filtre de Sobel à une image RGB webcam
- Appliquer un filtre de Sharr à une image RGB webcam
- Appliquer un filtre de Canny à une image RGB webcam
Traitement entre 2 images
Soustraction du fond
Détection de visage
- Détecter des visages dans une image RGB webcam
- Obtenir de l’information sur les visages détectés (nombre, position centre, rectangle encadrant…) à partir d’une image webcam
Détection des contours de formes 2D quelconques (détection de Blobs)
- Détecter et dessiner les contours de formes 2D quelconques à partir d’une image webcam binarisée
- Obtenir de l’information sur les contours détectés (position centre, aire, rectangle et cercle encadrants) à partir d’une image webcam
Sélection de formes 2D de formes 2D quelconques (filtrage des Blobs retenus)
Analyse de contours de formes 2D quelconques
- analyse de convexité de contours de formes 2D quelconques à partir d’une image webcam
Détection de formes 2D géométriques
Fonctions de dessin 2D
…
Calibrage de webcam
OCR (avec OpenCV ou non…)
Articles Liés
- http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertCapteursComplexesDS18B20
L'utilisation des capteurs complexes est devenue une partie essentielle de la technologie moderne. Les capteurs…
- http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PLUS
IEURS L'utilisation de plusieurs ordinateurs pour un seul projet peut être très utile pour les…
- http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.NONPROG
RAMMABLE Les systèmes non programmables sont des systèmes qui ne nécessitent pas de programmation pour…