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

Linux Discussion :

Traitement d'image sous LINUX


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de psycho_xn
    Inscrit en
    Mars 2007
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 250
    Par défaut Traitement d'image sous LINUX
    Bonjour, je cherche un programme sous LINUX en C ou JAVA qui permet la segmentation d'une image, Sa lecture et écriture et si possible l'application des Filtres Prewitt et Sobel.

    Merci infiniment pour votre aide

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    En java, tu peux aller jetter un oeil du côté de la bibliothèque JAI. Elle fait tout.
    http://java.sun.com/javase/technolog...top/media/jai/

  3. #3
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    En C le choix vraiment trés vaste. Pour ma part je te conseillerais ImageMagick.

    Les plus :

    - gère énorméments de formats
    - 2 niveau d'API (haut et bas niveau)
    - les principaux filtres de bases sont disponibles
    - bindings vers un quantité incroyable de langages* y compris C, C++ & JAVA
    - portable Windows & Unix

    Les filtres Prewit ou Sobel sont souvent regroupés dans la catégorie "edge detection". Au pire, s'ils manquent, il suffit d'utiliser un filtre de convolution générique dans lequel tu choisis tes coéfficients.

    Enfin, en dernier recours, en C c'est assez rapide, de coder un filtre une fois que tu accès aux pixels de l'image.

    Voilà.

    * liste des bindings :
    Ada
    C
    Ch
    COM+
    C++
    Java
    Lisp
    Neko
    .NET
    Pascal
    Perl
    PHP
    Python
    Ruby
    Tcl/Tk

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    C'est fait que si ta priorité est de calculer les filtres de Sobel et de prewitt, tu prends GIMP, c'est intégré dedans. Je n'y avais pas pensé

  5. #5
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    J'ai découvert récemment que visiblement GIMP utilisait pour ses manipulations d'images la librairie C (C++?) Imlib.

    Moi qui croyais que c'était que du GTK+.

    Et chose encore plus bizarre cette librairie est hostée chez Enlightment ...
    Le monde est petit

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par mchk0123
    J'ai découvert récemment que visiblement GIMP utilisait pour ses manipulations d'images la librairie C (C++?) Imlib.

    C'est bizarre. En tout cas, certaines parties (notamment les opérateurs sont codées) directement, par exemple, dans le source, dans : plug-ins\commons, on trouve sobel.c qui contient par exemple :

    Code C : 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
     void
    sobel (GimpDrawable *drawable,
           gboolean      do_horizontal,
           gboolean      do_vertical,
           gboolean      keep_sign,
           GimpPreview  *preview)
     
    ...
     
         for (col = 0; col < width * bytes; col++)
            {
              hor_gradient = (do_horizontal ?
                              ((pr[col - bytes] +  2 * pr[col] + pr[col + bytes]) -
                               (nr[col - bytes] + 2 * nr[col] + nr[col + bytes]))
                              : 0);
              ver_gradient = (do_vertical ?
                              ((pr[col - bytes] + 2 * cr[col - bytes] + nr[col - bytes]) -
                               (pr[col + bytes] + 2 * cr[col + bytes] + nr[col + bytes]))
                              : 0);
              gradient = (do_vertical && do_horizontal) ?
                (ROUND (RMS (hor_gradient, ver_gradient)) / 5.66) /* always >0 */
                : (keep_sign ? (127 + (ROUND ((hor_gradient + ver_gradient) / 8.0)))
                   : (ROUND (abs (hor_gradient + ver_gradient) / 4.0)));
     
              if (alpha && (((col + 1) % bytes) == 0))
                { /* the alpha channel */
                  *d++ = (counter == 0) ? 0 : 255;
                  counter = 0;
                }
              else
                {
                  *d++ = gradient;
                  if (gradient > 10) counter ++;
                }

    On reconnait bien l'opérateur ici

Discussions similaires

  1. traitement d'image sous linux
    Par LOKY37 dans le forum Matériel
    Réponses: 0
    Dernier message: 30/10/2012, 19h46
  2. traitement d'image sous builder
    Par renovator dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/07/2006, 14h47
  3. client serveur d'image sous linux
    Par stacker_junior dans le forum Linux
    Réponses: 1
    Dernier message: 08/02/2006, 03h22
  4. Réponses: 1
    Dernier message: 24/07/2005, 00h05
  5. Affichage d'une image sous linux
    Par Braim dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 25/03/2003, 10h41

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