ajouts des masques IDCARD, NumberIDCARD, NAMESMASK

This commit is contained in:
2025-10-05 17:49:52 +02:00
parent aff55c4ff9
commit 0a2baa6c92
6 changed files with 138 additions and 5 deletions

View File

@@ -9,7 +9,12 @@ pkg_check_modules(OpenCV REQUIRED opencv4)
include_directories(${OpenCV_INCLUDE_DIRS})
# Création de l'exécutable
add_executable(IDMASK main.cpp)
add_executable(IDMASK main.cpp
Objects.cpp
Objects.h
Items.cpp
Items.h
)
# Lier les bibliothèques OpenCV à ton projet
target_link_libraries(IDMASK ${OpenCV_LIBRARIES})

39
Items.cpp Normal file
View File

@@ -0,0 +1,39 @@
//
// Created by yann on 05/10/2025.
//
#include "Items.h"
#include "Objects.h"
int IDCARD(cv::Mat image ) {
cv::Point top_left(155, 240); // Par exemple (100, 100)
cv::Point bottom_right(410, 260); // Par exemple (300, 300)
Objects Ligne1(top_left, bottom_right); // Carré de (100,100) à (300,300)
Ligne1.draw(image);
top_left = cv::Point(25, 270); // Par exemple (100, 100)
bottom_right = cv::Point(410, 285); // Par exemple (300, 300)
Objects Ligne2(top_left, bottom_right); // Carré de (100,100) à (300,300)
Ligne2.draw(image);
return 0;
}
int NumberIDCARD(cv::Mat image ) {
cv::Point top_left(200, 45); // Par exemple (100, 100)
cv::Point bottom_right(285, 55); // Par exemple (300, 300)
Objects NumberIDCARD(top_left, bottom_right); // Carré de (100,100) à (300,300)
NumberIDCARD.draw(image);
return 0;
}
int NamesMask(cv::Mat image ) {
cv::Point top_left(240, 96); // Par exemple (100, 100)
cv::Point bottom_right(340, 110); // Par exemple (300, 300)
Objects NamesMask(top_left, bottom_right); // Carré de (100,100) à (300,300)
NamesMask.draw(image);
return 0;
}

12
Items.h Normal file
View File

@@ -0,0 +1,12 @@
//
// Created by yann on 05/10/2025.
//
#ifndef IDMASK_ITEMS_H
#define IDMASK_ITEMS_H
#include <opencv2/opencv.hpp>
int IDCARD(cv::Mat image );
int NumberIDCARD(cv::Mat image );
int NamesMask(cv::Mat image );
#endif //IDMASK_ITEMS_H

34
Objects.cpp Normal file
View File

@@ -0,0 +1,34 @@
//
// Created by yann on 05/10/2025.
//
#include "Objects.h"
// Constructeur avec trois paramètres (2 Points et une couleur)
Objects::Objects(cv::Point top_left, cv::Point bottom_right, cv::Scalar color)
: top_left(top_left), bottom_right(bottom_right), color(color) {}
// Méthode pour dessiner un carré noir sur l'image
void Objects::draw(cv::Mat &image) {
// Dessiner un rectangle noir (avec -1 pour remplir le carré)
cv::rectangle(image, top_left, bottom_right, cv::Scalar(0), -1); // -1 signifie remplir le rectangle
}
// Getters pour les coordonnées du carré
cv::Point Objects::getTopLeft() const {
return top_left;
}
cv::Point Objects::getBottomRight() const {
return bottom_right;
}
// Setters pour les coordonnées du carré
void Objects::setTopLeft(cv::Point p) {
top_left = p;
}
void Objects::setBottomRight(cv::Point p) {
bottom_right = p;
}

40
Objects.h Normal file
View File

@@ -0,0 +1,40 @@
//
// Created by yann on 05/10/2025.
//
#ifndef IDMASK_OBJECTS_H
#define IDMASK_OBJECTS_H
#include <opencv2/opencv.hpp>
// Déclaration de la classe Objects
class Objects {
private:
// Coordonnées du coin supérieur gauche et du coin inférieur droit
cv::Point top_left;
cv::Point bottom_right;
// Optionnel : couleur de l'objet (par défaut noir)
cv::Scalar color;
public:
// Constructeur avec coordonnées et couleur par défaut (noir)
Objects(cv::Point top_left, cv::Point bottom_right, cv::Scalar color = cv::Scalar(0, 0, 0));
// Méthode pour dessiner un carré (ou autre forme) sur l'image
void draw(cv::Mat &image);
// Getters pour les coordonnées des coins
cv::Point getTopLeft() const;
cv::Point getBottomRight() const;
// Setters pour les coordonnées des coins
void setTopLeft(cv::Point p);
void setBottomRight(cv::Point p);
// Méthode pour changer la couleur de l'objet
void setColor(cv::Scalar new_color);
cv::Scalar getColor() const;
};
#endif //IDMASK_OBJECTS_H

View File

@@ -1,5 +1,7 @@
#include <opencv2/opencv.hpp>
#include <iostream>
#include "Objects.h"
#include "Items.h"
int main() {
// Désactiver Qt en utilisant GTK pour OpenCV (si OpenCV utilise Qt en arrière-plan)
@@ -14,12 +16,12 @@ int main() {
return -1;
}
// Définir les coordonnées du carré (coin supérieur gauche et coin inférieur droit)
cv::Point top_left(25, 270); // Par exemple (100, 100)
cv::Point bottom_right(410, 285); // Par exemple (300, 300)
IDCARD(image );
NumberIDCARD(image );
NamesMask(image );
//square1.draw(image);
// Dessiner un carré noir sur l'image d'origine (en couleur)
cv::rectangle(image, top_left, bottom_right, cv::Scalar(0, 0, 0), -1); // -1 signifie que le carré sera rempli
// Convertir l'image d'origine en niveaux de gris (noir et blanc)
cv::Mat image_gray;
@@ -33,3 +35,4 @@ int main() {
return 0;
}