Vous êtes sur la page 1sur 13

Chapitre IV :

Implémentation

Présenté par :Melle Zdira Meriem

Sous la direction de : Dr.Houari Kamel


Chapitre IV : Implémentation

Introduction :

Nous allons maintenant donner un aperçu sur l’ensemble des interfaces de notre application. On
commence par présenter une introduction au langage de programmation utilisé dans notre travail, les
l’ensemble des principales fonctions qu’on a implémenté.

Le matériel utilisé pour le développement de nore application est :

Un PC (Toshiba Satellite C660/C66OD) ayant les caractéristiques suivantes :


 Disque Dur 424 GO.
 SYSTEME D’EXPLOITATION: Windows7 64 bit.
 Carte Graphique : Mobile intel ® 4 series express chipset family.
 Ram: 3,0 GO.
 PROCESSEUR : Intel®Core™ i3 CPU M370 @2.40GHz 2.40GHZ.

I. langage de programmation : Borland C++Builder6


Le langage de programmation choisit pour sa puissance et performance pour développer notre
application est le C++, et plus particulièrement l’environnement Cbuilder6.

a) Qu'est-ce que C++ ?

Le C++ est un langage de programmation permettant la programmation sous de


multiples paradigmes comme la programmation procédurale, la programmation orientée objet et la
programmation générique. C++ est actuellement le 3e langage le plus utilisé au monde. Le langage
C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans besoin d'une
autorisation ou obligation de payer pour avoir le droit d'utilisation.

b) Historique :

Bjarne Stroustrup a développé C++ au cours des années 1980, alors qu'il travaillait
dans le laboratoire de recherche Bell d'AT&T. Il s'agissait en l'occurrence d'améliorer le langage C. Il
l'avait d'ailleurs nommé C with classes (« C avec des classes »). Les premières améliorations se
concrétisèrent donc par la prise en charge des classes, ainsi que par de nombreuses autres
fonctionnalités comme les fonctions virtuelles, la surcharge des opérateurs, l'héritage (simple ou
multiple), les « templates », la gestion des exceptions, etc.

Le langage C++ est normalisé par l'ISO. Sa première normalisation date de 1998 (ISO/CEI
14882:1998), sa dernière de 2003 (ISO/CEI 14882:2003). La normalisation de 1998 standardise la
base du langage (Core Language) ainsi que la bibliothèque standard de C++ (C++ Standard Library).

En langage C, ++ est l'opérateur d'incrémentation, c'est-à-dire l'augmentation de la valeur


d'une variable de 1. C'est pourquoi C++ porte ce nom : cela signifie que C++ est un niveau au-dessus
du C. Il existe de nombreuses bibliothèques C++ en plus de celle qui est incluse dans la norme. Par
ailleurs, C++ permet l'utilisation de l'ensemble des bibliothèques C existantes.

72
Chapitre IV : Implémentation

c) La bibliothèque standard (C++ standard library) :

La bibliothèque standard du C++ est en grande partie un sur-ensemble des


fonctions disponibles dans la bibliothèque standard du C (on parle de SL pour Standard Library) qui
est composée, entre autre, d'une bibliothèque de flux, de la bibliothèque standard du C, de la gestion
des exceptions, ..., etc. Elle englobe la Standard Template Library (STL) qui met à la disposition du
programmeur des outils puissants comme les collections (conteneurs) et les littérateurs, et les
algorithmes.

À l'origine, la STL était une bibliothèque développée par Alexander Stepanov qui travaillait
pour Hewlett-Packard. Dans la norme, celle-ci n'est pas appelée STL, car elle est considérée comme
faisant partie de la bibliothèque standard du C++. Toutefois, beaucoup de personnes l'appellent encore
de cette manière pour distinguer d'une part, les fonctions d'entrées/sorties comprises dans cette
bibliothèque et, d'autre part, celles fournies par la bibliothèque C.

Comme en C, l'utilisation d'une bibliothèque se fait par l'intermédiaire de la directive

#include (suivie du nom du fichier d'en-tête).

II. Tests et résultats :

1/Bouton d’entré :

Partie Source Partie d’exécution

Fig _ 4.1 Bouton d’entré.

73
Chapitre IV : Implémentation

2/saisie le nom et le mot de passe :

Avant d’entrer à l’application, l’utilisateur responsable saisie son nom et son mot de passe, et
quant une information incorrecte l’erreur sera signalé.

