TP : Gestion d une image au format PGM

Dimension: px
Commencer à balayer dès la page:

Download "TP : Gestion d une image au format PGM"

Transcription

1 TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples telles que la lecture et l écriture d images dans ce format. Dans un second temps, il est proposé de compléter cette classe avec des méthodes de filtrage d images. Enfin, pour ceux qui sont très très très fort et qui vont très très très vite, on propose, dans la 3 ième partie, une extension du programme aux images couleurs (format PPM). Préliminaires : Dans un répertoire de votre choix, créez trois fichiers contenant le programme principal et la classe Image. Téléchargez dans ce même répertoire les images «blood.pgm», «flowers.pgm», et «Logo.pgm» qui se trouvent Vous pouvez observer les images en utilisant n importe quel logiciel de visualisation d images. Détails du format PGM : Le format PGM est un format d enregistrement d images non compressé relativement simple. Les images sont codées par des valeurs représentant les niveaux de gris de leurs pixels. Ces valeurs sont comprises entre 0 (noir) et 255 (blanc) et représentent différentes teintes de gris. D un point de vue programmation, le type de donnée le plus approprié pour stocker le niveau de gris d un pixel est «unsigned char». Le format d image PGM est composé d une en-tête de quelques lignes (contenant notamment les dimensions de l image et des commentaires), suivi de la liste des niveaux de gris, enregistrés par ligne par ligne. Comme vous pouvez le constater en ouvrant l image «logo.pgm» avec un éditeur de texte, un fichier au format PGM se présente sous la forme suivante : P5 Mot clé indiquant un fichier PGM en mode binaire # Ligne de commentaires # Ligne de commentaires Dimensions de l image (66 colonnes, 300 lignes) 255 Valeur du niveau de gris max Ž ƒƒƒ... Niveau de gris des pixels octet par octet Le niveau de gris d un pixel de l image est, en fait, le code ASCII d un caractère (ce qui justifie la présence des caractères spéciaux). Pour simplifier le programme, on supposera qu il n y a qu une seule ligne de commentaire dans l en-tête. ère partie Création, lecture et écriture d une image au format PGM Pour manipuler les fichiers contenant les images (ouverture, lecture, écriture), il est nécessaire de connaître les classes C++ appropriées. Allez donc voir la synthèse sur les flots d entrée/sortie à la fin de l énoncé (en plus du cours, bien sûr)! - Création et enregistrement d une image Programmez une classe Image répondant au programme principal suivant : int main() { int i; // Création d'une image de 00 lignes, 50 colonnes, // initialisée à 0 (noir) Image im( 00, 50, true ); // Dessine une diagonale blanche dans l'image for (i = 0; i<im.ligne(); i++) im.setpixel(i,i, (unsigned char) 255); // Enregistrement de l'image de nom toto.pgm avec un commentaire

2 im.writepgm ( "toto.pgm", "Ceci est un commentaire"); return 0 ; } En mémoire, l image pourra être codée comme un vecteur de unsigned char de dimension = Nb Lignes * Nb Colonnes. Ainsi, le pixel de la ligne l et de la colonne c de l image aura pour coordonnée dans le vecteur : l * Nb Colonnes + c. 2- Constructeur par recopie et surcharge de l opérateur = Codez les méthodes nécessaires pour répondre aux instructions suivantes : // Constructeur par recopie de im dans im2 Image im2( im ); im2.writepgm ( "titi.pgm", "Bonjour!"); // Surcharge de l opérateur = entre im et im3 Image im3( 200, 50, false ); im3 = im; 3- Lecture d une image Codez la méthode de lecture nécessaire pour lire une image. Pour vous assurer que votre lecture est correcte, vous pouvez l enregistrer, juste après la lecture, sous un nouveau nom : // Constructeur avec lecture directe Image im4( "logo.pgm" ); Im4.WritePGM ( "copielogo.pgm", "Duplication de l image logo.pgm"); Vérifiez avec votre logiciel de visualisation d images que l image originale et la copie sont bien identiques. Vous pouvez également ouvrir votre copie avec un traitement de texte pour vérifier que l entête est correcte (notamment le commentaire). 2 ère partie Filtrage d images Dans cette seconde partie, complétez la classe avec une méthode de filtrage d image (filtre de Sobel). Celle-ci est brièvement présentée ci-dessous. Pour vos expériences, vous pouvez utiliser l image «Blood.pgm». Le programme principal aura l allure suivante : // Lecture de l'image originale Image Blood( "blood.pgm" ); // Filtrage de l'image selon Sobel Blood.Sobel(); // Enregistrement de l'image Blood.WritePGM("bSobel.pgm", "Filtre Sobel Im.Orig= blood.pgm"); 0 Le filtre de Sobel à l allure suivante : S = Le principe du filtrage consiste à appliquer le filtre sur tous les pixels de l image, de la manière suivant : Si (l,c) désigne les coordonnées du pixel à filtrer, le niveau de gris filtré du pixel est obtenu en sommant les niveaux de gris de ses voisins pondérés par les coefficients de la matrice S, puis en divisant cette somme par 4. Si N et M désignent respectivement le niveau de gris du pixel original de coordonnées lc, lc, (l,c), et le niveau de gris du pixel filtré de coordonnées (l,c), nous avons :

