Vous êtes sur la page 1sur 14

Institut du génie appliqué

Rapport de mini projet


2ème année cycle d’ingénieur : Génie informatique

Thème :
Projet : Traitement D’image
« Reconnaissance de plaques d'immatriculation »

Encadré par : Réalisé par :

Mme Naouar BELGHINI EL Mehdi BENHMIDI

Année universitaire :

2022 – 2023
0
SOMMAIRE
Introduction…………………………………………………………………………….2

1. Fondements théoriques…………………………………………………………….3
1) Explication du traitement d'images et de ses techniques utilisées dans le
projet (réduction de taille, conversion en niveaux de gris, filtre bilatéral,
détection de contours)……………………………………………………...3
2) Présentation de la reconnaissance optique de caractères (OCR) et son
utilisation pour extraire le texte des plaques d'immatriculation………..3

2. Méthodologie ……………………………………………………………………….3
1) Réduction de la taille de l'image…………………………………………...3
2) Conversion en niveaux de gris……………………………………………..4
3) Application du filtre bilatéral pour réduire le bruit……………………..4

3.2 Détection des contours…………………………………………………………5

1) Utilisation de l'algorithme de Canny pour trouver les contours significatifs


2) Recherche des contours dans l'image et sélection des plus grands contours

3.3 Identification de la plaque d'immatriculation………………………………..7

1) Utilisation de l'approximation des polygones pour identifier les contours


rectangulaires correspondant à une plaque d'immatriculation
2) Extraction de la région d'intérêt (ROI) contenant la plaque
d'immatriculation

3.4 Reconnaissance optique de caractères (OCR)……………………………….8

1) Application de l'OCR sur la ROI pour extraire le texte de la plaque


d'immatriculation
2) Configuration de l'OCR pour restreindre la reconnaissance aux
caractères attendus

3. Implémentation et résultats……………………………………………………….10
1) Description de l'implémentation du projet………………………….…..10
2) Présentation des images de test utilisées…………………………………11
3) Affichage de résultats obtenus (images avec plaques d’immatriculation
détectées et texte extrait)…………………………………………………..11

Conclusion…………………………………………………………………………..13

1
INTRODUCTION
L'identification automatique des plaques d'immatriculation joue un rôle essentiel
dans de nombreux domaines tels que la sécurité routière, la gestion du
stationnement et la surveillance du trafic. La capacité de détecter et de lire
efficacement les plaques d'immatriculation peut fournir des informations précieuses
pour le suivi des véhicules, la détection des infractions et la gestion des données de .

Ce projet vise à développer un système de détection de plaques d'immatriculation en


utilisant des techniques d'apprentissage automatique et de vision par ordinateur. En
utilisant des algorithmes avancés et des bibliothèques telles que OpenCV, nous
pouvons extraire automatiquement les régions potentielles des plaques
d'immatriculation à partir d'images.

L'objectif principal de ce projet est de fournir une solution précise, efficace et en


temps réel pour la détection des plaques d'immatriculation. Cela permettra
d'automatiser les processus de contrôle, de surveillance et de suivi des véhicules, et
contribuera à améliorer la sécurité routière et la gestion du trafic.

Dans ce rapport, nous présenterons en détail les différentes étapes du processus de


détection de plaques d'immatriculation, de la préparation des images à l'application
des algorithmes de détection et de reconnaissance. Nous examinerons également
les résultats obtenus et discuterons des défis rencontrés tout au long du projet. Enfin,
nous discuterons des perspectives d'amélioration et des applications potentielles de
ce système de détection de plaques d'immatriculation.

Ce projet représente une contribution significative dans le domaine de la vision par


ordinateur et de l'intelligence artificielle appliquée aux systèmes de transport
intelligents. Il offre des possibilités d'innovation et d'optimisation des processus de
contrôle et de gestion du trafic, et peut contribuer à rendre nos routes plus sûres et
plus efficaces.

2
1.Fondements théoriques
1) Explication du traitement d'images et de ses techniques utilisées dans le
projet (réduction de taille, conversion en niveaux de gris, filtre bilatéral,
détection de contours)

Dans ce projet, nous utilisons le traitement d'images pour préparer les images des
plaques d'immatriculation avant de les soumettre à l'algorithme de reconnaissance
de caractères.

En utilisant ces techniques de traitement d'images, nous pouvons préparer les


