langage c/c++ - projet : image et qt · 2016-06-16 · langage c/c++ projet : image et qt hubert...

16
Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1/11

Upload: others

Post on 19-Jul-2020

10 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Langage C/C++Projet : Image et Qt

Hubert Godfroy

18 décembre 2014

1/11

Page 2: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Plan

Projet

Échau�ement

La suite

2/11

Page 3: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Plan

Projet

Échau�ement

La suite

3/11

Page 4: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Objectif du projetRéaliser un logiciel de traitement d’images.

Buts pédagogiques

I Manipuler les concepts vus en coursI Travailler en groupeI Savoir utiliser les documentations des API C/C++ et Qt.

Critères de notation

I Respect des consignesI Correction du codeI Sécurité du code (pas de fuites mémoires, de dépassements de

tableaux, etc. . . )I Interface graphiqueI Clarté du code (indentation, commentaires, nom de variables

explicites, . . . )I Projet structuré en plusieurs fichiersI Code stratifié (minimisation de duplication de code)I Méthodes de travail en groupeI �alité des tests

4/11

Page 5: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Objectif du projetRéaliser un logiciel de traitement d’images.

Buts pédagogiques

I Manipuler les concepts vus en coursI Travailler en groupeI Savoir utiliser les documentations des API C/C++ et Qt.

Critères de notation

I Respect des consignesI Correction du codeI Sécurité du code (pas de fuites mémoires, de dépassements de

tableaux, etc. . . )I Interface graphiqueI Clarté du code (indentation, commentaires, nom de variables

explicites, . . . )I Projet structuré en plusieurs fichiersI Code stratifié (minimisation de duplication de code)I Méthodes de travail en groupeI �alité des tests

4/11

Page 6: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

À rendre

I Une archive zip, gzip, bzip, lzma ou 7zip (pas de rar)I Un document pdf expliquant

I la présentation des fonctions du programme,I l’organisation du code et l’explication des classes pertinentes,I la répartition du travail au sein de l’équipe,I l’explications des méthodes utilisées pour minimiser les bugs,I des explications sur la façon de compiler et d’exécuter le

programme si les outils utilisés ont été di�érents de ceuxproposés pendant les séances de TD (Qt Creator) ou alorsutilisés de manière non naturelle,

I tout autre point pouvant faciliter la compréhension duprogramme.

5/11

Page 7: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Plan

Projet

Échau�ement

La suite

6/11

Page 8: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Manipulation d’images avec Qt

I ouverture de l’image :

QImage image(Chemin);

I lecture d’un pixel

QRgb pix = image.pixel(i, j);

I modification d’un pixel :

image.setPixel(i, j, 50); (nuances de gris)image.setPixel(i, j, qRgb(255, 120, 42));

I écriture de l’image :

image.save(chemin);

7/11

Page 9: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Résultats

8/11

Page 10: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Résultats

8/11

Page 11: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Résultats

8/11

Page 12: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Principe de l’algorithme

I Un pixel est modifié en fonction des pixels environnants.

I Combinaison linéaire pondérée par des coe�icients.I La matrice des coe�icients et appelée un filtre

9/11

Page 13: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Principe de l’algorithme

I Un pixel est modifié en fonction des pixels environnants.I Combinaison linéaire pondérée par des coe�icients.

I La matrice des coe�icients et appelée un filtre

9/11

Page 14: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Principe de l’algorithme

I Un pixel est modifié en fonction des pixels environnants.I Combinaison linéaire pondérée par des coe�icients.I La matrice des coe�icients et appelée un filtre

9/11

Page 15: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Plan

Projet

Échau�ement

La suite

10/11

Page 16: Langage C/C++ - Projet : Image et Qt · 2016-06-16 · Langage C/C++ Projet : Image et Qt Hubert Godfroy 18 décembre 2014 1=11. Plan Projet Échau˙ement La suite 2=11. Plan Projet

Idées pour la suite

I interaction avec la sourisI courbes d’expositionsI interface adaptéeI traitements parallèlesI optimisation de l’information (compression, suppressions

d’éléments non nécéssaires, . . . )I . . .

11/11