3 M l, c 4 ( N N N + N + N N ) = l, c l, c l, c l, c+ l +, c + l +, c+ Remarques : - Ne traitez pas les pixels au bord de l image (ils posent certaines difficultés qu il n est pas nécessaire de résoudre dans le cadre de cet exercice). - Le niveau de gris filtré n est pas forcément un nombre entier positif De plus, la valeur obtenue n est pas forcément comprise entre 0 et 255 A vous de faire les traitements adéquats Examinez l image ainsi filtrée et interprétez le résultat à l aide des coefficients du filtre D autres filtres de même forme sont possibles, en voici quelques uns : Filtre de Prewitt : 2 P = , Filtre Laplacien : L = 9.96 Vous pouvez également combiner des filtres et en inventer vous-même! ème partie Lecture / Ecriture d images couleur au format PPM Il s agit de créer une nouvelle classe permettant de manipuler des images couleurs au format PPM. Créez un second projet et utilisez les noms de fichier suivants ImageCouleur.h et ImageCouleur.cpp. Le format PPM, qui permet d enregistrer des images couleurs, est presque identique au format PGM aux différences suivantes : - Dans l en-tête, nous avons P6, dans la première ligne, au lieu de P5. - Les données sont organisées de la manière suivante : la suite des valeurs est constituée des intensités de chaque pixel de l'image, dans les trois canaux (rouge), (vert) et (bleu). Chacune de ces intensités est codée sur un octet, donc a une valeur entière comprise entre et. Quels sont vos attributs? Outre les méthodes de la classe précédente qu il est possible d étendre à notre cas, proposez également une méthode qui permette de transformer une image couleur en une image à niveaux de gris. Dans ce cas, vous considèrerez que le niveau de gris est égale à la moyenne des valeurs sur les trois canaux R, V, B). Comment filtrer une image couleur? Pour vos tests, vous utiliserez l image «flowers.ppm».