images des plaques d'immatriculation de manière optimale pour la détection et la
reconnaissance ultérieures des caractères. Cela garantit des résultats plus précis et
fiables lors de l'extraction des informations de la plaque d'immatriculation.

2) Présentation de la reconnaissance optique de caractères (OCR) et son


utilisation pour extraire le texte des plaques d'immatriculation

La reconnaissance optique de caractères (OCR) est une technologie qui permet de


convertir des images contenant du texte en texte exploitable. Elle est largement
utilisée dans de nombreux domaines tels que la numérisation de documents, la
reconnaissance de plaques d'immatriculation, la reconnaissance de caractères

L'utilisation de l'OCR permet de passer de l'image d'une plaque d'immatriculation à


son texte correspondant, ce qui est utile pour des applications telles que la
reconnaissance automatique de plaques d'immatriculation, le suivi des véhicules,
etc.

2.Méthodologie
1) Réduction de la taille de l’image

Dans le cadre de la détection de plaques d'immatriculation, la réduction de la taille de


l'image est une étape préliminaire couramment utilisée pour plusieurs raisons :

1. Amélioration des performances de traitement : Les algorithmes de


détection et de reconnaissance peuvent être intensifs en calcul, et travailler
sur une image de grande taille peut ralentir le processus. En réduisant la taille
de l'image, on réduit également le nombre total de pixels à traiter, ce qui peut
accélérer les opérations ultérieures.
2. Réduction du bruit : Les images de grande taille peuvent contenir plus de
bruit, ce qui peut rendre la détection des contours et la reconnaissance des
caractères plus difficiles. En réduisant la taille de l'image, on réduit également
le bruit inhérent à celle-ci, ce qui peut améliorer la précision du processus de
détection.
3. Normalisation de la taille des plaques : Les plaques d'immatriculation
peuvent varier en taille dans une image, en fonction de leur distance par

3
rapport à la caméra ou de l'angle de prise de vue. En réduisant la taille de
l'image de manière cohérente, on peut normaliser la taille des plaques, ce qui
facilite leur détection et leur traitement ultérieur.

La réduction de la taille de l'image est réalisée à l'aide de la fonction


imutils.resize(image, width=300). Cette fonction redimensionne l'image en spécifiant
une largeur de 300 pixels, tout en maintenant le ratio d'aspect original de l'image. En
redimensionnant l'image à une taille plus petite, vous facilitez le traitement ultérieur
de l'image pour la détection de contours et l'extraction du texte de la plaque
d'immatriculation.

2) Conversion en niveau de gris

La conversion de l'image en niveaux de gris est une étape essentielle dans le


traitement d'images utilisée couramment dans la détection de plaques
d'immatriculation. Voici quelques raisons pour lesquelles cette conversion est
effectuée :

1. Simplification de l'image : Les images en couleurs contiennent des


informations dans différents canaux de couleur (rouge, vert, bleu), ce qui peut
compliquer l'analyse et la détection des contours. En convertissant l'image en
niveaux de gris, on élimine les informations de couleur et on se concentre
uniquement sur les variations d'intensité lumineuse, ce qui simplifie le
processus de traitement.
2. Réduction de la dimensionnalité : Les images en couleurs nécessitent plus
de mémoire pour être stockées et traitées par rapport aux images en niveaux
de gris. En convertissant l'image en niveaux de gris, on réduit la
dimensionnalité de l'image, ce qui facilite les calculs et réduit les exigences de
mémoire.
3. Amélioration du contraste : La conversion en niveaux de gris permet
d'améliorer le contraste de l'image en accentuant les différences d'intensité
lumineuse. Cela peut être bénéfique pour la détection des contours et
l'extraction des caractéristiques des plaques d'immatriculation.

La conversion en niveaux de gris est réalisée à l'aide de la fonction


cv2.cvtColor(image, cv2.COLOR_BGR2GRAY). Cette fonction convertit l'image de
l'espace de couleur BGR (bleu, vert, rouge) à l'espace de couleur en niveaux de gris.
Après la conversion, l'image ne contient plus qu'un seul canal représentant les
niveaux de gris, ce qui permet de simplifier et d'accélérer les étapes suivantes du
traitement de l'image.

3) Application du filtre bilatéral pour réduire le bruit

L'application du filtre bilatéral est une technique couramment utilisée pour réduire le
bruit d'une image tout en préservant les contours et les détails importants. Voici
comment cette étape fonctionne :