Fig _ 4.2 Connexion vers l’application.

3/Accueil :

Fig _ 4.3 Interface principale de l’application logicielle.

Pour commencer, on clique sur Avancer de la fenêtre principale, on obtient la fenêtre au dessous.

74
Chapitre IV : Implémentation

L’interface de notre application est composée de sept parties :

a) Charger image IRM :

Pour charger l’image de la base que nous désirons à segmenter, on clique sur le bouton
Charger image IRM.

Fig _ 4.4 L’interface de traitement. Image précédente Image suivante

Il y’a aussi autres outils d’image comme :

Bouton qui fait pivoter une image à gauche à 90⁰ :

Fig _ 4.5 Image pivote de gauche à 90⁰.

75
Chapitre IV : Implémentation

Bouton qui fait pivoter une image à droite à 90⁰ :

Fig _ 4.6 Image pivote de droite à 90⁰.

b) Prétraitement :

Cette tâche se comporte les boutons suivants:

b1) Contraste
b2) Négative

b3) Histogramme
b4) Ouverture
b5) Fermeture
b6) Erosion
b7) Dilatation

b8) Filtre Moyenneur

b9) Filtre Smooth

b10) Filtre Médian

b11) Filtre Passe-haut v8

b12) Filtre Passe-haut v4

b13) Lissage adaptatif

Fig _ 4.7 Prétraitement.

76
Chapitre IV : Implémentation

b’) Les Résultats :

b’1) Filtres:

Lissage adaptatif Filtre Moyenneur

T1_z90n
Filtre Filtre Filtre
Filtre
Passe-haut Passe-haut
v4 v8 Médian Smooth

Fig _ 4.8 Résultats d’image par les différents filtres.

b’2) Filtres morphologiques:

Erosion en NG Fermeture en NG

Dilatation en Ouverture en
T2_z90n
NG NG

Fig _ 4.9 Résultats d’image par les différents filtres morphologiques.

77
Chapitre IV : Implémentation

b’3) Histogramme:

Fig _ 4.10 Histogramme d’image.

b’4) Négative:

Fig _ 4.11 Image et sa négation.

b’5) Contraste:

(a) (b)
T2_z90n

Fig _ 4.12 Image avec contraste augmenté(a), image avec contraste diminué(b).

78
Chapitre IV : Implémentation

c) Segmentation par détection du gradient :

Cette tâche se comporte les boutons suivants:

Gradient Robert

Gradient Sobel
Gradient Prewitt
Gradient Kirsch

Gradient Lplace

Gradient interne

Gradient externe

Fig _ 4.13 Segmentation par la détection du gradient.

c’) Les Résultats :

Gradient
Gradient
Robert Gradient
Gradient Gradient Gradient Gradient interne
externe
Sobel Prewitt Kirsch Laplace

Fig _ 4.14 Résultats d’image par la segmentation de détection de gradient.

79
Chapitre IV : Implémentation

d) Segmentation par régions :

Cette tâche se comporte les boutons suivants:

d’1) Segmentation par seuillage

d’2) Segmentation par K_means

d’3) Segmentation par HMRF

Fig _ 4.15 Segmentation par régions.

d’1) Segmentation par seuillage

Fig _ 4.16 Segmentation par seuillage (seuil=40, seuil=90).

80
Chapitre IV : Implémentation

d’2) Segmentation par K_means :

Nbre de régions= 7, Nbre d’itération=3.

Fig _ 4.17 Segmentation par K_means.

d’3) Segmentation par HMRF :

Nbre de régions= 3, Nbre d’itération=12,T=1, Beta=0.5

Fig _ 4.18 Segmentation par Gibbs-SA.

Nbre de régions= 7, Nbre d’itération=3,T=0.98, Beta=0.5

Fig _ 4.19 Segmentation par Métropolis-SA.

81
Chapitre IV : Implémentation

e) Enregistrer image :

Pour enregistrer une image traitée, on choisit le nom d’image de la liste, puis on clique
sur le bouton enregistrer.

Fig _ 4.20 Enregistrement de l’image traitée.

f) Imprimer image :

Pour imprimer une image traitée, on clique sur le bouton d’impression.

Fig _ 4.21Impression de l’image traitée.

82
Chapitre IV : Implémentation

g) Aide:

Cette tâche se compose par :

g1) A propos :

Fig _ 4.22 A propos.

g2) Help :

Fig _ 4.23 Help.

83