4 Annexe Synthèse sur les flots associés aux fichiers (classes ofstream et ifstream) Jusqu à présent, nous avons parlé de flots prédéfinis (cout et cin) mais sans dire comment ce flot pourrait être associé à un fichier. Cette synthèse montre comment y parvenir et examine les possibilités d accès direct dont on peut alors bénéficier. Attention, les méthodes offertes par ces deux classes sont bien plus nombreuses que celles exposées. Néanmoins, les méthodes présentées devraient suffire pour réaliser le sujet. - Connexion d un flot de sortie à un fichier Pour associer un flot de sortie à un fichier, il suffit de créer un objet de type ofstream. L emploi de cette nouvelle classe nécessite d inclure un fichier d en-tête nommé fstream.h, en plus de iostream.h. Le constructeur de la classe nécessite deux arguments : - Le nom du fichier concerné (chaîne de caractères) - Un mode d ouverture défini par une constante (cf. table ) Voici un exemple de déclaration d un objet du type ofstream : ofstream sortie ("truc.dat", ios::out ios::binary); L objet sortie sera donc associé au fichier nommé truc.dat, après avoir été ouvert en écriture. Une fois construit, l écriture dans le fichier associé peut se faire comme n importe quel flot (en particulier cout). Pour tester si l ouverture s est bien passée, on pourra utiliser if (!sortie.is_open() ) { }; Pour fermer le fichier, on utilisera sortie.close(); Pour écrire dans un fichier, nous pourrons employer : sortie << << << endl; pour écrire en mode texte et int temp = 0 ; sortie.write( temp, sizeof(int) ); ou char buf[80]="bonjour!"; sortie.write( buffer, strlen(buf)*sizeof(char)); pour écrire en mode binaire 2- Connexion d un flot d entrée à un fichier Pour associer un flot d entrée à un fichier, on emploie un mécanisme analogue à celui utilisé pour un flot de sortie. Il faut toujours inclure le fichier d en-tête fstream.h en plus du fichier iostream.h. Le constructeur comporte les mêmes arguments que précédemment, c est à dire le nom du fichier et le mode d ouverture. Par exemple avec l instruction : ifstream entree ("truc.dat", ios::in ios::binary); l objet entree sera associé au fichier de nom truct.dat, après avoir été ouvert en lecture. Pour tester si l ouverture s est bien passée, on pourra utiliser if (!entree.is_open() ) { }; Pour fermer le fichier, on utilisera entree.close(); Pour lire dans un fichier, nous pourrons employer : entree >> >> ; pour lire en mode texte et int temp ; entree.read( temp, sizeof(int));

5 ou char buffer[80]; entree.getline(buffer, 80); pour lire en mode binaire. 3- Les possibilités d accès direct La méthode read( ) par exemple permet de lire séquentiellement dans un fichier, c est à dire depuis le début de ce fichier jusqu à sa fin. L incrémentation dans le fichier (pour se préparer à la prochaine lecture) est effectuée automatiquement par read( ). Ceci peut s avérer contraignant lorsque l on souhaite lire une information à une position connue dans le fichier. Des possibilités d accès directe sont donc offertes, en agissant sur un pointeur dans ce fichier, c est à dire en précisant le rang du prochain octet à lire ou à écrire. Les classes ifstream et ofstream offrent respectivement des méthodes de positionnement du pointeur, appelées seekg( ) et seekp( ). Ces méthodes comportent deux arguments : - Un entier représentant un déplacement du pointeur, par rapport à une origine précisée par le second argument - Une constante entière choisie parmi les trois possibilités présentées dans la table 2. Exemples : entree.seekg(0, ios::cur); sortie.seekp(0, ios::end); Par ailleurs, il existe dans chacune des classes ifstream et ofstream une fonction permettant de connaître la position courante du pointeur. Il s agit de tellg( ) pour ifstream et de tellp( ) pour ofstream. Exemples : int position = entree.tellg(); int position2 = sortie.tellp(); 4- Modes d ouverture et modes de déplacement Constante Action ios::in Ouverture en lecture (obligatoire pour la classe ifstream) ios::out Ouverture en écriture (obligatoire pour la classe ofstream) ios::app Ouverture en ajout de données (écriture en fin de fichier) ios::trunc Si le fichier existe, son contenu est perdu ios::binar Le fichier est ouvert en mode binaire. Ce mode est uniquement y utilisé pour les systèmes d exploitation (comme windows!) qui distinguent les fichiers texte des autres. Table : Modes d ouverture d un fichier Constante Action ios::beg Le déplacement est exprimé par rapport au début du fichier ios::cur Le déplacement est exprimé par rapport à la position actuelle ios::end Le déplacement est exprimé par rapport à la fin du fichier Table 2 : Modes de positionnement dans un fichier

Programmation C++ (débutant)/les fichiers

Programmation C++ (débutant)/les fichiers Programmation C++ (débutant)/les fichiers 1 Programmation C++ (débutant)/les fichiers Généralité sur les fichiers La règle générale pour créer un fichier est la suivante : il faut l'ouvrir en écriture.

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP*

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP* Le but de ce TD est d utiliser les procédures et fonctions Python pour traiter des fichiers images. II. Conversions I. Initialisation Importer le module numpy sous l appellation np. On utilise le module

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