1. Compréhension du bruit : Avant d'appliquer le filtre bilatéral, il est important


de comprendre le type de bruit présent dans l'image. Le bruit peut être de
différents types tels que le bruit gaussien, le bruit de speckle, le bruit de poivre

4
et de sel, etc. Le filtre bilatéral est particulièrement efficace pour réduire le
bruit gaussien et les petites variations aléatoires dans l'image.
2. Principe du filtre bilatéral : Le filtre bilatéral considère à la fois la similarité
des valeurs de pixels et de leurs positions spatiales lors de la réduction du
bruit. Il effectue une moyenne pondérée des pixels voisins en fonction de leur
similarité, tout en préservant les contours et les détails importants de l'image.
Les pixels similaires ont un poids plus élevé dans le calcul de la moyenne,
tandis que les pixels différents ont un poids plus faible.
3. Réduction du bruit : En appliquant le filtre bilatéral, le bruit est atténué tout
en maintenant la netteté des contours. Cela permet d'obtenir une image plus
lisse et plus propre, ce qui facilite les étapes ultérieures de traitement et
d'analyse de l'image.

La fonction cv2.bilateralFilter(gray_image, 11, 17, 17) est utilisée pour appliquer le


filtre bilatéral à l'image en niveaux de gris. Les paramètres de la fonction définissent
respectivement la taille du voisinage considéré (11), la différence maximale de valeur
des pixels voisins (17) et la différence maximale de position des pixels voisins (17).
Vous pouvez ajuster ces valeurs en fonction des caractéristiques spécifiques de
votre image et du niveau de bruit que vous souhaitez réduire.

L’application du filtre bilatéral permet de réduire le bruit de l'image, ce qui améliore la


qualité des contours et facilite les étapes suivantes du traitement de l'image.

3.2 Détection des contours

1) Utilisation de l’algorithme de Canny pour trouver les contours


significatifs

L'utilisation de l'algorithme de Canny est une étape clé dans la détection des
contours significatifs d'une image. Voici comment cette étape fonctionne :

1. Détection des variations d'intensité : L'algorithme de Canny se base sur les


variations d'intensité des pixels dans une image. Il utilise un opérateur de
détection de contours qui identifie les régions de l'image où l'intensité change
rapidement, ce qui correspond généralement aux bords et aux contours.
2. Réduction du bruit : Avant d'appliquer l'algorithme de Canny, il est
recommandé de réduire le bruit de l'image. Cela peut être réalisé en utilisant
des techniques telles que la réduction de taille, la conversion en niveaux de
gris et l'application d'un filtre bilatéral, comme expliqué précédemment. Cette
étape permet d'obtenir une image plus propre et facilite la détection des
contours précis.
3. Détection des contours : L'algorithme de Canny utilise plusieurs étapes pour
détecter les contours significatifs :
o Gradient de l'image : Il calcule le gradient de l'image en utilisant des
opérateurs de dérivation pour obtenir les changements d'intensité dans
les directions horizontale et verticale.
o Suppression des non-maximaux : Les pixels qui ne correspondent
pas à des maxima locaux dans la direction du gradient sont supprimés
pour obtenir des contours plus fins.

5
o Seuillage par hystérésis : Un seuillage est appliqué pour sélectionner
les pixels qui sont susceptibles d'appartenir à des contours. Un seuil
supérieur et un seuil inférieur sont utilisés pour déterminer les pixels qui
sont certainement des contours et ceux qui pourraient être des
contours selon leur connexion aux pixels déjà sélectionnés.

La fonction cv2.Canny(gray_image, 30, 200) est utilisée pour appliquer l'algorithme


de Canny à l'image en niveaux de gris. Les paramètres de la fonction définissent
respectivement les seuils inférieur (30) et supérieur (200) pour la détection des
contours.

En résumé, l'algorithme de Canny permet de détecter les contours significatifs d'une


image en se basant sur les variations d'intensité. Cette étape est essentielle pour
localiser les contours des objets d'intérêt dans l'image et préparer les étapes
ultérieures de traitement et d'analyse.

2) Recherche des contours dans l'image et sélection des plus grands


contours

Après avoir appliqué l'algorithme de Canny pour détecter les contours dans une
image, la prochaine étape consiste à rechercher les contours présents et à
sélectionner les plus grands contours. Voici comment cette étape fonctionne :

1. Recherche des contours : L'opération de recherche des contours est


