« Calibration de caméra et reconstruction 3D » : différence entre les versions
(Page créée avec « <h1 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Calibration de caméra et reconstruction 3D</h1> <br> Noah CUNEO Tuteur : Stéphane BREUILS === Introduction === Nous allons dans ce compte rendu, voir et comprendre ce qu’est la vision par ordinateur. Plus particulièrement comment à partir d’une caméra nous pouvons traiter l’information d’une image. Dans le but d’obtenir divers résultats tel que la création d’u... ») |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
⚫ | |||
<br> |
|||
Noah CUNEO |
Noah CUNEO |
||
Ligne 16 : | Ligne 14 : | ||
Qui est une bibliothèque conçue spécifiquement pour la vision par ordinateur et le traitement d’images. |
Qui est une bibliothèque conçue spécifiquement pour la vision par ordinateur et le traitement d’images. |
||
=== Sommaire === |
|||
====I. Présentation brève d’OpenCV==== |
|||
====II. Calibration d’une caméra==== |
|||
# Paramètre d’une caméra |
|||
# Calibrage de la caméra |
|||
====III. Analyse et traitement d’une image==== |
|||
# Matrice de projection |
|||
# Trouver des descripteurs (SIFT) |
|||
# Homographie et Matrice d’homographie (Panorama) |
|||
====IV. Reconstruction 3D==== |
|||
# Matrice fondamentale |
|||
# Incomplet |
|||
---- |
|||
<h1 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Présentation d'OpenCV</h1> |
<h1 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Présentation d'OpenCV</h1> |
||
Ligne 69 : | Ligne 49 : | ||
Ce code va par exemple, afficher l’image « image.jpg » en nuance de gris de cette forme : |
Ce code va par exemple, afficher l’image « image.jpg » en nuance de gris de cette forme : |
||
⚫ | |||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Paramètre d'une caméra</h2> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Calibrage</h2> |
|||
<h1 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Calibration d'une caméra</h1> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Paramètres d'une caméra</h2> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Calibrage</h2> |
|||
<h1 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Analyse et traitement d'une image</h1> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Matrice de projection</h2> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Trouver des descripteurs</h2> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Homographie et matrice d'homographie (panorama)</h2> |
|||
<h1 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Reconstruction 3D</h1> |
|||
<h2 style="font-family:Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif">Matrice fondamentale</h2> |
Version du 21 avril 2024 à 17:42
Noah CUNEO
Tuteur : Stéphane BREUILS
Introduction
Nous allons dans ce compte rendu, voir et comprendre ce qu’est la vision par ordinateur.
Plus particulièrement comment à partir d’une caméra nous pouvons traiter l’information d’une image.
Dans le but d’obtenir divers résultats tel que la création d’un panorama ou bien la reconstruction 3D d’un objet à partir de photos.
Pour cela, nous allons nous aider de la bibliothèque OpenCV.
Qui est une bibliothèque conçue spécifiquement pour la vision par ordinateur et le traitement d’images.
Présentation d'OpenCV
OpenCV est donc, comme dit dans l’introduction, une librairie Python axée sur la vision par ordinateur.
En effet, elle propose une grande variété de fonctions utiles au traitement d’images. Comme par exemple :
sift = cv.SIFT_create() kp = sift.detect(gray,None)
Qui permet de détecter des points clés sur une image.
On également par exemple :
M, mask = cv.findHomography(src_pts, dst_pts, cv.RANSAC,5.0)
Qui permet d’estimer une matrice d’homographie.
Mais nous verrons l’utilité de ces fonctions plus en détails ultérieurement.
OpenCV permet également, à l’instar de Tkinter ou Pygame, de générer une interface graphique.
Elle est cependant très limitée puisqu’elle à été créée seulement à l’intention d’afficher des images.
Voici un exemple de comment on affiche une image sur OpenCV :
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE) cv2.imshow('Image', image) cv2.waitKey(0) cv2.destroyAllWindows()
Ce code va par exemple, afficher l’image « image.jpg » en nuance de gris de cette forme :