1 Les entrées-sorties, les ux

1 Les entrées-sorties, les ux 1 Les entrées-sorties, les ux 1 1.1 Généralités les fonctions d'entrée/sortie n'appartiennent pas au langage C++ mais à la bibliothèque standard Les fonctions d'entrée/sortie sont déclarées dans le chier

Plus en détail

Projet Matlab : un logiciel de cryptage

Projet Matlab : un logiciel de cryptage Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.

Plus en détail

1.1 Écrire dans votre cahier la lettre de chaque instruction syntaxiquement correcte. Note: Les instructions sont indépendantes les unes des autres.

1.1 Écrire dans votre cahier la lettre de chaque instruction syntaxiquement correcte. Note: Les instructions sont indépendantes les unes des autres. QUESTION 1 (3 Points) Ces déclarations sont utilisées pour les sous-questions 11 à 13 const int LONGMAX = 51; const int CDMAX = 100; typedef char type_string[longmax]; enum type_classement POURRI,PASSABLE,BON,TRES_BON,EXCELLENT

Plus en détail

APPLICATION. Définition des classes : On va définir - une classe carte - une classe piledecartes - une classe joueur

APPLICATION. Définition des classes : On va définir - une classe carte - une classe piledecartes - une classe joueur APPLICATION On souhaite écrire un programme qui permet à l utilisateur de jouer au jeu de cartes 21. Principe : L utilisateur reçoit une carte à la fois et après chaque carte il décide s il continue ou

Plus en détail

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1 Analyse d images Edmond.Boyer@imag.fr Edmond Boyer UFRIMA 1 1 Généralités Analyse d images (Image Analysis) : utiliser un ordinateur pour interpréter le monde extérieur au travers d images. Images Objets

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

Formats d images. 1 Introduction

Formats d images. 1 Introduction Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation

Plus en détail

Mathématiques/Sciences Physiques Séance N 8 Codage d une image numérique

Mathématiques/Sciences Physiques Séance N 8 Codage d une image numérique Mathématiques/Sciences Physiques Séance N 8 Codage d une image numérique INTRODUCTION Une image numérique est un ensemble discret de points appelés PIXELS (contraction de PICTure ELements). Elle a pour

Plus en détail

Manuel d aide www.aixpoz.com

Manuel d aide www.aixpoz.com Manuel d aide www.aixpoz.com Introduction AIXPOZ est un système de création de sites Internet «galerie photo» à destination de toute personne souhaitant exposer des images sur Internet. Que vous soyez

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Les flux et les fichiers

Les flux et les fichiers Chapitres traités Hiérarchie des classes représentant le flot Les flux et les fichiers Depuis le temps, nous connaissons bien les objets cin et cout. Du moins nous semblons les connaître. Cette étude nous

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Simulation Numérique

Simulation Numérique Ecole Nationale de Techniques Avancées Simulation Numérique Chapitre 4 Surcharge des opérateurs Eric Lunéville Surcharge des opérateurs Le C++ utilise des opérateurs prédéfinis tels que + - * / sur les

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Traitement bas-niveau

Traitement bas-niveau Plan Introduction L approche contour (frontière) Introduction Objectifs Les traitements ont pour but d extraire l information utile et pertinente contenue dans l image en regard de l application considérée.

Plus en détail

SYS-809 Vision par ordinateur. Laboratoire 2 - Introduction à la boîte à outils Orfeo (OTB)

SYS-809 Vision par ordinateur. Laboratoire 2 - Introduction à la boîte à outils Orfeo (OTB) SYS-809 Vision par ordinateur Laboratoire 2 - Introduction à la boîte à outils Orfeo (OTB) Objectifs du laboratoire Ce laboratoire se veut une introduction à OTB. Nous nous intéressons à : Présentation

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

Plus en détail

Systèmes Informatiques TD 3: langage C opérations élémentaires

Systèmes Informatiques TD 3: langage C opérations élémentaires Systèmes Informatiques TD 3: langage C opérations élémentaires P. Bakowski bako@ieee.org Opérateurs logiques/arithmétiques Le langage C offre une liste importante d opérateurs logiques et arithmétiques.

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

