Projet Image en C++ Composition du trinôme : DUPONT Thomas MEHAULT Maxime NICOLAS Rémi L3 MI -...

Post on 04-Apr-2015

103 views 1 download

transcript

Projet Image en C++

Composition du trinôme : DUPONT Thomas MEHAULT Maxime NICOLAS Rémi

L3 MI - Année 2009 - 2010

Sommaire

Sommaire

Introduction

Diagramme de classes

Présentation de l'interface

Photométrie

Arithmétique

Conversions

2

Introduction

Présentation du projet− Projet de C++ − Plateforme de traitement d’image− Développement d’une interface graphique (Qt)

3

Introduction

Cahier des charges Fonctionnalités du programme :

Charger une image Faire des opérations sur celle-ci et/ou avec une

seconde image Enregistrer l'image créée

4

Diagramme de classes

5

Présentation de l'interface

6

Photométrique

• Les besoins :− Création des différents histogrammes

− Opérations photométrique sur l’image (négatif,…)

7

Photométrique

• Les solutions : (class Histo)− Définitions des constructeurs

− Définition des « getters » et « setters »

− Remplissage des histogrammes : setHisto() et

setHistoCumul()

8

9

Photométrique

• Les solutions : (class Image)− Définitions des différentes fonctions (setLuminusite(),

negatif(),…)

10

Photométrique

11

Arithmétique

• Les besoins :− Chargement d’une seconde image

− Opérations standards (+,-,*,/)

− Opérations binaires (et, ou)

− Maximum et Minimum

12

Arithmétique

• Les solutions : (classe Image)− Surcharges des différents opérateurs (+,-,*,/,&,|)

− Définition de deux fonctions : maximum() et minimum()

− QComboBox pour les traitements

− Traitements basés sur l’image principale

13

14

Arithmétique

15

Géométrique

• Les besoins :− Extraction d’une sous-image

− Redimensionnement

− Retournement

− Rotation

16

Géométrique

• Les solutions : (Class Image)− Définition de la fonction : extraction (int x1,int y1,int x2,int y2)

− Utilisation des fonctions rotate et translate de QMatrix

− Surcharge de la fonction redimension

− Définition de plusieurs fonctions pour les retournements

17

Géométrique

• Surcharges de dimension : (Class Image)− redimension(int max) //ratio ok

− redimension(int l,bool largeur) //ratio ok

− redimension(int l,int h) //ratio non

// Utilisation des fonctions scaled de QImage

18

Géométrique

19

Conversion

• Les besoins :− Conversion en niveau de gris

− Conversion en noir et blanc

− Conversion en couleurs RGB

20

Conversion

• Les solutions : (Class Image)− conv_rgb_grey()

− conv_rgb_n_b(int lim) //lim définit le seuil de

conversion

21

Conversion

22

Conclusion

• Gestion des images jpeg et ppm

• Utilisation de Qt (QtCreator) pour l’interface

• Utilisation au maximum des classes QT

23