COMPRESSION BINAIRE. Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T
|
|
- Florentin Antoine Rochon
- il y a 8 ans
- Total affichages :
Transcription
1 COMPRESSION BINAIRE Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T Auteurs: KASTTET Ahmed, SALIM Eliass ENSEIRB. T /2008
2 SOMMAIRE I.Introduction... 3 II.Codage... 3 II.1.Détection... 3 II.2. Codage... 3 II.3.Ecriture dans un fichier... 4 III. Décodage... 5 III.1. Lecture dans un fichier... 5 III.2. Décodage... 5 III.3. Reconstruction... 6 IV.Simulation... 6 V.Conclusion... 7 VI.Annexes : Scripts matlab... 7
3 I.INTRODUCTION La recommandation T4 de l ITU définit le format standard de l'image transmise par fax. Cette recommandation est particulièrement adaptée aux images monochromes, car il offre un bon taux de compression, entre 5:1 et 8:1 selon les images, ainsi qu une compression sans pertes de données. Ce codage qui est basé sur le codage de Huffman, convient donc parfaitement aux transmissions type fax. Le but du projet était de simuler sous Matlab, l encodage et le décodage d une image, en respectant les recommandations T4, puis de tester l algorithme de compression sur une image noir et blanc et de comparer la sortie avec l image d origine. II.CODAGE II.1.DETECTION Tout d abord, nous transformons les séquences de bits 0 (pixel noir) et 1 (pixel blanc) par des entiers représentant la longueur de ces séquences. Cette opération est effectuée par la fonction «detect.m» Cepant, la norme nous impose de commencer par une séquence de blancs. Ainsi nous obtenons alternativement un entier correspondant aux pixels blancs, puis un entier correspondant aux pixels noirs, etc Pour la ligne suivante : (1) Nous obtenons : II.2. CODAGE Dans une seconde étape nous codons chaque élément de la séquence obtenue précédemment, selon des codes qui proviennent de la table de Huffman prédéfinie par les spécifications T.4. Elle est issue d études statistiques sur la fréquence moyenne des séquences de 1 et de 0 dans des documents typiques.
4 Les codes sont de deux types : - Les codes Terminating - Les codes Make Up. Pour les longueurs inférieures à 64 le code est de type Terminating, pour trouver le codage équivalent il suffit de regarder à la ligne correspondant à la longueur dans la table de Huffman et l on récupère le code associé. Pour les longueurs supérieures ou égales à 64 le code est une concaténation des deux codes Make Up et Terminating. Le code Make Up correspondant au multiple de 64 le plus proche (par valeur inférieure) de la longueur de la séquence, le code Terminating étant la différence entre la longueur de la séquence et Make Up multiple obtenu.( Cf.codage_ligne.m) On obtient alors : (3) Afin de distinguer les différentes lignes dans le fichier complet, la norme précise de rajouter à la fin de chaque ligne le code EOL suivant : Nous avons alors : (4) Le code obtenu dans notre exemple est plus long que le code initial, ceci vient du fait que ce codage de Huffman est spécifique aux documents qui contiennent de plus longues séquences de 1 et de 0 que la séquence prise dans cet exemple. II.3.ECRITURE DANS UN FICHIER Pour finir, nous stockons le code obtenu précédemment dans un fichier ASCII (Cf. «ecriture.m») Cette étape consiste simplement à découper le code binaire obtenu en (4) en groupe de 8 bits, que l on va transformer en décimal puis enregistrer en tant que codes de caractères ASCII dans un fichier. Si le dernier groupe ne possède pas un nombre de bits multiple de 8, on complète par des zéros. On obtient le code ASCII suivant : (5)
5 III. DECODAGE III.1. LECTURE DANS UN FICHIER Pour retrouver la séquence de bits émise initialement il est nécessaire de décoder le fichier obtenu. La première chose à faire dans notre cas, est de convertir les codes ASCII stockés dans le fichier en code binaire. Tout en tenant compte du nombre de bits de padding à retirer du dernier code ASCII lu dans le fichier (Cf. «lecture.m»). On obtient le code binaire suivant : (6) III.2. DECODAGE L étape de décodage la plus délicate consiste à transformer cette suite de bits en nombre entier représentant la longueur. Pour ce faire on utilise un arbre de décodage (sous forme de tableau), qui s inspire des arbres de décodage de Huffman. Le principe de décodage est le suivant. Si le contenu d une case du tableau est égale a -1, on doit continuer à parcourir notre suite de bits car on ne se trouve pas sur une feuille de l arbre. L indice du tableau se calcule de la façon suivante : - initialisé à 1 pour tout nouveau code - multiplié par 2 si on trouve un 0 dans la suite de bits - multiplié par 2 puis sommé à 1 si on trouve un 1 Lorsque l on a trouvé une feuille, soit un élément différent de -1, on récupère la valeur et l écrit à la suite de notre vecteur. Cette valeur représente en fait le nombre de bits à 0 ou 1 à écrire dans le fichier de destination. Il ne faut pas oublier de changer de tableau à chaque nouveau code, sauf si la valeur retournée par le tableau est supérieure à 64 et différente de 8193 (8193 correspond au code EOL), dans ce cas on considère que le premier code correspond au make up, on reste sur le même arbre pour le code suivant, le Terminating.
6 De même il ne faut pas oublier qu après un code EOL il faut nécessairement recommencer avec l arbre des blancs («decodage.m ). On obtient le code suivant : (7) III.3. RECONSTRUCTION La dernière étape du décodage consiste donc à retrouver le code initial à partir du code obtenu précédemment. Le fonctionnement est très basique, puisqu il ne s agit que d écrire le nombre de pixels noirs ou blancs donné par la séquence (7) alternativement dans une matrice, et de changer de ligne à chaque fois qu on tombe sur le code Sans oublier que le premier nombre représente toujours le nombre de blancs en début de ligne (Cf. «recostruction.m»). On obtient ainsi notre image initiale IV.SIMULATION Le processus décrit ci-dessus peut se résumer sur le schéma suivant : Image initiale Image codée RLE Image codée selon table de Huffman Ecriture du fichier codée (ASCII) Codage Image en reception Decodage RLE Décodage selon table de Huffman Lecture du fichier codée (ASCII) Décodage
7 Ce processus va être appliqué à l image monochrome «test_bin.tif» de taille 15.5ko. (Cf. «main.m»). En comparant les taills du fichier initial et celui genéré par la méthode, il est possible de mesurer le taux de compression obtenu. Il est également possible de comparer le résultat obtenu avec celui de la fonction imwrite qui implémente des compressions analogues (fax3,fax4) On peut également vérifier que le processus opère sans perte car la somme de la différence des deux images (initiale est finale) est nulle. Perte=sum(sum(image-image_decompresse)) =0 Voici les résultats obtenus : i. taux de compression de notre chaine= 58,77 % ii. taux de compression de imwrite(fax3)=50,77 % iii. taux de compression de imwrite(fax4)=64,87 % on constate que notre chaine donne un rement acceptable et dans le même ordre de grandeur de celui de la fonction matlab imwrite. V.CONCLUSION Le but de ce projet était de mettre en pratique, à l aide de Matlab, la compression / décompression d une image binaire selon les recommandations T4. Il était intéressant de se concentrer sur chaque étape du codage et du décodage, puis de tout mettre en commun afin de réaliser la compression/décompression. Cette mise en commun ne fut pas évidente, et fut source de beaucoup d erreurs. Elle nous a permis de constater que certaines de nos fonctions comportait des erreurs pour certains cas auxquels nous n avions pas pensés. L encodage utilisé ici est un encodage à une dimension, nous aurions pu obtenir encore de meilleurs résultat avec un encodage à deux dimensions. VI.ANNEXES : SCRIPTS MATLAB % main.m clear all load('arbres_codes.mat') image=imread('test_bin.tif'); image_compresse=codage('test_bin.tif','codes.txt'); recus=lecture('transmis.txt'); sequence=decodage(recus,black_tree,white_tree); image_decompresse=recostruction(sequence);
8 taille_initiale=size(image,1)*size(image,2); taille_finale=size(image_decompresse,1)*size(image_decompresse,2); taux_compression=taille_initiale/taille_finale; disp('taux de compression :'); disp(taux_compression); imwrite(image,'image_fax3.tif','tif','compression','fax3'); image_fax3=imread('image_fax3.tif'); taille_fax3=size(image_fax3,1)*size(image_fax3,2); taux_fax3=taille_fax3/taille_finale; disp('taux de compression fax3 :'); disp(taux_fax3); imwrite(image,'image_fax4.tif','tif','compression','fax4'); image_fax4=imread('image_fax4.tif'); taille_fax4=size(image_fax4,1)*size(image_fax4,2); taux_fax4=taille_fax4/taille_finale; disp('taux de compression fax4 :'); disp(taux_fax4); %detect.m % function [y] = detect (x) t=0; i=1; k=1; if (x(1)=='0') y(k)=0; k=2; while (i<length(x)+1) if (x(i)=='0') while (i<length(x)+1 && x(i)=='0') t=t+1; i=i+1; else while (i<length(x)+1 && x(i)=='1') t=t+1; i=i+1; y(k)=t; k=k+1; t=0; %codage_mot.m % function [code]= codage_mot(num,color) fid=fopen('codes.txt'); k=1; table=cell(91,3); while 1 tline = fgetl(fid); if ~ischar(tline), break, numero=sscanf(tline,'%d %*s %*s'); noir=sscanf(tline,'%*d %s %*s'); blanc=sscanf(tline,'%*d %*s %s');
9 noir=char(noir)'; blanc=char(blanc)'; table{k,1}=numero; table{k,2}=noir; table{k,3}=blanc; k=k+1; fclose(fid); if (num<64) t=table(num+1,color); else first_num=mod(num,64); term=table(first_num+1,color); scnd_num=floor(num/64); make=table(64+scnd_num,color); t=[make term]; code=t; % %codage_ligne.m % % function [y] = codage_ligne(x) i=1; y=''; EOL=' '; while(i<length(x)+1) if (mod(i,2)==1) t=codage_mot(x(i),3); else t=codage_mot(x(i),2); i=i+1; y=[y t]; y=[y EOL]; %codage.m % function code=codage(image,table_huff) table=lecture(table_huff); A=imread(image); [l c]=size(a); code=[]; EOL=' '; for i=1:l ligne=num2str(a(i,:)')'; code=[code codage_ligne(detect(ligne))]; code=[code EOL EOL EOL EOL EOL]; ecriture(code,'codage.txt'); %ecriture.m % function fichier=ecriture(code,file) l=length(code); pad=mod( 8-mod(l,8),8); padding=dec2bin(zeros(1,pad))'; code=[code padding]; l=length(code)/8;
10 bits_8=reshape(code,[8,l])'; [h,w]=size(bits_8); fid = fopen('transmis.txt', 'w'); for i=1:h fwrite(fid,bin2dec(bits_8(i,:))); fclose(fid); %lecture.m % function recus=lecture(fichier) fid=fopen(fichier); i=1; recus=[]; while 1 recus=dec2bin(fread(fid)); if ~ischar(fgetl(fid)), break, recus=reshape(recus',[1,numel(recus)]); fclose(fid); %decodage.m % function sequence=decodage(recus,black_tree,white_tree) index=1; val=-1; buffer=0; code=[]; sequence=[]; EOL=' '; color=1 ; for i=1:numel(recus) if (val==-1) code=[code recus(i)]; bit=str2num(recus(i)); index=bit*(2*index+1)+not(bit)*(2*index); index=2*index+1; index=2*index; if(color==1) val=white_tree(index); else val=black_tree(index); % cas des EOL if( strcmp(code,eol) ) sequence=[sequence -1]; color=1; buffer=0; val=-1; index=1; code=[]; % cas <63 elseif (val~=-1 && val<=63) sequence=[sequence val+buffer];
11 color=mod(color+1,2) ; index=1; val=-1; buffer=0; code=[]; % cas >63 elseif (val~=-1 && val>63) buffer=val; index=1; val=-1; i=i+1; %reconstruction.m % function [image]=recostruction(sequence) l=length(sequence); image=[]; ligne=[]; color=1; firsteol=1; for i=1:l-5 if (sequence(i)~=-1) if(sequence(i)==0) color=0; elseif(color==1) ligne=[ligne ones(1,sequence(i))]; color=0; elseif(color==0) ligne=[ligne zeros(1,sequence(i))]; color=1; else if(firsteol) image=[ligne;ligne]; firsteol=0; ligne=[]; color=1; if(~firsteol) image=[image;ligne]; ligne=[]; color=1; image(1,:)=[];
Transmission d informations sur le réseau électrique
Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailIntroduction à 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étailTravaux 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étailProjet 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étailFormats 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étailCodage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
Plus en détailTD : 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étailIMAGES 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étailMATLAB : 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étailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailTP : Gestion d une image au format PGM
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
Plus en détail1 Introduction au codage
CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles
Plus en détailConversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailLe codage informatique
Outils de Bureautique Le codage informatique (exemple : du binaire au traitement de texte) PLAN 3) Le codage binaire 4) Représentation physique des bits 5) Le bit est un peu court... 6) Codage de texte
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détailStructure 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étailDéfinition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Plus en détailÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailnom : Collège Ste Clotilde
UNE CONFIGURATION INFORMATIQUE Objectif : Identifier les éléments principaux d une configuration L ordinateur enregistre des données qu il traite pour produire un résultat Sifflements 20 Notice 12 attache
Plus en détailSolutions web : instructions aux développeurs
Solutions web : instructions aux développeurs INFORMATIONS GÉNÉRALES L inscription aux services en ligne permet d utiliser le système de transmission des informations de paiement par Internet (TIP-I) de
Plus en détailChap17 - 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étailCours 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étailThéorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France
Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes
Plus en détailCapacité d un canal Second Théorème de Shannon. Théorie de l information 1/34
Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second
Plus en détailINITIATION 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étail6 - 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étailThéorie et codage de l information
Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailTravaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES
TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME
Plus en détailProjet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo
Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo Dans ce projet, nous allons réaliser le code qui permet d'insérer sur une image, un logo sur un
Plus en détailDM 1 : Montre Autoquartz ETA
Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailTraitement numérique de l'image. Raphaël Isdant - 2009
Traitement numérique de l'image 1/ L'IMAGE NUMÉRIQUE : COMPOSITION ET CARACTÉRISTIQUES 1.1 - Le pixel: Une image numérique est constituée d'un ensemble de points appelés pixels (abréviation de PICture
Plus en détailChapitre 13 Numérisation de l information
DERNIÈRE IMPRESSION LE 2 septembre 2013 à 17:33 Chapitre 13 Numérisation de l information Table des matières 1 Transmission des informations 2 2 La numérisation 2 2.1 L échantillonage..............................
Plus en détailDocumentation SecurBdF
Documentation SecurBdF SECURBDF V2 Protocole de sécurité de la Banque de France SecurBdF V2 DIRECTION DE L'INFORMATIQUE ET DES TÉLÉCOMMUNICATIONS Sommaire I 1 Contexte... 1 2 Références... 1 3 Cadre...
Plus en détailChap 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étailEtudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté
Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailBases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Plus en détailLicence 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étailCompression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailProgrammation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet
Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.
Plus en détailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détailExpérience 3 Formats de signalisation binaire
Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx
Plus en détailChapitre 18 : Transmettre et stocker de l information
Chapitre 18 : Transmettre et stocker de l information Connaissances et compétences : - Identifier les éléments d une chaîne de transmission d informations. - Recueillir et exploiter des informations concernant
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailComme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:
Travaux Pratiques 3. IFT 1002/IFT 1005. Structure Interne des Ordinateurs. Département d'informatique et de génie logiciel. Université Laval. Hiver 2012. Prof : Bui Minh Duc. Tous les exercices sont indépendants.
Plus en détailTP 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étailCompléments de documentation Scilab : affichage de texte et formatage de nombres
Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailInformatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Plus en détailExceptions. 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étailGestion 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étailReconstruction de bâtiments en 3D à partir de nuages de points LIDAR
Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains
Plus en détailCours 7 : Utilisation de modules sous python
Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est
Plus en détailIntroduction à l algorithmique et à la programmation (Info 2)
Introduction à l algorithmique et à la programmation (Info 2) Premier cours: présentation du module, codage et définition de l algorithmique Matthieu Puigt IUT du Littoral Côte d Opale DUT Génie Industriel
Plus en détailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailURECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
Plus en détailhttp://cermics.enpc.fr/scilab
scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,
Plus en détailTD 1 - Transmission en bande de passe
Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Claude Duvallet 1/10 Transmission en bande de passe (1/2) Description
Plus en détailFê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étailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailTP 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étailQuelques Algorithmes simples
Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailProgrammation 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étaila)390 + 520 + 150 b)702 + 159 +100
Ex 1 : Calcule un ordre de grandeur du résultat et indique s il sera supérieur à 1 000 L addition est une opération qui permet de calculer la somme de plusieurs nombres. On peut changer l ordre de ses
Plus en détailSTAGE 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étailIntroduction à NetCDF
Introduction à NetCDF École normale supérieure L3 géosciences 2014/2015 Lionel GUEZ guez@lmd.ens.fr Laboratoire de météorologie dynamique Explications préliminaires Deux distinctions générales sur les
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
Plus en détailJPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!
JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer! 1 / Contexte L ordinateur La loi du nombre La numérisation = codage d une information en chiffres binaire : 0 1 («bit») 8 bits = 1 octet 1ko = 1024
Plus en détailEVALUATIONS MI-PARCOURS CM2
Les enseignants de CM2 de la circonscription de METZ-SUD proposent EVALUATIONS MI-PARCOURS CM2 Mathématiques Livret enseignant NOMBRES ET CALCUL Circonscription de METZ-SUD Page 1 Séquence 1 : Exercice
Plus en détailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailAlgorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Plus en détailReprésentation d un nombre en machine, erreurs d arrondis
Chapitre Représentation d un nombre en machine, erreurs d arrondis Ce chapitre est une introduction à la représentation des nombres en machine et aux erreurs d arrondis, basé sur [], [].. Un exemple :
Plus en détailM2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013
Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :
Plus en détailTP 2 : Chiffrement par blocs
USTL - Licence et Master Informatique 2006-2007 Principes et Algorithmes de Cryptographie TP 2 : Chiffrement par blocs Objectifs du TP utiliser openssl pour chiffrer/déchiffrer, étudier le remplissage
Plus en détailCompression Compression par dictionnaires
Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une
Plus en détailAnalyse 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étailProbabilités conditionnelles Loi binomiale
Exercices 23 juillet 2014 Probabilités conditionnelles Loi binomiale Équiprobabilité et variable aléatoire Exercice 1 Une urne contient 5 boules indiscernables, 3 rouges et 2 vertes. On tire au hasard
Plus en détailTransmission de données. A) Principaux éléments intervenant dans la transmission
Page 1 / 7 A) Principaux éléments intervenant dans la transmission A.1 Equipement voisins Ordinateur ou terminal Ordinateur ou terminal Canal de transmission ETTD ETTD ETTD : Equipement Terminal de Traitement
Plus en détailLA SECURITE DES CARTES A BANDE MAGNETIQUE
Benuts K1wy LA SECURITE DES CARTES A BANDE MAGNETIQUE INTRODUCTION : L information est présente partout dans la vie, et à acquis une importance capitale dans le monde actuel. Il a
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailINFO 2 : Traitement des images
INFO 2 : Traitement des images Objectifs : Comprendre la différence entre image vectorielle et bipmap. Comprendre les caractéristiques d'une image : résolution, définition, nombre de couleurs, poids Etre
Plus en détailActivité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels
Activité 4 Tour de cartes Détection et correction des erreurs Résumé Lorsque les données sont stockées sur un disque ou transmises d un ordinateur à un autre, nous supposons généralement qu elles n ont
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
Plus en détailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
Plus en détail