ajouts des masques IDCARD, NumberIDCARD, NAMESMASK
This commit is contained in:
@@ -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
39
Items.cpp
Normal 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
12
Items.h
Normal 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
34
Objects.cpp
Normal 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
40
Objects.h
Normal 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
|
||||
11
main.cpp
11
main.cpp
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user