Rapport de TP 1

Module : Vision par Ordinateur (Sahraoui Tarek Ziad)

Exercice 1:

Problématique : Identification des caractéristiques dans les images (ship1, ship2, castle1, castle2).

Solution : Les étapes sont les suivantes :

  1. Utilisation de la fonction OpenCV (cv2.cornerHarris()) pour repérer les caractéristiques dans les images ship1 et ship2.

  2. Confirmation visuelle de la résistance de l'algorithme Harris à la rotation. Visualisation de castle1 et castle2.

  3. Mise en œuvre de SURF, remplacé par SIFT sans dépendance de brevets

// Code ship1

```notebook-python
!git clone https://github.com/Jjioo/TP1_cv
%cd /content/TP1_cv/
%cd images/



import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

# Charger l'image 1 (ship1)
img_path = './ship1.pgm'
img = cv.imread(img_path)

# Convertir l'image en niveaux de gris
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

# La détection de coins de Harris à l'image en niveaux de gris
dst = cv.cornerHarris(np.float32(gray), 2, 3, 0.04)

# Créer une copie de l'image pour afficher l'img originale
img_with_corners = img.copy()

# Mettre en surbrillance les coins en rouge
img_with_corners[dst > 0.01 * dst.max()] = [0, 0, 255]

# Afficher l'image originale et l'image avec les coins détectés
plt.figure(figsize=(10, 5))

plt.subplot(1, 2, 1)
plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))
plt.title('Image originale')

plt.subplot(1, 2, 2)
plt.imshow(cv.cvtColor(img_with_corners, cv.COLOR_BGR2RGB))
plt.title('Coins détectés')

plt.show()

```
Résultat 1

Note importante : Les points identifiés correspondent aux caractéristiques détectées par l'algorithme Harris Corner, visibles en rouge.

Résultat 2

Note :

Vérification visuelle de la robustesse de l'algorithme Harris face à la rotation :

Résultat 3
Résultat 4

Note :

Résultat 5 - -Ship1

Note :

Résultat 5 - -Ship2

Note :

Résultat 6 - -castle1
Résultat 6 - -castle2

Note :

Les caractéristiques SIFT sont détectées sur les contours, les coins et les textures de l'image, qui sont susceptibles de rester les mêmes même si l'image est agrandie ou réduite.

Cela est dû au fait que les caractéristiques SIFT sont invariantes à l'échelle, ce qui signifie qu'elles sont détectées à différentes échelles de l'image. Cette propriété est essentielle pour de nombreuses applications de vision par ordinateur, telles que la reconnaissance d'objets, la recherche d'images basée sur le contenu et la cartographie.

Exercice 2 et 3: (construire une image panoramique à partir de plusieurs images.)

Problématique : Estimation des paramètres de transformation. Testez votre programme avec les images des séquences case1 et case2. Explorez l'amélioration des résultats en utilisant la méthode du RANSAC pour estimer les paramètres de transformation.

Solutions :

  • Employez svd(Z).

  • Implémentez la méthode du RANSAC.

Résultat

Résultat case1

Résultat case2

Exercise 4 :

case 3

case 4

Last updated