TP4 : Stockage de données

TP4 : Stockage de données TP4 : Stockage de données 1 TP4 : Stockage de données Programmation Mobile Objectifs du TP Ce TP a pour objectif de vous initier au stockage des données dans le téléphone Android, dans la mémoire interne

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Site de la spécialité ISN du lycée Louis Marchal

Site de la spécialité ISN du lycée Louis Marchal Site de la spécialité ISN du lycée Louis Marchal 1) Codage d' un entier positif Un ordinateur ne manipule que des 0 et des 1 (circuit ouvert ou fermé par exemple), toutes les données doivent donc être

Plus en détail

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin

Hiver 2013 IMN 259. Introduction à l analyse d images. Par Pierre-Marc Jodoin Hiver 2013 Analyse d images IMN 259 Introduction à l analyse d images Par Pierre-Marc Jodoin Où se situe l analyse d images? Traitement d images Imagerie Image Analyse d images/ Vision par ordinateur Infographie

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle

Cours 3. La conditionnelle: instructions si et selon Les boucles Comment raisonner sur les boucles: les invariants de boucle Cours 3 : Instructions qui changent l ordre d exécution séquentiel 1 Cours 3 Instructions qui changent l ordre d exécution séquentiel La conditionnelle: instructions si et selon Les boucles Comment raisonner

Plus en détail

TS214 - Compression/Décompression d une image binaire

TS214 - Compression/Décompression d une image binaire Filière Télécommunications, 2 ème année TS214 - Compression/Décompression d une image binaire De nombreux télécopieurs utilisent la recommandation T.4 Groupe 3 de l International Telecommunications Union

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques

Plus en détail

Master IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP

Master IMA - UMPC Paris 6 RDMM - Année 2009-2010 Fiche de TP Master IMA - UMPC Paris 6 RDMM - Année 2009-200 Fiche de TP Préliminaires. Récupérez l archive du logiciel de TP à partir du lien suivant : http://www.ensta.fr/~manzaner/cours/ima/tp2009.tar 2. Développez

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.

Plus en détail

10 mn pour se connecter à un fichier Excel. Pas à Pas.

10 mn pour se connecter à un fichier Excel. Pas à Pas. 10 mn pour se connecter à un fichier Excel. Pas à Pas. 1 - Quel fichier, quelle source de données? 2 - Connexion au compte BIME 3 Connexion à BIME DESKTOP, mon tremplin vers internet 4 - Mes analyses 5

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Chap17 - CORRECTİON DES EXERCİCES

Chap17 - CORRECTİON DES EXERCİCES Chap17 - CORRECTİON DES EXERCİCES n 3 p528 Le signal a est numérique : il n y a que deux valeurs possibles pour la tension. Le signal b n est pas numérique : il y a alternance entre des signaux divers

Plus en détail

TP SIN Traitement d image

TP SIN Traitement d image TP SIN Traitement d image Pré requis (l élève doit savoir): - Utiliser un ordinateur Objectif terminale : L élève doit être capable de reconnaître un format d image et d expliquer les différents types

Plus en détail

Fête de la science Initiation au traitement des images

Fête de la science Initiation au traitement des images Fête de la science Initiation au traitement des images Détection automatique de plaques minéralogiques à partir d'un téléphone portable et atelier propose de créer un programme informatique pour un téléphone

Plus en détail

Gestion de gros fichiers binaires (images) en APL*PLUS III

Gestion de gros fichiers binaires (images) en APL*PLUS III Gestion de gros fichiers binaires (images) en APL*PLUS III par Gérard A. Langlet Lun des nombreux problèmes que nous avons rencontrés en APL concerne l impression d images, constituées en fait de grosses

Plus en détail

CST-RT021-part 3:2013

CST-RT021-part 3:2013 CST-RT021-part 3:2013 Annexe sur les transformations couleur Groupe de travail CST-RT-021-MFFW Nom Version Auteur Date de publication CST-RT021-part3:2013 1 François Helt 24 mars 2014 CST-RT021-MFFW 1.1

Plus en détail

http://www.sage.fr/documents/bdc/fiches/03/07/3467.html

