Intégration de l'algorithme GMS pour une correspondance de caractéristiques efficace

Structure du projet et organisation des fichiers

Le dépôt GMS-Feature-Matcher est strcuturé de manière à faciliter la compilation et l'intégration. Voici une description des répertoires clés :

  • répertoire include/ : Contient les en-têtes nécessaires, notamment gms_matcher.h qui définit les interfaces de l'algorithme GMS.
  • répertoire src/ : Abrite les fichiers source implémentant l'algorithme, avec gms_matcher.cpp pour la logique principale et main.cpp comme point d'entrée.
  • répertoire test/ : Inclut des tests unitaires pour valider le fonctionnement, avec test_gms.cpp.

Initialisation via le fichier principal

Le fichier d'entrée src/main.cpp configure et exécute l'algorithme. Exemple de code modifié :

#include <iostream>
#include "gms_matcher.h"

int main() {
    // Instanciation de l'outil de correspondance
    CorrespondanceGMS outilDetection;

    // Chargement des paires d'images
    outilDetection.chargerImages("chemin/vers/image_a.jpg", "chemin/vers/image_b.jpg");

    // Exécution de l'algorithme GMS
    outilDetection.executer();

    // Affichage des correspondances trouvées
    outilDetection.afficherResultats();

    return 0;
}

Ce code initialice un objet CorrespondanceGMS, charge les images, exécute l'algorithme et affiche les correspondances. Les noms de méthodes ont été adaptés en français pour plus de clarté.

Configuration du build avec CMake

Le fichier CMakeLists.txt gère la compilation. Voici une version révisée avec des paramètres standardisés :

cmake_minimum_required(VERSION 3.5)
project(DetectionGMS)

set(CMAKE_CXX_STANDARD 14)

# Ajout des chemins d'en-têtes
include_directories(${CMAKE_SOURCE_DIR}/include)

# Définition des fichiers source
set(SOURCES_PRINCIPAUX
    src/gms_matcher.cpp
    src/main.cpp
)

# Définition des fichiers de test
set(FICHIERS_TEST
    test/test_gms.cpp
)

# Création de l'exécutable principal
add_executable(detection_gms ${SOURCES_PRINCIPAUX})

# Création de l'exécutable de test et liaison des bibliothèques
add_executable(test_detection ${FICHIERS_TEST})
target_link_libraries(test_detection detection_gms)

Cette configuration utilise CMake 3.5 et le standard C++14, avec des noms de cibles modifiés pour éviter les conflits. Les tests sont liés à l'exécutable principal pour une validation intégrée.

Étiquettes: GMS OpenCV CMake C++ Correspondance de caractéristiques

Publié le 1 juillet à 00h55