effectuée à l'aide de la fonction cv2.findContours() dans OpenCV. Cette
fonction prend en entrée l'image où les contours ont été détectés (dans votre
code, l'image est edged) et retourne une liste de contours trouvés.
2. Tri des contours par aire : Une fois que les contours sont identifiés, ils
peuvent être triés en fonction de leur aire (surface) en utilisant la fonction
cv2.contourArea(). L'aire d'un contour donne une indication de sa taille et de
son importance relative. En triant les contours par aire de manière
décroissante, nous pouvons obtenir les contours les plus grands en premier
dans la liste.

Dans votre code, la ligne cnts = sorted(cnts, key=cv2.contourArea,


reverse=True)[:30] effectue ce tri en utilisant la fonction sorted() avec
cv2.contourArea comme clé de tri. Elle sélectionne les 30 plus grands
contours dans l'ordre décroissant de leur aire.

3. Sélection des plus grands contours : Une fois les contours triés, vous
pouvez itérer à travers la liste des contours pour les analyser individuellement.
Dans votre code, vous utilisez une boucle for pour parcourir les contours dans
cnts.

À l'intérieur de la boucle, vous pouvez appliquer des critères de sélection


supplémentaires pour choisir les contours les plus pertinents pour votre tâche.
Par exemple, vous pouvez vérifier le nombre d'approximations polygonales
(approx) pour s'assurer que le contour correspond à une forme quadrilatérale
(comme une plaque d'immatriculation). Si les critères sont satisfaits, vous
pouvez sélectionner ce contour pour un traitement ultérieur.

6
Dans votre code, vous utilisez la condition if len(approx) == 4 pour vérifier si le
contour a 4 approximations polygonales, ce qui indique une forme
quadrilatérale. Si la condition est satisfaite, le contour est sélectionné en tant
que screenCnt.

La recherche des contours dans l'image et la sélection des plus grands contours
permettent de localiser les régions d'intérêt qui pourraient correspondre à des
plaques d'immatriculation. En triant les contours par aire, vous pouvez identifier les
contours les plus grands qui ont plus de chances d'être les plaques d'immatriculation
recherchées. La sélection des contours peut être basée sur des critères
supplémentaires, tels que la forme et les caractéristiques spécifiques aux plaques
d'immatriculation.

3.3 Identification de la plaque d'immatriculation

1) Utilisation de l'approximation des polygones pour identifier les contours


rectangulaires correspondant à une plaque d'immatriculation

Après avoir obtenu les contours détectés dans une image, une étape cruciale
consiste à identifier les contours qui correspondent à des plaques d'immatriculation.
Pour cela, on utilise l'approximation des polygones pour trouver des contours
rectangulaires ou quadrilatéraux.

1. Approximation des polygones : L'approximation des polygones est une


technique qui permet d'approximer un contour complexe par une forme plus
simple, telle qu'un polygone. Dans votre code, vous utilisez la fonction
cv2.approxPolyDP() pour approximer les contours. Cette fonction prend en
entrée le contour d'origine et un paramètre epsilon qui contrôle la précision de
l'approximation.
2. Sélection des contours rectangulaires : Une fois que l'approximation des
polygones est réalisée, on peut vérifier si les contours obtenus sont
rectangulaires ou quadrilatéraux, car les plaques d'immatriculation ont
généralement une forme rectangulaire. Dans votre code, vous utilisez la
condition if len(approx) == 4 pour vérifier si le contour approximé a 4
sommets, ce qui indique une forme quadrilatérale. Si cette condition est
satisfaite, le contour est considéré comme un candidat potentiel pour une
plaque d'immatriculation.
3. Sélection du contour final : Parmi les contours identifiés comme des
candidats de plaque d'immatriculation, on peut choisir le contour final qui sera
utilisé pour extraire le texte. Dans votre code, vous sélectionnez le premier
contour satisfaisant les critères en utilisant la déclaration screenCnt = approx.
Ce contour est ensuite utilisé pour extraire la zone d'intérêt correspondant à la
plaque d'immatriculation.

L'utilisation de l'approximation des polygones permet de simplifier les contours


complexes en formes plus simples, ce qui facilite la détection des contours
rectangulaires correspondant aux plaques d'immatriculation. Cette étape de sélection
des contours rectangulaires constitue une étape clé dans le processus global de
détection des plaques d'immatriculation.

7
2) Extraction de la région d'intérêt (ROI) contenant la plaque
d'immatriculation

