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})
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
|
|
||||||
# Création de l'exécutable
|
# 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
|
# Lier les bibliothèques OpenCV à ton projet
|
||||||
target_link_libraries(IDMASK ${OpenCV_LIBRARIES})
|
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 <opencv2/opencv.hpp>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include "Objects.h"
|
||||||
|
#include "Items.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
// Désactiver Qt en utilisant GTK pour OpenCV (si OpenCV utilise Qt en arrière-plan)
|
// Désactiver Qt en utilisant GTK pour OpenCV (si OpenCV utilise Qt en arrière-plan)
|
||||||
@@ -14,12 +16,12 @@ int main() {
|
|||||||
return -1;
|
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)
|
// 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)
|
// Convertir l'image d'origine en niveaux de gris (noir et blanc)
|
||||||
cv::Mat image_gray;
|
cv::Mat image_gray;
|
||||||
@@ -33,3 +35,4 @@ int main() {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user