http://www.sage.fr/documents/bdc/fiches/03/07/3467.html Page 1 sur 7 Récupération des paramétrages issus du PPS Thème Téléchargement et récupération d un nouveau paramétrage du Plan de Paie Sage vers une ou plusieurs sociétés. PRINCIPE Lorsque des changements

Plus en détail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Structure du format BMP, sa lecture, sa construction et son écriture

Structure du format BMP, sa lecture, sa construction et son écriture Structure du format BMP, sa lecture, sa construction et son écriture Claude Parisel Mars 2003 Table des matières : 1. Le choix du format 2. Commentaires sur les autres formats 3. Format BMP pour noir&blanc,

Plus en détail

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu SNAKE Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp Copie d écran du jeu Principe de fonctionnement du jeu : le serpent avance automatiquement, le joueur ne peut agir que sur

Plus en détail

TP2 : Windows 2003 Server et Active Directory

TP2 : Windows 2003 Server et Active Directory TP2 : Windows 2003 Server et Active Directory Description de la configuration et des objectifs du TP : Un serveur Windows 2003 contrôleur de domaine est accessible sur le réseau, son adresse IP vous sera

Plus en détail

Corrigé du TP Carte SIM

Corrigé du TP Carte SIM Corrigé du TP Carte SIM Outil GScriptor Il faut d abord télécharger GScriptor : http://www.springcard.com/download/find.php?file=gscriptor et l installer sous Windows. Depuis Windows 7, il n est pas nécessaire

Plus en détail

MANUEL D UTILISATION

MANUEL D UTILISATION MANUEL D UTILISATION Document mis à jour le 9 juillet 2015 B.B.S. Développement : 04.73.34.96.69 Fax : 04.73.34.10.03 info@bbs-developpement.com 1 SOMMAIRE 1. Installation 4 2. Configuration minimale 7

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction

2.1. Les fonctions. Les fonctions se définissent de la manière suivante : NomDeLaFonction(param1, param2,...)= { \\ Code de la fonction TP1, prise en main de Pari/GP et arithmétique Le programme que nous allons utiliser pour les TP se nomme PARI/GP dont le point fort est la théorie des nombres (au sens large). Il est donc tout à fait adapter

Plus en détail

Introduction :... 3. L accès à Estra et à votre propre espace... 4. Connexion... 4. Votre espace personnel... 5

Introduction :... 3. L accès à Estra et à votre propre espace... 4. Connexion... 4. Votre espace personnel... 5 ESTRA SOMMAIRE Introduction :... 3 L accès à Estra et à votre propre espace... 4 Connexion... 4 Votre espace personnel... 5 Home d Estra et Fonctions generales... 7 Home... 7 Rechercher un document...

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Guide de l utilisateur Mikogo Version Windows

Guide de l utilisateur Mikogo Version Windows Guide de l utilisateur Mikogo Version Windows Table des matières Création d un compte utilisateur 3 Téléchargement et installation 4 Démarrer une session 4 Joindre une session 5 Fonctionnalités 6 Liste

Plus en détail

Gestion Internet de données de projet

Gestion Internet de données de projet Gestion Internet de données de projet Technip TPS Ingénierie du bâtiment et des infrastructures TOULOUSE PARIS LYON Espace HADRIEN Bâtiment B 80 av. des Terroirs de France 30 Rue Edouard NIEUPORT 3, rue

Plus en détail

C++ : PROGRAMMATION-OBJET

C++ : PROGRAMMATION-OBJET Cours d informatique 2003/2004 C++ : PROGRAMMATION-OBJET SOMMAIRE : Chapitre 1 : Le concept d objet........ 1 1.1 Objet usuel.............. 1 1.2 Objet informatique Classe........ 2 1.3 Encapsulation.............

Plus en détail

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Modes Opératoires WinTrans Mai 13 ~ 1 ~ Modes Opératoires WinTrans Mai 13 ~ 1 ~ Table des matières Facturation... 2 Tri Filtre... 2 Procédures facturation... 3 Transfert Compta... 8 Création d un profil utilisateur... Erreur! Signet non défini.

Plus en détail

www.imprimermonlivre.com

www.imprimermonlivre.com 0 www.imprimermonlivre.com Composition d une couverture avec Word L objectif de ce guide est de vous proposer un mode opératoire pour créer une couverture avec Word. Nous vous rappelons toutefois que Word

Plus en détail

2012/2013 Le codage en informatique

2012/2013 Le codage en informatique 2012/2013 Le codage en informatique Stéphane Fossé/ Marc Gyr Lycée Felix Faure Beauvais 2012/2013 INTRODUCTION Les appareils numériques que nous utilisons tous les jours ont tous un point commun : 2 chiffres

Plus en détail

Information numérique Analyse de trafic TP Page 1 / 1

Information numérique Analyse de trafic TP Page 1 / 1 1 / 1 Lorsqu un ordinateur se connecte à Internet, il émet des in formations et en reçoit d autres. Ces informations sont organisées en blocs de quelques centaines d octets. On appelle ces blocs des «trames».

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

TD : Codage des images

TD : Codage des images TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

Algorithmique Travaux Dirigés

Algorithmique Travaux Dirigés Algorithmique Travaux Dirigés Master Technologie et Handicap : Intensifs 1 Corrigé Exercice 1 Affectations 1. Considérons les algorithmes ci-dessous. (a) Quel sera le contenu des variables a, b et éventuellement

Plus en détail

Cours 14 Les fichiers

Cours 14 Les fichiers Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une

Plus en détail

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Les types énumérés On peut aussi définir des types qui ont un nombre fini de valeurs (ex: jours de la semaine, couleurs primaires, etc.)

Plus en détail

ReadCard Guide Utilisateur

ReadCard Guide Utilisateur ReadCard Guide Utilisateur Document révision 04 Copyright 2011 ISLOG Network. Tout droit réservé. Historique de version Date Auteur Description Document Version 04/05/09 A Humilier Version initiale 00

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Comme déjà précisé dans les premiers chapitres de ce cours, il n existe pas de type chaîne de caractères prédéfinit en C. Il existe deux façons pour déclarer une chaîne de caractères

Plus en détail

Introduction à Scilab

Introduction à Scilab Introduction à Scilab Nicolas Kielbasiewicz 21 juin 2007 Scilab est un logiciel gratuit développé à l INRIA (l Institut National de Recherche en Informatique et Automatique) sous Windows, Linux et Mac,

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

FEN FICHE EMPLOIS NUISANCES

FEN FICHE EMPLOIS NUISANCES Version 4.8.2 Date mise à jour : 19 Février 2013 Auteur : LAFUMA Gilles Email : glfm02@orange.fr Web : www.procarla.fr/soft Présentation : FEN FICHE EMPLOIS NUISANCES Le Logiciel FEN Fiche emploi nuisance

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

QUALIFICATION DE FICHIERS PROFESSIONNELS

QUALIFICATION DE FICHIERS PROFESSIONNELS QUALIFICATION QUALIFICATION DE FICHIERS PROFESSIONNELS 2 Téléchargement 3 Installation 7 Ecran d accueil 14 Qualification sur Score3 16 Qualification de fichiers sur Pages Jaunes 23 Maniulation des fichiers

Plus en détail

Systèmes d exploitation Gestion des fichiers. Catalin Dima

Systèmes d exploitation Gestion des fichiers. Catalin Dima Systèmes d exploitation Gestion des fichiers Catalin Dima 1 Problématique Certains processus doivent stocker/avoir accès à une très grande quantité de mémoire Parfois plusieurs ordres de grandeur par rapport

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Cours de C/C++ par la pratique. Hugues Talbot

Cours de C/C++ par la pratique. Hugues Talbot Cours de C/C++ par la pratique Hugues Talbot 24 octobre 2008 2 Table des matières 1 Comment démarrer? 7 1.1 Un programme simple en C pur.......................... 7 1.2 Un programme en C ++...............................

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le 10.09.

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le 10.09. SOFI Gestion+ SOFI Informatique Version 5.4 Echanges de données informatiques Spicers Sofi gestion+ Groupements Actualisé le 10.09.2004 Table des matières 1. Catalogue et tarifs... 4 1.1 Définition EDI...

Plus en détail