Une fois que le contour rectangulaire correspondant à la plaque d'immatriculation a


été identifié, l'étape suivante consiste à extraire la région d'intérêt (ROI) qui contient
cette plaque. Cela permet d'isoler la plaque d'immatriculation du reste de l'image
pour faciliter la reconnaissance des caractères.

Dans votre code, vous utilisez les coordonnées de la zone délimitée par le contour
rectangulaire pour extraire la ROI à partir de l'image d'origine. Voici les étapes
générales pour extraire la ROI :

1. Obtention des coordonnées de la zone délimitée par le contour : À partir


du contour rectangulaire identifié, vous pouvez obtenir les coordonnées du
rectangle englobant en utilisant la fonction cv2.boundingRect(c) où c
représente le contour. Les coordonnées retournées sont la position (x, y) du
coin supérieur gauche du rectangle et sa largeur (w) et hauteur (h).
2. Extraction de la région d'intérêt (ROI) : À partir des coordonnées du
rectangle englobant, vous pouvez extraire la ROI de l'image d'origine. Dans
votre code, vous utilisez la syntaxe new_img = image[y:y + h, x:x + w] pour
extraire la région correspondant à la plaque d'immatriculation.

Une fois que vous avez extrait la ROI, vous pouvez appliquer des opérations
supplémentaires, telles que la binarisation ou le prétraitement, si nécessaire, pour
améliorer la lisibilité du texte de la plaque.

L'extraction de la ROI permet de se concentrer uniquement sur la zone de la plaque


d'immatriculation, ce qui simplifie le processus de reconnaissance optique des
caractères (OCR) ultérieur.

3.4 Reconnaissance optique de caractères (OCR)

1) Application de l'OCR sur la ROI pour extraire le texte de la plaque


d'immatriculation

Après avoir extrait la région d'intérêt (ROI) contenant la plaque d'immatriculation,


l'étape suivante consiste à appliquer l'OCR (Reconnaissance Optique de Caractères)
sur cette région pour extraire le texte de la plaque d'immatriculation. L'OCR est une
technologie qui permet de reconnaître et d'interpréter automatiquement les
caractères imprimés ou écrits à la main dans une image ou un document.

Dans notre code, nous utilisons la bibliothèque Tesseract OCR, qui est l'une des
bibliothèques OCR les plus populaires et largement utilisées. Nous configurons
d'abord le chemin d'accès à l'exécutable Tesseract OCR à l'aide de la ligne
suivante :

« pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR\\


tesseract' »

8
Ensuite, nous utilisons la fonction image_to_string de Tesseract OCR pour extraire le
texte de la ROI. Dans notre exemple, nous avons utilisé la configuration suivante
pour l'OCR :

« plate = pytesseract.image_to_string(Cropped_loc, config='--psm 7 --oem 3 -c


tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') »

Dans cette configuration, nous utilisons le mode de segmentation de page (--psm 7)


pour traiter la ROI comme un seul bloc de texte. Nous utilisons également le modèle
OCR par défaut (--oem 3) et spécifions une liste blanche de caractères autorisés
(tessedit_char_whitelist) pour limiter la reconnaissance aux lettres majuscules de
l'alphabet et aux chiffres.

Enfin, nous obtenons le texte extrait de la plaque d'immatriculation en utilisant la


variable plate.

Il convient de noter que selon le pays ou la région, les paramètres de configuration


de l'OCR peuvent varier pour obtenir de meilleurs résultats. Il est souvent nécessaire
d'expérimenter avec différentes configurations pour s'adapter aux spécificités des
plaques d'immatriculation du pays concerné.

2) Configuration de l'OCR pour restreindre la reconnaissance aux


caractères attendus

Lors de l'application de l'OCR sur la région d'intérêt (ROI) contenant la plaque


d'immatriculation, il est souvent nécessaire de configurer l'OCR de manière à
restreindre la reconnaissance aux caractères attendus, afin d'améliorer la précision
de la reconnaissance.

Nous utilisons la configuration suivante pour limiter la reconnaissance aux caractères


attendus :

