Table des matières
Cours 2026: https://bvdp.inetdoc.net/files/iut/cours_vision_but3_2026.pdf
Planning du module
CM 2/11
- initiation à la vision
- spectre électromagnétique
- comparaison caméras avec la vision humaine
- capteurs d'images passifs
Installations des outils pour travailler chez vous
Visual Studio Code
Installer Visual Studio Code: https://code.visualstudio.com/download
Nomacs
Logiciel pour visualiser les images, alternative à geeqie: https://nomacs.org/ https://github.com/nomacs/nomacs/releases/latest/download/nomacs-portable-win.zip
version portable téléchargeable: https://bvdp.inetdoc.net/files/iut/nomacs-portable-win.zip
régler la langue en anglais
Cliquer sur Panels→Toolbars→Statusbar pour afficher les informations sur l'image en bas à droite.
Pour relever des coordonnées de pixels dans les images, lire en bas a gauche.
Installation OpenCV
Taper dans une invite de commande:
pip install numpy matplotlib opencv-python --upgrade
Premier programme Python/OpenCV
Créer un dossier sur P:\etu-new\2024-2025\s5aii\s5aiiX\nom_prenom\tpvision et y télécharger le fichier suivant:
- test1.py
import numpy as np import cv2 import math print("version openCV:"+str( cv2.__version__ ))
Lancer Visual Studio Code:
Bureau->Applications locales geii->Visual Studio Code
Ouvrir le dossier que vous venez de créer:
File->Open Folder, choisir, puis cliquer sur sélectionner le dossier Run->Start Debugging si VSCode indique qu'il n'y a pas d'extension python; cliquer sur install coté de Python IntelliSense(Pylance) Microsoft
Documentation OpenCV
https://pypi.org/project/opencv-python/
lien vers documentation openCV: https://docs.opencv.org/4.8.0/
TD1 Prise en main librairie OpenCV via Python
Nous allons commencer par prendre en main la librairie OpenCV via le langage Python: https://opencv24-python-tutorials.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
Image à télécharger dans votre dossier de projet
TD2 Espaces colorimétriques
Espace colorimétrique YUV: https://fr.wikipedia.org/wiki/YUV
Décimation chromatique en YUV: https://www.latelierducable.com/tv-televiseur/yuv-420-ycbcr-422-rgb-444-cest-quoi-le-chroma-subsampling/ et https://wiki.videolan.org/YUV/
Espace colorimétrique HSV (TSV en français): https://fr.wikipedia.org/wiki/Teinte_Saturation_Valeur
https://fr.wikipedia.org/wiki/Cercle_chromatique#/media/Fichier:CYM_color_wheel.png
Aliasing
https://mathworld.wolfram.com/MoirePattern.html
https://www.lesnumeriques.com/photo/qu-est-ce-que-le-moire-pu121721.html
https://www.techno-science.net/glossaire-definition/Moire-effet-de-contraste.html
DCT pour jpeg
https://fr.wikipedia.org/wiki/Transform%C3%A9e_en_cosinus_discr%C3%A8te
http://compressionimage.free.fr/dct/
Décimation chromatique pour jpeg
Détection et comptage d'objets
Exercice à faire
TD/TP géométrie pour la vision
TP synthèse d'image
Lien vers doc pour paramétrisation de Rodrigues: https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html?highlight=pnp#void%20Rodrigues(InputArray%20src,%20OutputArray%20dst,%20OutputArray%20jacobian)
Lien vers doc pour modèle de caméra et étalonnage: https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html
Fichier de départ:
- synthese.py
#!/usr/bin/python3 import cv2 import numpy as np import math print("==============================================================") #modèle 3D filaire d'un cube: taillecube=1 #unité métrique pour le coté du cube listeM = np.float32([[0,0,0], [taillecube,0,0],[taillecube,taillecube,0], [0,taillecube,0], [0,0,taillecube], [taillecube,0,taillecube],[taillecube,taillecube,taillecube], [0,taillecube,taillecube]]) print("listeM:"+str(listeM)) listeseg=[[0,1],[1,2],[2,3],[3,0],[4,5],[5,6],[6,7],[7,4],[0,4],[1,5],[2,6],[3,7]] print("listeseg:"+str(listeseg)) print("==============================================================")
Etalonnage de capteur et Ajustement de paramètres
Exemple de la balance: tpomlbut3
Code pour s'entrainer pour ajuster des fontions quelconques
TP réalité augmentée, reconstruction 3D par vision monoculaire et par stéréovision
Vidéo interpolation de vue
Etalonnage géométrique de la camera
Démo /home/bvandepo/Bureau/pythonb/ueye2023/uEye_SimpleLive_PyuEye_OpenCV/SimpleLive_Pyueye_OpenCV.py
brancher une carte arduino en USB et utiliser mire acrylique
A faire en cas de problème avec visual studio code
Extension Python se met à jour à une version trop récente pour visual studio code
Si vous avez une fenêtre Interactive 1 qui affiche:
[Select a kernel](command:_notebook.selectKernel) to run cells. - Bandeau à gauche, icône du bas (extensions) - Taper python dans la zone de recherche - choisir Python juste en dessous - à droite de Uninstall, cliquer sur Install Specific Version - choisir 2025.6.1







