Année universitaire 2002-2003
espace

Licence d'informatique
Module 4 - partie "C / shell"



Travaux pratiques 6 :

  • 1. Exercice 1 : transcodage d'une image couleur.
  • 2. Paramètres d'un programme.
  • 3. Exercice 2 : transcodage paramétré.
  • 4. Exercice 3 : macro-instruction de seuillage.
  • 5. Exercice 4 : fonction de transfert.

  • 1. Exercice 1.

    On souhaite transformer l'image couleur enregistrée dans le fichier /users/linfg/linfg0/ICONE/image_RVB.ppm en une image en niveaux de gris, puis écrire cette nouvelle image dans un fichier de nom image_NB.ppm. Pour cela, on utilisera les fonctions fscanf et fprintf (déjà présentées lors de la séance 2 de travaux pratiques) ainsi que les fonctions fread, fwrite, fseek et feof (déjà présentées lors de la séance 6 de travaux dirigés).

    Remarque :

    On conseille de procéder comme suit :

    Attention :

    Remarques :

    2. Paramètres d'un programme.

    Il est possible de lancer un programme exécutable, issu d'un programme source écrit en C, en lui passant des paramètres au moment de l'appel, comme cela est le cas pour la plupart des commandes UNIX.

    Exemple :

    > mnt 12 5 chaîne

    Pour récupérer les paramètres passés au moment de l'appel à un programme en C, il faut déclarer le programme principal avec deux arguments selon l'une des deux syntaxes équivalentes suivantes :

    Exemple précédent :

    Les valeurs de ces paramètres peuvent alors être réutilisées à l'intérieur du programme. Il est parfois nécessaire de convertir certains de ces paramètres en valeurs numériques. Dans l'exemple précédent, il sera nécessaire de convertir les chaînes de caractères "12" et "5" en entiers de valeurs 12 et 5

    3. Exercice 2.

    Modifier le programme réalisé dans l'exercice 1, de manière à passer les fichiers image_RVB.ppm et image_NB.ppm en paramètres, à l'appel du programme.

    4. Exercice 3.

    Modifier le programme précédent, de manière à intégrer une macro-instruction qui effectue un "seuillage". On définit pour cela une "constante de seuillage" S1 valant 100
    Pour une valeur v donnée :

    La macro-instruction sera appliquée à chaque valeur moyenne calculée dans l'exercice 1. Le résultat du test sera sauvegardé dans un nouveau fichier résultat, de nom image_NB_2.ppm

    5. Exercice 4.

    Modifier le programme précédent, de telle sorte qu'il procède de la manière suivante :

    Dans un premier temps, S2 et S3 seront déclarées en constantes. Ensuite, ces deux constantes de seuillage seront passées en paramètres à l'appel du programme. On écrira alors une fonction conversion, qui convertit une chaîne de caractères composée uniquement de chiffres, en un entier. Enfin, on testera le programme avec S2 et S3 valant respectivement 1 et 10.

    Remarque :


    Ces pages ont été réalisées par A. Crouzil, J.D. Durou et Ph. Joly.
    Pour tout commentaire, envoyer un mail à crouzil@irit.fr, à durou@irit.fr ou à Philippe.Joly@irit.fr.