« plate = pytesseract.image_to_string(Cropped_loc, config='--psm 7 --oem 3 -c


tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789') »

Dans cette configuration, nous utilisons l'option tessedit_char_whitelist pour spécifier


une liste blanche de caractères autorisés. Dans l'exemple donné, nous restreignons
la reconnaissance aux lettres majuscules de l'alphabet (A-Z) et aux chiffres (0-9).
Cela permet de filtrer les autres caractères indésirables et de ne reconnaître que les
caractères attendus d'une plaque d'immatriculation.

Il est important de noter que la configuration de l'OCR peut varier en fonction du pays
ou de la région concernée, car les formats et les caractères des plaques
d'immatriculation peuvent différer. Vous devrez adapter la liste blanche des
caractères autorisés en fonction des caractéristiques spécifiques des plaques
d'immatriculation de votre pays ou région.

En expérimentant avec différentes configurations et en ajustant la liste blanche des


caractères autorisés, vous pouvez améliorer la précision de l'OCR et obtenir de
meilleurs résultats dans l'extraction du texte de la plaque d'immatriculation.

9
3.Implémentation et résultats
1) Description de l'implémentation du projet

L'implémentation du projet de détection de plaques d'immatriculation consiste en


plusieurs étapes clés, qui sont les suivantes :

1. Chargement de l'image : Tout d'abord, l'image contenant les véhicules et les


plaques d'immatriculation est chargée à l'aide d'une bibliothèque de traitement
d'images telle que OpenCV. L'image peut être au format JPEG, PNG ou tout
autre format courant.
2. Prétraitement de l'image : Pour faciliter la détection des plaques
d'immatriculation, plusieurs étapes de prétraitement sont appliquées à l'image.
Cela peut inclure la réduction de la taille de l'image pour améliorer les
performances, la conversion de l'image en niveaux de gris pour simplifier le
traitement, l'application de filtres pour réduire le bruit et l'utilisation de
l'algorithme de Canny pour détecter les contours significatifs.
3. Détection des contours : À l'aide de l'algorithme de détection de contours, tels
que la méthode de la recherche des contours de contourArea, les contours
significatifs de l'image sont identifiés. Les contours les plus grands sont
généralement sélectionnés car ils correspondent probablement à des plaques
d'immatriculation.
4. Approximation des polygones : L'approximation des polygones est utilisée
pour identifier les contours rectangulaires qui correspondent à une plaque
d'immatriculation. Cela permet de filtrer les autres contours non pertinents et
de se concentrer sur la région d'intérêt (ROI) qui contient la plaque
d'immatriculation.
5. Extraction de la ROI : La région d'intérêt (ROI) contenant la plaque
d'immatriculation est extraite de l'image en utilisant les coordonnées du
contour rectangulaire identifié précédemment. Cela permet d'isoler la plaque
d'immatriculation du reste de l'image pour une analyse ultérieure.
6. Reconnaissance optique de caractères (OCR) : L'OCR est utilisée pour
extraire le texte de la plaque d'immatriculation à partir de la ROI. La
bibliothèque PyTesseract est utilisée pour effectuer cette tâche. Des
configurations spécifiques peuvent être appliquées pour restreindre la
reconnaissance aux caractères attendus sur la plaque d'immatriculation,
améliorant ainsi la précision de la reconnaissance.
7. Affichage des résultats : Les résultats obtenus, tels que l'image originale avec
la plaque d'immatriculation détectée et le texte extrait de la plaque, peuvent
être affichés à des fins de visualisation ou de traitement ultérieur.

10
2) Présentation des images de test utilisées

Pour la détection de plaques d'immatriculation, des images de test appropriées


doivent être utilisées pour évaluer les performances du système. Les images de test
doivent être représentatives de différentes situations réelles et doivent inclure des
véhicules avec des plaques d'immatriculation clairement visibles.Voici une
présentation générale des types d'images de test qui peuvent être utilisées :

1. Images de véhicules divers : Les images de test devraient inclure différents


types de véhicules tels que des voitures, des motos, des camions, etc. Cela
permet de vérifier si le système est capable de détecter les plaques
d'immatriculation dans différentes tailles et formes.
2. Différentes conditions d'éclairage : Les images de test doivent couvrir une
gamme de conditions d'éclairage, y compris la lumière du jour, les scènes
ensoleillées, les conditions de faible luminosité et même les scènes de nuit.
Cela permet de vérifier si le système est robuste et fonctionne correctement
dans des environnements d'éclairage variés.
3. Variations de l'angle de vue : Les images de test doivent inclure des véhicules
avec des plaques d'immatriculation prises sous différents angles de vue, tels
que des angles frontaux, des angles obliques, des angles de haut en bas, etc.
Cela permet de tester la capacité du système à détecter et à extraire
correctement les plaques d'immatriculation, indépendamment de l'angle de
vue.
4. Plaques d'immatriculation diverses : Les images de test doivent couvrir une
variété de plaques d'immatriculation provenant de différents pays ou régions.
Les plaques d'immatriculation peuvent différer par leur format, leur police,
leurs couleurs et leurs caractéristiques spécifiques. Cela permet de s'assurer
que le système est capable de reconnaître et de traiter différentes variantes
de plaques d'immatriculation.

