IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Caml Discussion :

Projet sur Ocaml


Sujet :

Caml

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Projet sur Ocaml
    Bonjour à tous,

    J'ai un projet à faire en Caml et j'aimerais avoir un peu d'aide si possible ..

    Voici le sujet :






    Il faut réaliser un logiciel de traitement d’images en mode graphique.

    Le logiciel sera lancé en indiquant un nom de fichier au format PPM.
    L’image sera alors affichée dans une fenêtre graphique.

    Une barre d’outils devra être mise en place pour permettre la réalisation des opérations suivantes :

    - conversion en niveaux de gris

    - rendre l’image floue

    - inverser horizontalement/verticalement

    - afficher l’histogramme des trois canaux de couleurs

    - faire un recadrage

    A chaque instant, l’image pourra être sauvegardée sous un nom ajoutant une extension au nom de l’image originale.






    En clair, je ne comprends pas grand chose..

    Je sais manipuler une fenêtre dans le sens où je sais l'ouvrir, la fermer tracer des trucs etc..

    Mais je ne sais pas comment faire une barre d'outils .. ni même comment faire pour le reste ..




    En fait c'est un module du CNAM que je dois passer, le problème c'est que j'ai fais un BTS réseau et on a presque pas fait de programmation.

    Il y a bien un cours sur le site du CNAM mais il ne parle pas de ça, car cela fait parti du projet noté (dans le cours on fait des fonctions on manipule des variables, des trucs de base en fait.. et là il y a ce projet)




    Si quelqu'un pouvait me donner des pistes, ça serait sympa, merci !



    Ps : j'ai trouvé quelques pistes sur le forum

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai trouvé ça pour la lecture d'un fichier ppm :

    OCaml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    let read_ppm ~filename =
      let ic = open_in filename in
      let line = input_line ic in
      if line <> "P6" then invalid_arg "not a P6 ppm file";
      let line = input_line ic in
      let line =
        try if line.[0] = '#'  (* skip comments *)
        then input_line ic
        else line
        with _ -> line
      in
      let width, height =
        Scanf.sscanf line "%d %d" (fun w h -> (w, h))
      in
      let line = input_line ic in
      if line <> "255" then invalid_arg "not a 8 bit depth image";
      let all_channels =
        let kind = Bigarray.int8_unsigned
        and layout = Bigarray.c_layout
        in
        Bigarray.Array3.create kind layout 3 width height
      in
      let r_channel = Bigarray.Array3.slice_left_2 all_channels 0
      and g_channel = Bigarray.Array3.slice_left_2 all_channels 1
      and b_channel = Bigarray.Array3.slice_left_2 all_channels 2
      in
      for y = 0 to pred height do
        for x = 0 to pred width do
          r_channel.{x,y} <- (input_byte ic);
          g_channel.{x,y} <- (input_byte ic);
          b_channel.{x,y} <- (input_byte ic);
        done;
      done;
      close_in ic;
      (all_channels,
       r_channel,
       g_channel,
       b_channel)
    Mais je ne comprends pas tout ce qu'il fait ..



    Et ça pour la conversion en gris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    let to_grayscale ~img:(_, r_channel, g_channel, b_channel) =
      let width = Bigarray.Array2.dim1 r_channel
      and height = Bigarray.Array2.dim2 r_channel in
     
      let gray_channel =
        let kind = Bigarray.int8_unsigned
        and layout = Bigarray.c_layout
        in
        (Bigarray.Array2.create kind layout width height)
      in
      for y = 0 to pred height do
        for x = 0 to pred width do
          let r = r_channel.{x,y}
          and g = g_channel.{x,y}
          and b = b_channel.{x,y} in
          let v = (2_126 * r +  7_152 * g + 722 * b) / 10_000 in
          gray_channel.{x,y} <- v;
        done;
      done;
      (gray_channel)
    Là pareil je ne comprends pas tout ce qu'il fait ...

  3. #3
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Salut !

    Voici un début de réponse à ces nombreuses questions.

    Citation Envoyé par Bloodeyes
    Je sais manipuler une fenêtre dans le sens où je sais l'ouvrir, la fermer tracer des trucs etc..
    Je suppose que tu fais référence aux fenêtres produites par le module Graphics. J'ai bien peur que cela ne permette pas de réaliser une vraie barre d'outils. Il faut voir du côté de LablTk ou LablGTK pour réaliser une interface graphique. Si tu as accès à un poste sous GNU/Linux avec le bureau GNOME, alors LablGTK est vraiment un outil de choix. Sous d'autres environnements, l'installation est souvent pleine de (mauvaises) surprises.

    Citation Envoyé par Bloodeyes
    ni même comment faire pour le reste
    Procédons avec méthode : as-tu déjà trouvé des informations sur la structure interne d'un fichier PPM ? C'est la toute première chose à faire, avant de penser à coder quoi que ce soit. J'ai trouvé un début d'infos sur ce sujet ici. En bref, c'est un format simple avec des fichiers ASCII. Un bon candidat pour l'analyse lexicale/syntaxique.

    Concernant les codes que tu as trouvés : ils sont effectivement en rapport avec ton sujet. Cependant, pour t'aider au mieux, il ne faut pas procéder ainsi : dis-moi d'abord grosso modo quel est ton niveau en OCaml, et bien entendu ce que tu ne comprends pas. À partir de là, je suis sûr qu'il y a moyen de s'en sortir !

    Cordialement,
    Cacophrène

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci de ton aide !

    Je suppose que tu fais référence aux fenêtres produites par le module Graphics.
    Oui en effet, car c'est la seule chose que j'ai vu en cours concernant les fonctions graphiques. J'attends une réponse de la part du prof pour savoir si je suis restreint à cela ou non.

    Procédons avec méthode : as-tu déjà trouvé des informations sur la structure interne d'un fichier PPM ? C'est la toute première chose à faire, avant de penser à coder quoi que ce soit. J'ai trouvé un début d'infos sur ce sujet ici.
    Merci, j'ai trouvé aussi ce lien sur un autre post du forum. J'ai commencé à le lire.

    Le problème est que j'étudie caml depuis seulement 1 à 2 mois ... j'ai appris avec les cours du cnam et en ce qui concerne ce que je ne comprends pas ... et bien, je ne comprends pas ce que font exactement les fonctions que j'ai posté..

    Ainsi que pour la barre d'outils je ne vois vraiment pas comment faire, enfin bon, comme tu disais, je peux toujours chercher je ne pourrais pas faire quelque chose de fabuleux avec graphics.

  5. #5
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Ca m'a tout l'air d'être un projet surdimensionné pour l'occasion. Avez-vous eu des cours sur les interfaces graphiques ?

    Si non, c'est un coup de p**e !

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Bloodeyes Voir le message
    [...]
    Le problème est que j'étudie caml depuis seulement 1 à 2 mois ...[...]
    Pour la barre d'outils, le problème se situera dans la connaissance de GTK surtout. Pour le fichier PPM, la connaissance de la structure d'un fichier ne demande aucune réelle connaissance en programmation. Il faut que tu comprennes comment le fichier est écrit. Après il faut que tu apprennes à lire et écrire un fichier texte. Si tu l'as déjà fait dans d'autre langage, ce n'est pas un problème sinon tu auras là un apprentissage.
    Le reste par contre va être plus compliqué (mise en place des filtres). J'ai du mal à croire qu'on te demande ça au CNAM sans aucune aide et sans cours…

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ca m'a tout l'air d'être un projet surdimensionné pour l'occasion. Avez-vous eu des cours sur les interfaces graphiques ?
    Oui, j'ai un cours qui m'explique comment ouvrir la lib graphics, comment ouvrir fermer une fenêtre graphique, comment tracer des cercles ellipses carré carré plein et comment écrire du texte ...

    C'est tout !

    Pour la barre d'outils, le problème se situera dans la connaissance de GTK surtout.
    C'est simple, je connais pas lol. Plus sérieusement, je vais me pencher dessus, mais une fois que j'aurais confirmation du prof (sur le fait que je peux utiliser autre chose que Graphics).

    Si tu l'as déjà fait dans d'autre langage, ce n'est pas un problème sinon tu auras là un apprentissage.
    Niveau programmation c'est 0 pour moi... à part les 1 / 2 mois de caml.

    J'ai du mal à croire qu'on te demande ça au CNAM sans aucune aide et sans cours…
    Si tu savais... je passe une licence en informatique avec le cnam et j'ai eu droit à des cours pour le moins abusé :

    Quelques exemples, un module de 1200 pages sur l'histoire de l'informatique et la description technique de tout ce qui compose un processeur .. a apprendre par coeur à en croire le prof car l'examen se compose de questions aléatoires sur l'ensemble du cours lol.

    Un autre module ou les cours sont uniquement composés de signes mathématiques (dont certains dont je ne soupçonnais même pas l'existence) et formules les utilisant. Incompréhensible, j'ai dû trouver des cours sur le net pour apprendre.

    Bref pour l'instant c'est un peu folklo

    Donc ce coup là où il n'y a pas de cours pour le projet... ne m'étonne pas. Par contre je galère quand même pas mal à trouver comment faire lol.




    C'est dur de faire une barre d'outils avec GTK ?

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Bloodeyes Voir le message
    [...]
    Si tu savais... je passe une licence en informatique avec le cnam et j'ai eu droit à des cours pour le moins abusé :

    Quelques exemples, un module de 1200 pages sur l'histoire de l'informatique et la description technique de tout ce qui compose un processeur .. [...]

    Un autre module ou les cours sont uniquement composés de signes mathématiques (dont certains dont je ne soupçonnais même pas l'existence) et formules les utilisant. Incompréhensible, j'ai dû trouver des cours sur le net pour apprendre.[...]?
    Mouais pas convaincu. Je connais le CNAM. J'y ai eu des cours et j'y connais des profs avec qui je travaille. Ok c'est le CNAM Paris, mais je reste sceptique face à tes dires. Que tu ne connaisses pas et ne comprennent pas la logique mathématique ou que tu n'apprécies pas l'histoire de l'informatique est une chose. Que tu dises que les cours sont mal faits et que l'enseignement est nul, en est une autre.

    Maintenant ceci n'a pas de lien avec ton problème. Revenons-y : vu ce que tu nous dis, tu seras incapable de faire ton projet. Enfin pas complètement incapable, mais ça va plus ressembler à du n'importe quoi. Donc soit, il y a des éléments que nous ne connaissons pas — et ton prof serait bien mieux placé que nous pour te répondre — soit l'enseignement est vraiment douteux. Mais je miserais plus sur le premier. Donc va plutôt te renseigner avec ton prof. Savoir s'il veut du GTK, s'il veut que tu apprennes des parties de cours seuls, savoir s'il y a des ressources, savoir où tu peux avoir les algorithmes pour le traitement d'image, etc. te seront d'un grand secours.

  9. #9
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Salut !

    Citation Envoyé par Bloodeyes
    Oui, j'ai un cours qui m'explique comment ouvrir la lib graphics, comment ouvrir fermer une fenêtre graphique, comment tracer des cercles ellipses carré carré plein et comment écrire du texte ...
    Oui, c'est très différent de LablGTK. On se sert surtout de Graphics pour les tracés seuls, dans des progs « ludiques » ou des exercices. Pour les applications graphiques avec dessins simples, on utilise avantageusement LablGTK ; dès qu'on veut faire des tracés de façon intensive, avec des effets, de la 3D, etc. on se tourne bien entendu vers LablGL. Bref, dans ton cas, ce serait bien de pouvoir rester sur Graphics car LablGTK est une grosse bibliothèque écrite avec des objets, des variants polymorphes, etc. choses généralement absentes (tout à fait normal !) d'un cours d'introduction à caml. Ceci dit si tu dois malgré tout t'en servir n'hésite pas à demander. Je m'en sers souvent et je peux t'aider à réaliser une barre d'outils (pour répondre à ta question : ce n'est pas difficile à faire).

    Citation Envoyé par Garulfo
    Donc soit, il y a des éléments que nous ne connaissons pas — et ton prof serait bien mieux placé que nous pour te répondre — soit l'enseignement est vraiment douteux. Mais je miserais plus sur le premier. Donc va plutôt te renseigner avec ton prof. Savoir s'il veut du GTK, s'il veut que tu apprennes des parties de cours seuls, savoir s'il y a des ressources, savoir où tu peux avoir les algorithmes pour le traitement d'image, etc. te seront d'un grand secours.
    +1. Il faut avoir une idée précise des objectifs, des attentes, etc. avant de commencer quoi que ce soit.

    Cordialement,
    Cacophrène

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    CONCERNANT LE CNAM

    Mouais pas convaincu. Je connais le CNAM. J'y ai eu des cours et j'y connais des profs avec qui je travaille. Ok c'est le CNAM Paris, mais je reste sceptique face à tes dires. Que tu ne connaisses pas et ne comprennent pas la logique mathématique ou que tu n'apprécies pas l'histoire de l'informatique est une chose. Que tu dises que les cours sont mal faits et que l'enseignement est nul, en est une autre.
    Et bien excuse moi mais rien que le fait d'avoir 1200 pages à apprendre pour pouvoir ressortir des détails lors de l'examen (questions aléatoires, je l'ai passé cet exam), quelque soit le sujet, c'est du gros nimporte quoi.

    Je n'ai rien contre l'histoire de l'informatique à partir du moment où le cours est intéressant, là personnellement, il y a une mise en page affreuse, pleins de détails sans intérêts (et d'autres qui ont un grand intérêt je te l'accorde, mais moins nombreux, et les questions ne portaient pas forcement sur ceux-là)
    (j'ai montré à bon nombre de personnes qui ont approuvé mon avis, vu que j'étais un peu sidéré par le module, j'en ai parlé autour de moi, si tu veux le pdf je te l'envoi sans problème )


    De plus, tu l'as peut-être fais en cours du soir ?

    Je le fais en formation à distance, sur la plateforme plei@d. Pas de cours avec le prof donc (avec le cnam picardie).


    Ensuite concernant le fait que "je ne connais pas et ne comprend pas la logique mathématique" est peut-être lié au fait que je n'aime pas le module qui en est composé. Mais frenchement, un cours composé que de formules mathématiques très complexe (pareil j'ai montré autour de moi, et je ne suis pas entouré d'abrutis..), ça donne pas envie d'apprendre ou de comprendre, enfin bon là n'est pas le problème car j'ai trouvé des cours sur internet, expliquant là même chose mais avec une approche 100 fois plus pédagogique et compréhensible pour ceux qui ne font pas math supp.


    Et un autre point aussi : les profs répondent toujours 1 à 2 semaines après (voir jamais, je me suis plaint plusieurs fois) quand on leur envoie des mails (pas le seul à l'avoir remarqué, et ce, sur 4 profs différents..). Bon il y a quand même le cas exceptionnel du prof qui te répond tout le temps dans la journée, mais j'en ai qu'un seul comme ça.



    CONCERNANT LE PROJET

    Revenons-y : vu ce que tu nous dis, tu seras incapable de faire ton projet. Enfin pas complètement incapable, mais ça va plus ressembler à du n'importe quoi.
    Bah.. j'essaye, on vera bien ce que ça donne, mais vu ce que je trouve et ce que j'apprends sur les forums (et celui-ci), j'ai l'impression que tu n'es pas dans le faux en disant ça..

    Donc soit, il y a des éléments que nous ne connaissons pas
    Je n'ai rien caché, j'ai dis ce que j'avais comme cours...

    savoir où tu peux avoir les algorithmes pour le traitement d'image, etc
    Je lui ai demandé par mail, je n'attend plus que sa réponse

    Par contre il dit bien de se documenter sur internet pour le projet, et donc il ne fournit aucun liens sur la plateforme plei@d.




    Bref, dans ton cas, ce serait bien de pouvoir rester sur Graphics
    D'accord,

    Et tu penses que ce que je dois faire dans mon projet est faisable sur Graphics ? (rotation de l'image, niveaux de gris, etc.)

    Ceci dit si tu dois malgré tout t'en servir n'hésite pas à demander. Je m'en sers souvent et je peux t'aider à réaliser une barre d'outils (pour répondre à ta question : ce n'est pas difficile à faire).
    Merci beaucoups de ton aide




    Quoi qu'il en soit, je vous tiens au courant de la réponse de mon prof.

    Merci de votre aide

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 832
    Points : 1 104
    Points
    1 104
    Par défaut
    Les manipulations de l'image elle-même peuvent effectivement être faites en Graphics. À ta place, j'essaierais de coder les plus simples (inverser horizontalement/verticalement et le flou) dès maintenant.

    Pour la barre d'outil, il y a un compromis à faire : soit tu utilises une vraie bibliothèque de GUI, qui est l'outil adapté pour ça, mais tu dois apprendre à t'en servir et ça peut prendre du temps, soit tu fais un truc moche en Graphics qui n'est pas fait pour ça mais permet de faire des choses très basiques sans avoir à apprendre autre chose.
    À toi de voir, si tu choisis la GUI je te conseille de regarder Tk (et pas GTK) qui est plus moche et moins flexible, mais simple à utiliser et a l'avantage d'être incluse par défaut dans Caml. Dans tous les cas, à ta place je commencerais par la partie intéressante (transformations de l'image) et remettrais la barre d'outils à plus tard, quand tu auras déjà quelque chose de concret.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    D'accord !

    Mais pour les traitements de l'image, je n'arrive juste pas à trouver comment effectuer une rotation ou bien faire un flou... j'ai trouvé du code pour faire une convertion en niveaux de gris, mais pas ça.

    Si tu as un lien ou une aide, ça serait super


    Et pour la barre d'outils, je pense me pencher vers le choix le plus simple. Est-ce compliqué à faire sous Graphics ? En regardant les commandes sous graphics je ne vois pas comment je peux faire pour faire une barre d'outils...


    Merci !

  13. #13
    Membre éprouvé
    Avatar de Cacophrene
    Homme Profil pro
    Biologiste
    Inscrit en
    Janvier 2009
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Biologiste

    Informations forums :
    Inscription : Janvier 2009
    Messages : 535
    Points : 1 125
    Points
    1 125
    Par défaut
    Re !

    Citation Envoyé par bluestorm
    À toi de voir, si tu choisis la GUI je te conseille de regarder Tk (et pas GTK) qui est plus moche et moins flexible, mais simple à utiliser et a l'avantage d'être incluse par défaut dans Caml
    Je suis a priori d'accord si Bloodeyes travaille sous Windows. Dans le cas contraire, je suis presque sûr que les deux bibliothèques seront aussi faciles à utiliser l'une que l'autre. Quant aux primitives de dessin de LablGTK, elles ressemblent fort à Graphics...

    Citation Envoyé par Bloodeyes
    Mais pour les traitements de l'image, je n'arrive juste pas à trouver comment effectuer une rotation ou bien faire un flou... j'ai trouvé du code pour faire une conversion en niveaux de gris, mais pas ça.
    Je ne crois pas que ce soit la bonne façon de procéder. Le mieux serait encore de trouver une description des algorithmes plutôt qu'un code tout fait. Il nous sera ensuite possible de t'aider à les implémenter en Caml, et cela te sera sans doute beaucoup plus profitable.

    Citation Envoyé par bluestorm
    Dans tous les cas, à ta place je commencerais par la partie intéressante (transformations de l'image) et remettrais la barre d'outils à plus tard, quand tu auras déjà quelque chose de concret.
    +1 c'est carrément pas le centre du sujet, et on peut très bien commencer par tester les algos avec Graphics pour passer ensuite à la version avec GUI.

    Citation Envoyé par Bloodeyes
    Par contre il dit bien de se documenter sur internet pour le projet
    Je pense en effet que la clef du projet est dans cette phrase. Puisqu'il s'agit de mettre en pratique des connaissances (acquises ou pas, présentées ou pas, c'est un autre débat auquel je ne souhaite pas prendre part), il faut suivre la démarche habituelle :

    (1) Qu'est-ce qu'un fichier PPM ? Comment est-il construit ?
    C'est un fichier ASCII qui contient les données d'une image.
    (2) Comment puis-je lire des fichiers PPM ? Quels outils peuvent m'y aider ?
    J'ai besoin d'outils pour analyser du texte (regexp, scanf, stream, lexer ?)
    (3) Quel est le principe général des transformations d'images demandées ?
    Wikipédia peut-il m'aider ? Et la doc d'un logiciel comme The Gimp ?
    (4) Comment implémenter ces algorithmes en Caml ?
    Je vais essayer et demander de l'aide sur ce forum
    (5) Comment ajouter une GUI à mon programme ?
    Une vraie GUI ou une fausse GUI ? Avec quelle bibliothèque ?

    C'est amusant, j'ai l'impression qu'on a commencé ici par les dernières questions, ce qui est logique puisque c'est essentiellement la partie Caml qui nous intéresse sur ce forum... M'est avis qu'il y a un travail important à réaliser en amont. Bon, moi j'dis ça, j'dis rien.

    Cordialement,
    Cacophrène

  14. #14
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Bloodeyes Voir le message
    D'accord !

    Mais pour les traitements de l'image, je n'arrive juste pas à trouver comment effectuer une rotation ou bien faire un flou... j'ai trouvé du code pour faire une convertion en niveaux de gris, mais pas ça. [...]
    Oublie le code. Pour l'instant il te faut la compréhension mathématique des transformations dans l'espace. À moins que ça ait changé, les transformations de l'espace sont vues en première/terminale scientifique, non ? Donc un simple cours sur les similitudes t'aidera pour ça, accompagné d'un cours d'algèbre linéaire. Le principe est simplement d'appliquer une matrice de transformation à des vecteurs qui représentent tes points. Par exemple, une matrice de rotation te permettra de faire « tourner » chacun de tes points autour de O d'un angle theta. http://fr.wikipedia.org/wiki/Matrice_de_rotation
    Ce n'est pas difficile de faire les matrices de translation tout seul, et si tu n'es pas perdu en géométrie de faire les matrices pour les inversions. Passer par des matrices rendra tes algorithmes, et ta manière de faire donc, plus homogène.

    Pour le flou et autre traitement dans le même genre c'est un peu plus complexe, mais encore une fois il te faut un algorithme et non du code. Le code viendra de l'algo.
    Ceci pourra t'aider je pense : http://www.student.kuleuven.be/~m021...filtering.html
    Pour cette partie, c'est au forum algo ou tu auras le plus d'information de toute façon. Ici c'est quand tu auras ces algos et que tu voudras les implémenter.

  15. #15
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 991
    Points
    2 991
    Par défaut
    Concentre toi d'abord sur ce qu'on te demande algorithmiquement.
    Une GUI ça n'est qu'un bonus.

    Il y a de grandes que ce qu'on te demande en matière de barre d'outils ne soit pas davantage que quelques rectangles avec un mot-étiquette à l'intérieur. À l'aide du module Graphics tu dois pouvoir tester si un clic a lieu à l'intérieur d'un rectangle (xmin,xmax,ymin,ymax).
    Sauf indication contraire, ne t'aventure pas du côté de LablGtk vu que tu as déjà suffisamment de difficultés avec le langage. LablGtk requière une bonne vue d'ensemble du langage ainsi qu'une certaine familiarité avec GTK (containers imbriqués,signaux,..), tes correcteurs eux-mêmes ne sont pas forcément complètement à l'aise avec toutes ces notions.

  16. #16
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 681
    Points
    18 681
    Par défaut
    bonjour,


    j'ai un énorme doute sur l'étendue d'un projet pour des débutants... j'en ai moi-même donné un similaire à des ingénieures 1ère année (bac+3 donc), mais avec beaucoup d'aide, d'exemples et l'utilisation de quelques bibiolthèques dont les fonctionnalités utiles ont été vues en td...

    je serais intéressé par les poly (par mp stp )


    après chaque traitement d'image n'est pas compliqué en soi, et tu peux trouver des algorithmes simples "prêt à coder" pour les mettre en place...
    en revanche, je suis étonné que l'étendue de ce qui est proposé en terme de GUI si aucun td à ce sujet n'a été fait auparavant

Discussions similaires

  1. projet sur ocaml
    Par khati dans le forum Caml
    Réponses: 3
    Dernier message: 26/04/2008, 11h37
  2. petit projet sur le port série et parallele
    Par pepper18 dans le forum C
    Réponses: 5
    Dernier message: 12/01/2006, 15h14
  3. [Kylix] Kylix 3 execution des projets sur RH 7.3
    Par josian99 dans le forum EDI
    Réponses: 2
    Dernier message: 22/11/2002, 03h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo