Developpement Dune Application de Detection
Developpement Dune Application de Detection
Developpement Dune Application de Detection
Département d’Informatique
Thème
Développement d'une application de
détection et de reconnaissance de plaques
d'immatriculation(LAPIA)
Réalisé par :
- NOR Imane.
- SIDHOUM Souad.
NOR Imane
Dédicaces
Je dédie ce mémoire
encouragements.
En témoignage de la fraternité,
Rachid.
Sans oublier tous les professeurs et à tous ceux qui m’ont aidé à
SIDHOUM Souad
Sommaire
Remerciements ................................................................................................ 2
Sommaire ........................................................................................................ 5
Liste des figures ............................................................................................... 8
INTRODUCTION GENERALE .............................................................................. 9
Introduction générale .....................................................................................10
1.Etat de l’art ..................................................................................................14
1.1 Introduction .................................................................................................... 15
1.2 Lecture automatique de plaques d’immatriculation...................................... 15
1.2.1 Caractéristiques des plaques algériennes ................................................ 16
1.2.2 La technique de la reconnaissance optique de caractères ...................... 17
1.3 Algorithmes du système LAPI ......................................................................... 17
1.4 Difficultés des systèmes LAPI ......................................................................... 18
1.5 Applications des systèmes LAPI ...................................................................... 18
1.6 Les différents systèmes existants ................................................................... 19
1.6.1 AutoVu ...................................................................................................... 19
1.6.2 Avantages d'AutoVu ................................................................................. 19
1.6.3 LAPI ENGINE ............................................................................................. 19
1.6.4 SeeTec ...................................................................................................... 19
1.6.5 Asia Vision Technology Limited (AVT) ...................................................... 20
1.6.6 AGL (Application de Gestion LAPI) ........................................................... 20
1.6.7 Système LAPI-Pryncar............................................................................... 21
1.7 Conclusion ...................................................................................................... 21
2.Traitement d’images ....................................................................................23
2.1 Introduction .................................................................................................... 24
2.2 Définition du traitement d’images ................................................................. 24
2.3 Image .............................................................................................................. 25
2.4 Représentation d’image ................................................................................. 25
5
2.4.1 Image matricielle ...................................................................................... 26
2.4.2 Image vectorielle ...................................................................................... 26
2.5 Acquisition d'une image ................................................................................. 26
2.6 Caractéristiques d’une image numérique ...................................................... 26
2.6.1 Dimension................................................................................................. 27
2.6.2 Résolution................................................................................................. 27
2.6.3 Bruit .......................................................................................................... 27
2.6.4 Histogramme ............................................................................................ 27
2.6.5 Luminance ................................................................................................ 27
2.6.6 Contraste .................................................................................................. 28
2.6.7 Images à niveaux de gris .......................................................................... 28
2.6.8 Image en couleurs .................................................................................... 28
2.7 Principales étapes de traitement d’images .................................................... 29
2.7.1 Prétraitements ......................................................................................... 29
2.7.2 Amélioration d'image ............................................................................... 29
2.7.3 Analyse d'image ....................................................................................... 30
2.8 Types de données manipulée ......................................................................... 30
2.9 Opérateurs de traitement d’image ................................................................ 31
2.9.1 Opérateurs locaux .................................................................................... 32
2.9.2 Filtres linéaires ......................................................................................... 33
2.9.3 Opérateurs morphologiques .................................................................... 35
2.9.4 Construction d’une application de traitement d’images ......................... 35
2.10 Reconnaissance d’objets ............................................................................. 35
2.11 Quelque exemples concrets de traitement d’image .................................. 36
2.12 Conclusion ................................................................................................... 38
3. Outils de développement du système LAPIA ...............................................39
3.1 Introduction .................................................................................................... 40
3.2 Outils de développement ............................................................................... 40
3.2.1 Maven....................................................................................................... 40
3.2.2 Github ....................................................................................................... 41
3.2.3 Swing ........................................................................................................ 41
6
3.2.4 OpenCV..................................................................................................... 42
3.3 Techniques et outils de Reconnaissance Optique des Caractères (OCR) ....... 43
3.3.1 Tess4j ........................................................................................................ 43
3.4 Conclusion ...................................................................................................... 44
4.IMPLEMENTATION DU SYSTEME LAPIA .......................................................45
4.1 Introduction .................................................................................................... 46
4.2 Architecture de notre système LAPIA ............................................................ 46
4.3 Les interfaces de l’application ........................................................................ 47
4.3.1 Le formulaire principal ............................................................................. 47
4.3.2 Phase de traitement d’image ................................................................... 48
4.3.3 Phase pour la détection des contours...................................................... 51
4.3.4 Phase de lecture OCR ............................................................................... 55
4.4 Conclusion ...................................................................................................... 58
CONCLUSION GENERALE .................................................................................59
Conclusion générale .......................................................................................60
Références Bibliographiques ...........................................................................61
Webographie ..................................................................................................62
Résumé ...........................................................................................................63
Abstract ..........................................................................................................63
ملــــخـــــص........................................................................................................63
7
Liste des figures
Figure 1 : la chaine de transformation pour obtenir les caractères ASCII. ..................... 15
Figure 2 : Exemple de plaque d’immatriculation Algérienne ......................................... 16
Figure 3 : Différents types d’images. .............................................................................. 25
Figure 4 : architecture du système LAPI. ........................................................................ 46
Figure 5 : Formulaire principale ...................................................................................... 47
Figure 6 : Phase de traitement d’image. ......................................................................... 48
Figure 7 : Fenêtre chargement d’image. ......................................................................... 49
Figure 8 : Lecture direct de la plaque ............................................................................. 49
Figure 9 : a-Image originale b-Image avec diminution du bruit .................................... 50
Figure 10 : Fenêtre Conversion de l’image en niveau de gris. ........................................ 51
Figure 11 : Etapes de la détection. .................................................................................. 51
Figure 12 : Fenêtre transformation en binaire. .............................................................. 52
Figure 13 : Fenêtre transformation de Canny................................................................. 53
Figure 14 : fenêtre de dilatation ..................................................................................... 54
Figure 15 : Fenêtre d’érosion. ......................................................................................... 54
Figure 16 : Fenêtre de délimitation. ............................................................................... 55
Figure 17 : Phase de lecture OCR. ................................................................................... 55
Figure 18 : Fenêtre de transformation en binaire pour l’OCR. ....................................... 56
Figure 19: Fenêtre de dilatation et érosion OCR…………………………………………………………56
Figure 20 : Fenêtre de lecture OCR. ................................................................................ 57
8
INTRODUCTION GENERALE
9
Introduction générale
Contexte
Le numéro d’immatriculation représente un moyen efficace pour identifier les
véhicules. Il s’agit d’une information unique pour chaque voiture.
Fréquemment, il est nécessaire d’identifier les plaques d’immatriculation des
véhicules pour la sécurité. Les informations extraites peuvent être utilisées pour plusieurs
intérêts, comme le contrôle d’accès et de flux, la surveillance des passages aux frontières et
aux péages, la recherche de véhicules suspects ou encore la lutte contre la criminalité, etc.
Ceci rend leurs lectures cruciale et inévitable dans tous ces domaines.
Dans notre projet, nous nous intéressons à la reconnaissance et la lecture
automatique de plaques d’immatriculation à partir de captures d’images prises sur le devant
ou à l’arrière des véhicules.
Problématique et objectif
La vraie problématique pour identifier des plaques d’immatriculation réside dans le
fait de pouvoir faire de la reconnaissance optique de caractères sur une petite partie
d’image extraite de séquences enregistrées, souvent dans des conditions de grande vitesse
et de faible luminosité. De plus, le fait de ne disposer que de très peu d’images hautes
définition par seconde sur la plupart des caméras vidéo entraîne un manque de netteté lors
de la capture de ces images. Pour cela, il faut procéder à un prétraitement de ces images à
la détection des contours, pour permettre une reconnaissance optique assez fiable des
caractères.
Ce que nous visons à travers notre travail est de faciliter la tâche, d'identification des
caractères du matricule en exploitant les avantages que peux offrir le traitement d’image. *1+
Pour cela, nous avons développé une application qui consiste à réaliser des prétraitements,
la détection et la lecture automatique des caractères.
10
Plan de mémoire
Pour cela, nous avons décomposé notre mémoire comme suit :
Le premier chapitre, nous commencerons par définir la lecture automatique de
plaques d’immatriculation.
Après ceci, nous allons présenter les algorithmes qui doivent être réalisés pour que
le logiciel puisse identifier une plaque d'immatriculation et les difficultés qui en résultent.
Nous finirons ce chapitre par quelques exemples de systèmes existants.
Dans le deuxième chapitre, nous allons présenter une étude sur le traitement
d’images et les notions de base nécessaires à la compréhension de ces techniques.
Le troisième chapitre, nous avons présenté un certain nombre d'outils que nous
avons utilisés pour réaliser notre travail.
Le quatrième et dernier chapitre, nous présenterons l’implémentation détaillée de
l’application en expliquant les interfaces graphiques de notre système.
Nous terminerons ce mémoire par une conclusion générale et des perspectives.
11
12
13
Chapitre1 Etat de l’art
1 .Etat de l’art
Chapitre 1 Etat de l’art
1.1 Introduction
Nous commencerons ce chapitre par une définition de la Lecture Automatique de
Plaques d’Immatriculation (LAPI) et la technique de la reconnaissance de caractères. Après
ceci, nous allons présenter les applications LAPI. Nous finirons ce chapitre par exposer
quelques exemples de systèmes LAPI.
15
Chapitre 1 Etat de l’art
La plaque a une forme de rectangulaire, Le style des caractères varie d’une plaque à
l’autre et la distance entre les caractères n’est pas standardisé, Elle dépend du
constructeur de la plaque.
Les plaques sont blanches (à l’avant), jaunes (à l’arrière) et la couleur des caractères
est noire.
16
Chapitre 1 Etat de l’art
Basé sur les caractéristiques ci-dessus, nous proposons, dans la section suivante, la
technique utilisée dans ce système pour la reconnaissance optique de caractères.
17
Chapitre 1 Etat de l’art
Une mauvaise résolution de l'image, souvent parce que la plaque est trop loin, mais
parfois à cause de l'utilisation d'une caméra de mauvaise qualité.
Des images floues, souvent à cause du mouvement, très fréquentes sur les
installations mobiles.
Un mauvais éclairage et un faible contraste à cause d'une surexposition, d'un reflet,
ou d'ombres.
Un objet obscurcissant une partie de la plaque, souvent une barre de remorquage,
ou de la poussière sur la plaque.
Une police de caractère trop originale, chose fréquente sur les plaques fantaisie
(certains pays interdisent de telles plaques, ce qui élimine le problème).
18
Chapitre 1 Etat de l’art
1.6.3.1 Avantages
Possibilité de crypter les données (images et n° plaques) avec un système de
gestion de clé unique.
Lecture de tous types de plaques réfléchissantes aux infrarouges ou non.
Maintenance et intervention sur tout le territoire Français (Télé-maintenance
possible).
Moteur LAPI fonctionnant sur Windows, Linux.
1.6.4 SeeTec
Est un module d'extension de SeeTec Cayuga qui permet la reconnaissance
automatique de plaques d'immatriculation de véhicules à l'arrêt ou en mouvement. [5]
19
Chapitre 1 Etat de l’art
1.6.4.1 Avantages
Il peut lire des formats de plaques internationaux, même en caractères arabes et
cyrilliques, jusqu'à huit voies de circulation par serveur.
la reconnaissance des plaques d'immatriculation s'effectue en continu ou est pilotée
par un déclencheur.
SeeTec peut être utilisé avec chaque caméra IP prise en charge par SeeTec et
intégrée au système. Même dans des conditions de luminosité difficiles.
1.6.5 Asia Vision Technology Limited (AVT)
Est le premier fournisseur mondial de solutions technologiques et de solutions de
gestion intelligente des véhicules et des conteneurs. AVT a été un pionnier dans le
développement et la fourniture de la technologie de reconnaissance optique de caractères
(OCR). [6]
20
Chapitre 1 Etat de l’art
Elle permet d’acquérir des données, et de les utiliser sur le terrain. Elle est relié d’une
part aux services nationaux, aux prestataires tiers, aux services locaux des collectivités et
d’autre part aux systèmes AGL Capture.
Nous avons trouvée beaucoup systèmes, nous avons citée quelques-un d’entre elles
et ses différents systèmes proposés sont basés sur des propriétés différentes. Des
techniques utilisent des règles simples basées sur des méthodes existantes pour la détection
et la reconnaissance des plaques d’immatriculation.
1.7 Conclusion
Nous avons vu dans ce chapitre la notion de Lecture Automatique de Plaques
Minéralogique et ses différents algorithmes qui doivent être réalisés pour que le logiciel
puisse identifier une plaque d'immatriculation et les difficultés qui en résultent. Comme
nous le verrons quelques exemples de système existants.
21
Chapitre 1 Etat de l’art
Le chapitre suivant détaillera les techniques de traitement d’images utilisées dans les
systèmes LAPI.
22
Chapitre1 Etat de l’art
2 .Traitement d’images
Chapitre2 Traitement d’images
2.1 Introduction
Le traitement d’images est un domaine très vaste qui a connu, et qui connaît encore,
un développement important depuis quelques dizaines d’années.
Nous ayons désignée par traitement d'images numériques l'ensemble des techniques
permettant de modifier une image numérique afin d'améliorer ou d'en extraire des
informations.
Dans ce chapitre, nous abordons les notions de base nécessaires à la compréhension
des techniques de traitement d’images. Ensuite, nous allons donner un aperçu sur les
différentes techniques connues dans ce domaine.
Quelques exemple de types d'informations qu'il est possible d'obtenir d'une image
numérique :
La luminance moyenne.
Le contraste moyen.
24
Chapitre2 Traitement d’images
La couleur prédominante.
Le taux d'acuité moyen (précis ou flou).
Le taux d'uniformité des couleurs.
La présence ou l'absence de certains objets.
2.3 Image
Une image est avant tout un signal 2D (x, y), qui représente souvent une réalité 3D
(x, y, z). D'un point de vue mathématique, une image est une matrice de nombres
représentant un signal, plusieurs outils permettent de manipuler ce signal. [10]
Il existe trois principaux types d'images :
1. Les images binaires (uniquement en noir et blanc) et dont la valeur soit 0 soit 1.
2. Les images en niveaux de gris, dont la valeur appartient à l’ensemble ,0,1,…,255-.
3. Les images couleurs.
Les images numériques, destinées à être visualisées sur les écrans d'ordinateur, se
divisent en 2 grandes classes : [11]
25
Chapitre2 Traitement d’images
Par exemple, une image vectorielle d’un cercle est définie par des attributs de types :
position du centre, rayon, etc.…
26
Chapitre2 Traitement d’images
2.6.1 Dimension
C’est la taille de l’image. Cette dernière se présente sous forme de matrice dont les
éléments sont des valeurs numériques représentatives des intensités lumineuses (pixels). Le
nombre de lignes de cette matrice multiplié par le nombre de colonnes nous donne le
nombre total de pixels dans une image.
2.6.2 Résolution
C’est la clarté ou la finesse de détails atteinte par un moniteur ou une imprimante
dans la production d’images. Sur les moniteurs d’ordinateurs, la résolution est exprimée en
nombre de pixels par unité de mesure (pouce ou centimètre). Nous utilisons aussi le mot
résolution pour désigner le nombre total de pixels affichables horizontalement ou
verticalement sur un moniteur; plus grand est ce nombre, meilleure est la résolution.
2.6.3 Bruit
Un bruit (parasite) dans une image est considéré comme un phénomène de brusque
variation de l’intensité d’un pixel par rapport à ses voisins, il provient de l’éclairage des
dispositifs optiques et électroniques du capteur.
2.6.4 Histogramme
L’histogramme des niveaux de gris ou des couleurs d’une image est une fonction qui
donne la fréquence d’apparition de chaque niveau de gris (couleur) dans l’image. Il permet
de donner un grand nombre d’information sur la distribution des niveaux de gris (couleur) et
de voir entre quelles bornes est repartie la majorité des niveaux de gris (couleur) dans le cas
d’une image trop claire ou d’une image trop foncée.
Il peut être utilisé pour améliorer la qualité d’une image (Rehaussement d’image) en
introduisant quelques modifications, pour pouvoir extraire les informations utiles de celle-ci.
Pour diminuer l’erreur de quantification, pour comparer deux images obtenues sous
des éclairages différents, ou encore pour mesurer certaines propriétés sur une image, on
modifie souvent l’histogramme correspondant.
2.6.5 Luminance
C’est le degré de luminosité des points de l’image. Elle est définie aussi comme étant
le quotient de l’intensité lumineuse d’une surface par l’aire apparente de cette surface, pour
27
Chapitre2 Traitement d’images
un observateur lointain, le mot luminance est substitué au mot brillance, qui correspond à
l’éclat d’un objet. Une bonne luminance se caractérise par :
Des images lumineuses (brillantes).
Un bon contraste: il faut éviter les images où la gamme de contraste tend vers le
blanc ou le noir, ces images entraînent des pertes de détails dans les zones sombres
ou lumineuses.
L’absence de parasites.
2.6.6 Contraste
C’est l’opposition marquée entre deux régions d’une image, plus précisément entre
les régions sombres et les régions claires de cette image. Le contraste est défini en fonction
des luminances de deux zones d’images.
2.6.7 Images à niveaux de gris
Le niveau de gris est la valeur de l’intensité lumineuse en un point. La couleur du
pixel peut prendre des valeurs allant du noir au blanc en passant par un nombre fini de
niveaux intermédiaires. Donc pour représenter les images à niveaux de gris, nous pouvons
attribuer à chaque pixel de l’image une valeur correspondant à la quantité de lumière
renvoyée. Cette valeur peut être comprise par exemple entre 0 et 255. Chaque pixel n’est
donc plus représenté par un bit, mais par un octet. Pour cela, il faut que le matériel utilisé
pour afficher l’image soit capable de produire les différents niveaux de gris correspondant.
Le nombre de niveaux de gris dépend du nombre de bits utilisés pour décrire la
"couleur" de chaque pixel de l’image. Plus ce nombre est important, plus les niveaux
possibles sont nombreux.
2.6.8 Image en couleurs
Même s’il est parfois utile de pouvoir représenter des images en noir et blanc, les
applications multimédias utilisent le plus souvent des images en couleurs. La représentation
des couleurs s’effectue de la même manière que les images monochromes avec cependant
quelques particularités. En effet, il faut tout d’abord choisir un modèle de représentation.
Nous pouvons représenter les couleurs à l’aide de leurs composantes primaires. Les
systèmes émettant de la lumière (écrans d’ordinateurs,...) sont basés sur le principe de la
28
Chapitre2 Traitement d’images
synthèse additive: les couleurs sont composées d’un mélange de rouge, vert et bleu (modèle
R.V.B).
29
Chapitre2 Traitement d’images
Le filtrage linéaire (lissage, mise en évidence des frontières avec l'opérateur "Image -
Image lissée", etc.) et transformée de Fourier pour faire apparaître / disparaître
certaines fréquences dans l'image.
Filtrage non linéaire (filtres médians, etc.) pour éliminer le bruit sans trop affecter les
frontières, etc.
30
Chapitre2 Traitement d’images
Dans le cas des images 3D d'IRM, la représentation n'est plus un tableau à 2 dimensions mais
un tableau à 3 dimensions.
2.9 Opérateurs de traitement d’image
Par analogie avec les opérateurs mathématiques, on appelle opérateurs de
traitement d'images des traitements plus ou moins complexes prenant en entrée une image
ou un ensemble d'informations relatif à une image, et produisant une image ou un ensemble
d'informations relatif aux données initiales.
Nous avons classé généralement les opérateurs en différentes familles, en fonction
des informations qu'ils acceptent en entrée et qu'ils fournissent en sortie, et en fonction des
transformations qu'ils font subir aux données. Ainsi, par exemple, on distingue (cette liste
est loin d'être exhaustive) : [10]
31
Chapitre2 Traitement d’images
32
Chapitre2 Traitement d’images
La segmentation de région.
La segmentation de contour : nous nous trouvons alors confronté à un problème de
représentation du résultat par des primitives simples.
2.9.2.1 Lissage
Ceux-ci sont des filtres passe-bas qui coupent plus ou moins les plus hautes
fréquences. Ils sont utilisés pour atténuer les bruits d'origines les plus diverses qui polluent
l'information, en particulier dans la détection de contours considérée ci-après.
Techniquement, il s'agit de traductions discrètes de filtres continus qui, comme ceux-
ci, ne modifient pas le niveau global du signal. Les termes de la matrice de convolution sont
donc généralement des entiers à diviser par leur somme.
33
Chapitre2 Traitement d’images
Filtre dérivées premières : Le filtre le plus simple consiste à calculer les différences
entre pixels voisins sur les horizontales puis sur les verticales. Chaque extremum
correspond à un point d'un contour.
Filtre de Prewitt : le filtre de Prewitt introduit un flou, chacune des deux matrices
étant le produit du filtre dérivation dans la direction considérée par un filtre de flou
rectangulaire selon l'autre direction.
Filtre de Sobel : la technique précédente est améliorée en remplaçant le filtre
rectangulaire par un filtre triangulaire.
Filtre de Canny : c'est un filtre de Sobel précédé par un lissage gaussien et suivi par
un seuillage. Ce filtre est conçu pour être optimal, au sens de trois critères.
34
Chapitre2 Traitement d’images
Dans tous les cas, l'idée est, en partant d'une image initiale, d'en extraire des
informations. Pour cela, nous allons utiliser les opérateurs à la manière de « briques
logicielles », en les combinant et en les enchaînant. Ces techniques sont la base des
systèmes de vision industrielle.
De nombreuses briques sont disponibles permettant de créer des applications
complexes et évoluées. [9]
2.10 Reconnaissance d’objets
La reconnaissance d'objets est une branche de la vision artificielle et un des piliers
de la vision industrielle. Elle consiste à identifier des formes pré-décrites dans une image
numérique, et par extension dans un flux vidéo numérique.
35
Chapitre2 Traitement d’images
36
Chapitre2 Traitement d’images
Analyse de la vidéo. L'objectif de cette technique devenue une discipline depuis les
années 2000 (lorsque la puissance des processeurs peu onéreux et en particulier des
PC a permis des traitements puissants en temps réel) est d'interpréter les faits
observés à l'image afin de signaler ou d'enregistrer des faits marquants. Le plus
souvent, la caméra est fixe et observe les mouvements d'une scène. Les applications
sont nombreuses : protection des biens (détection d'intrusion, détection d'objet
abandonné ou déposé...), identification (biométrie faciale), Sécurité des personnes
(détection de chutes de personnes, franchissement de rambardes...), animations
(planchers animés selon les mouvements des danseurs en boîte de nuit), détection
de feux (industriel, forêts, tunnels...), surveillance de tunnels (comptage, mesure de
vitesse, détection de fuites/anomalies dans les plafonds), surveillance de tuyaux et
autres process industriels...
37
Chapitre2 Traitement d’images
2.12 Conclusion
Nous avons introduit dans ce chapitre la notion de base qui représente l’image et ses
caractéristiques puis la compréhension de différentes techniques de traitement d’images et
leurs opérateurs
Le chapitre suivant représente un certains nombre d'outils que nous avons utilisés
pour réaliser notre travail.
38
Chapitre 3 Outils de développement du système LAPIA
3 . Outils de
développement du
système LAPIA
Chapitre 3 Outils de développement du système LAPIA
3.1 Introduction
Ce chapitre présente des outils de développement et différentes méthodes et outils
disponibles pour la reconnaissance de forme, que nous avons utilisée dans notre application
de détection de plaques minéralogiques.
Au premier abord, il est facile de croire que Maven fait double emploi avec Ant. Ant
et Maven sont tous les deux développés par le groupe Jakarta, ce qui prouve bien que leur
utilité n'est pas aussi identique que cela. Ant, dont le but est d'automatiser certaines tâches
répétitives, est plus ancien que Maven. Maven propose non seulement les fonctionnalités
d'Ant mais en propose de nombreuses autres.
Pour gérer les dépendances du projet vis-à-vis de bibliothèques, Maven utilise un ou
plusieurs dépôts qui peuvent être locaux ou distants.
Maven est extensible grâce à un mécanisme de plugins qui permettent d'ajouter des
fonctionnalités. [13]
Chapitre 3 Outils de développement du système LAPIA
3.2.2 Github
Github est un service web d'hébergement et de gestion de développement de
logiciels, utilisant le logiciel de gestion de versions Git. GitHub propose des comptes
professionnels payants, ainsi que des comptes gratuits pour les projets de logiciels libres. Le
site assure également un contrôle d'accès et des fonctionnalités destinées à la collaboration
comme le suivi des bugs, les demandes de fonctionnalités, la gestion de tâches et un wiki
pour chaque projet. [14]
Le nom Github est composé du mot « git » faisant référence à un système de
contrôle de version open-source et le mot « hub » faisant référence au réseau social bâti
autour du système Git.
3.2.3 Swing
Swing est une bibliothèque graphique pour le langage de programmation Java,
faisant partie du package Java Fundation Classes (JFC), inclus dans J2SE. Swing constitue
l'une des principales évolutions apportées par Java 2 par rapport aux versions antérieures.
[15]
Swing offre la possibilité de créer des interfaces graphiques identiques quel que soit
le système d'exploitation sous-jacent, au prix de performances moindres qu'en utilisant
Abstract Window Toolkit (AWT). Il utilise le principe Modèle-Vue-Contrôleur (MVC, les
composants Swing jouent en fait le rôle de la vue au sens du MVC) et dispose de plusieurs
choix d'apparence pour chacun des composants standards.
41
Chapitre 3 Outils de développement du système LAPIA
3.2.4 OpenCV
OpenCV (Open Source Computer Vision) est une bibliothèque proposant un
ensemble de plus de 2500 algorithmes de vision par ordinateur, accessibles au travers d'API
pour les langages C, C++, et Python. Elle est distribuée sous une licence BSD (libre) pour les
plate-formes Windows, GNU/Linux, Android et MacOS. [16]
OpenCV est aujourd'hui développée, maintenue, documentée et utilisée par une
communauté de plus de 40 000 membres actifs. C'est la bibliothèque de référence pour la
vision par ordinateur, aussi bien dans le monde de la recherche que celui de l'industrie, pour
java deux adaptation du projet JavaCV ont été faite afin de permettre son utilisation, la
première est un artifact du projet OpenCV dans la repository de Maven, la deuxième est un
artifact bytedeco qui se trouve aussi dans la repository Maven : ce sont deux interface DLL
différente qui se sert du même noyau qui est OpenCV sous c++.
Afin de mieux vous présenter son étendue et ce qu'elle permet de faire, jetons un
œil aux principaux modules accessibles :
42
Chapitre 3 Outils de développement du système LAPIA
approches courantes (SURF et StarDetector), que nous aborderons lorsque nous nous
intéresserons à la caractérisation d'images.
objdetect : détection d'objets.
Cette bibliothèque permet de faire de la reconnaissance d'objets dans une image au
moyen de l'algorithme Adaboost (Viola & Jones, 2001). Nous y reviendrons lorsque
nous parlerons d'apprentissage et de reconnaissance de formes.
video : traitement de flux vidéo.
Ces fonctions servent à segmenter et suivre les objets en mouvement dans une
vidéo.
Highgui : entrées-sorties et interface utilisateur.
OpenCV intègre sa propre bibliothèque haut-niveau pour ouvrir, enregistrer et
afficher des images et des flux vidéo. Celle-ci contient aussi un certain nombre de
fonctions permettant de réaliser des interfaces graphiques très simples, mais
largement suffisantes pour tester nos programmes.
calib3d : calibration, estimation de pose et stéréovision.
Ce module contient des fonctions permettant de reconstruire une scène en 3D à
partir d'images acquises avec plusieurs caméras simultanément.
43
Chapitre 3 Outils de développement du système LAPIA
3.3.1.1 Caractéristiques :
La bibliothèque fournit un support reconnaissance optique de caractères (OCR) pour:
TIFF, JPEG, GIF, PNG et BMP formats d'image.
Images TIFF multipages.
PDF format de document.
3.4 Conclusion
Nous avons présenté un certain nombre de notions et de définitions concernant les
outils de développements que nous avons utilisé pour réaliser notre travail.
Le prochain chapitre détaillera les étapes de l’implémentation de notre application.
44
Chapitre 3 Outils de développement du système LAPIA
4 .IMPLEMENTATION
DU SYSTEME LAPIA
45
Chapitre 4 Implémentation
4.1 Introduction
Après avoir vu les différents outils de développement de notre système, nous
passons à l’implémentation de l’application définies et détaillée dans ce chapitre en
expliquant les écrans de notre système.
4.2 Architecture de notre système LAPIA
Pour qu’un système soit évolutif, extensible et maintenable, une bonne architecture
doit être choisie. La figure ci-dessous montre l’architecture de notre système.
46
Chapitre 4 Implémentation
47
Chapitre 4 Implémentation
Grace à cette phase, nous pouvons charger l’image, corriger le bruit et transformer
l’image en niveau de gris, quand on clique sur le bouton «Charger», il aura accès à la fenêtre
suivant :
48
Chapitre 4 Implémentation
49
Chapitre 4 Implémentation
50
Chapitre 4 Implémentation
52
Chapitre 4 Implémentation
toutes les lignes verticales et horizontales dans l’image, ce qui est nécessaire pour la
détection de contour de forme rectangulaire.
53
Chapitre 4 Implémentation
4.3.3.4 Délimitation
Tout le traitement précèdent a été réalisé en préparation du terrain pour cette étape
qui va servir à OpenCV (CvFindContour) à scanner l’image et à détecter les contours qui sont
bien claire grâce à la dilatation et bien détectable grâce à Canny. Nous ignorons les petits
rectangles détectés, car une plaque à d’importantes dimensions par rapport à la proportion
de l’image. A la fin nous ne gardons que les rectangles de tailles importantes afin de les
fournir au lecteur OCR qui va se servir pour la lecture.
54
Chapitre 4 Implémentation
Cette phase rassemble des techniques qui réalisent une reconnaissance de la forme
des caractères :
55
Chapitre 4 Implémentation
56
Chapitre 4 Implémentation
57
Chapitre 4 Implémentation
4.4 Conclusion
Nous avons présenté dans ce chapitre notre système de reconnaissance de plaques
minéralogiques algériennes où nous avons détaillé les différentes étapes nécessaires afin
d’obtenir l’objectifs escompté.
Nous avons réalisé notre application de lecture automatique de plaques
d’immatriculations en utilisant le langage JAVA, et plusieurs librairies sous l’environnement
de développement NetBeans.
58
CONCLUSION
GENERALE
59
Conclusion générale
60
Références Bibliographiques
[1] A. Bertrand, " LAPI ou VPI, quelles différences ? ", Association nationale de la vidéo
protection, Vidéo Engineering, 16/08/2013-Lyon.
[3] A.NOBEL, "Reconnaissance automatique de plaques d'immatriculation (AutoVu) ",
Genetec, 2013-Canada.
[9] H. Maître (ss la direction de), " Le traitement des images ", Hermes Lavoisier IC2 2003.
[10] C.F.CREATIS, " Traitement et analyse d’image-ANIMAG ", Institut national des sciences,
Université Claude Bernard, 2013-Lyon.
61
Webographie
[2] " Lecture automatique de plaques minéralogiques ",
https://fr.wikipedia.org/wiki/Lecture_automatique_de_plaques_minéralogiques, Dernière visite :
15/06/17.
[4] "LAPIEngine", http://www.alphanumeric-vision.com/fr/logiciel-lapi/, Dernière visite :
31/05/17.
[5] "Reconnaissance de plaques d'immatriculation avec LAPI de SeeTec", https://www.seetec-
video.com/fr/produits/extensions-seetec-cayuga/reconnaissance-des-plaques-
dimmatriculation/, Dernière visite : 31/05/17.
[6] "Asia Vision Technology Limited (AVT) ", https://asiavisionweb.com/ Dernière visite :
03/06/17.
[7] "Nos logiciels - AFS2R", http://afs2r.fr/nos-produits/, Dernière visite : 31/05/17.
[8] "TEB - Système LAPI : Lecture Automatique de Plaque d'Immatriculation",http://www.teb-
online.com/fr/analyse-images/lapi-lecture-automatique-plaque-immatriculation.php,
Dernière visite : 02/06/17.
[17] " Tess4J - JNA wrapper for Tesseract - SourceForge",
http://tess4j.sourceforge.net/, Dernière visite : 19/05/17.
62
Résumé
Le but de ce projet est d’effectuer la détection et la lecture automatique de plaques
d’immatriculation de véhicules automobiles algériens. Pour cela nous avons réalisé un état
de l’art et une étude préalable afin de recueillir les informations nécessaires pour permettre
de cerner les différents traitements à implémenter dans ce système. Une application
portable interactive a été développée et les résultats ont été très satisfaisants.
Dans ce système, plusieurs prétraitements de filtrage de bruits, de transformations
d’images et de détection ont été réalisés. Ensuite, des opérations de segmentation, de
détection de contours et de reconnaissance de forme de caractères ont permis de répondre
aux besoins exigés dans ce projet.
Mots clés : Lecture Automatique de Plaques d’Immatriculation (LAPI), Canny, OCR,
Segmentation.
Abstract
The aim of this project is to carry out the detection and the automatic reading of
license plates of Algerian motor vehicles. For this purpose we have carried out a state of the
art and a preliminary study in order to gather the information necessary to identify the
different treatments to be implemented in this system. An interactive portable application
has been developed and the results have been very satisfactory.
ملــــخـــــص
لهذا قونا بدراست أوليت. الغزض هن هذا الوشزوع هى إجزاء الكشف والقزاءة الخلقائيت للىحاث الوؼدنيت لسياراث الجشائز
حن حطىيز حطبيقاث الهاحف الوخحزك الخفاػلي وكانج. لجوغ الوؼلىهاث الالسهت لخحديد الؼالجاث الوخخلفت لخنفيذ هذا النظام
.النخائج هزضيت للغايت
والكشف ػن الحافت، ثن ػولياث الخجشئت، قدهنا ػدة ػولياث هنها حصفيت الصىر واكخشاف الخغيزاث،في هذا النظام
.والخؼزف ػلى نوط األحزف هوا سوح لنا الخكفل بجويغ االحخياجاث الوطلىبت هن قبل هىضىع هذا الوشزوع
Automatic number plate recognition (ANPR), Canny, OCR, Segmentation : الكلمات المفتاحية
63