3) Affichage des résultats obtenus

L'affichage des résultats obtenus dans le projet de détection de plaques


d'immatriculation peut se faire de différentes manières, en fonction des besoins et
des préférences spécifiques. Voici quelques suggestions pour l'affichage des
résultats :

1. Affichage de l'image originale : L'image originale peut être affichée en premier


pour permettre une comparaison visuelle avec les résultats obtenus. Cela
permet de voir l'image dans son intégralité et de comprendre le contexte de la
détection de la plaque d'immatriculation.
2. Affichage des contours détectés : Les contours détectés peuvent être
superposés sur l'image originale pour visualiser les régions identifiées comme
des plaques d'immatriculation potentielles. Cela permet de voir les zones
d'intérêt identifiées par l'algorithme de détection.
3. Affichage de la région d'intérêt (ROI) : La ROI contenant la plaque
d'immatriculation peut être affichée séparément pour mettre en évidence la
zone précise qui a été extraite pour l'OCR. Cela permet de se concentrer sur
la plaque d'immatriculation et de vérifier si la région a été correctement isolée.

11
4. Affichage du texte extrait : Le texte extrait à partir de la plaque
d'immatriculation peut être affiché pour visualiser le résultat de l'OCR. Il peut
être affiché sous forme de texte brut ou superposé à l'image de la plaque
d'immatriculation pour une meilleure compréhension.
5. Affichage des résultats sur plusieurs images : Si vous disposez d'un ensemble
d'images de test, les résultats obtenus peuvent être affichés sur chaque image
individuellement. Cela permet de visualiser les performances du système de
détection de plaques d'immatriculation sur différentes scènes et conditions
d'éclairage.

12
CONCLUSION

Le projet de détection de plaques d'immatriculation a été réalisé avec succès en


utilisant une combinaison de techniques de traitement d'images et de
reconnaissance optique de caractères (OCR). L'objectif principal du projet était de
détecter les plaques d'immatriculation dans des images et d'extraire le texte
correspondant.

Le processus de traitement d'images comprenait des étapes telles que la réduction


de la taille de l'image, la conversion en niveaux de gris, l'application d'un filtre
bilatéral pour réduire le bruit, et l'utilisation de l'algorithme de Canny pour trouver les
contours significatifs. Les contours les plus importants ont ensuite été sélectionnés,
et l'approximation des polygones a été utilisée pour identifier les contours
rectangulaires correspondant aux plaques d'immatriculation.

Une fois la plaque d'immatriculation détectée, une région d'intérêt (ROI) a été
extraite, et l'OCR a été appliqué sur cette ROI pour extraire le texte de la plaque
d'immatriculation. Des configurations spécifiques de l'OCR ont été utilisées pour
restreindre la reconnaissance aux caractères attendus, améliorant ainsi la précision
de l'extraction du texte.

Les résultats obtenus ont été analysés en évaluant la précision de la détection des
plaques d'immatriculation, l'exactitude de l'extraction du texte, la robustesse aux
variations de conditions et le temps de traitement. Les performances du système ont
été satisfaisantes, avec des taux de détection et de reconnaissance acceptables
dans la plupart des scénarios.

Cependant, certaines améliorations peuvent être envisagées pour améliorer les


performances du système, notamment en optimisant les paramètres de traitement
d'images, en explorant des approches alternatives pour la détection des contours et
en utilisant des techniques de post-traitement pour améliorer la qualité du texte
extrait.

En résumé, le projet de détection de plaques d'immatriculation a permis de


développer un système fonctionnel capable de détecter les plaques d'immatriculation
dans des images et d'extraire le texte correspondant. Ce projet ouvre la voie à de
nombreuses applications potentielles, telles que la gestion du stationnement, la
surveillance de la circulation et la sécurité routière. Des améliorations continues
peuvent être apportées pour renforcer les performances du système et le rendre
encore plus précis et robuste.

13

Vous aimerez peut-être aussi