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

Bibliothèques Discussion :

flou gaussian avec DevIL


Sujet :

Bibliothèques

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut flou gaussian avec DevIL
    Bonjour à tous,

    j'ai pour projet de faire quelques algorithmes de filtres(flou etc) et je m'attaque en ce moment au flou gaussien. J'ai regardé sur wikipédia pour la petite formule et j'essaye de l'appliquer à ma fonction, mais je dois faire une erreur car l'image au final est toute noir. Voilà mon code(je viens de débuter avec DevIL):

    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
     
    // je vous fais grâce des includes
    int main(){
     
        srand(time(NULL));
        ilInit();
        iluInit();
     
        ILuint image;
        ILubyte *data;
        ILint width;
        ILint height;
     
        ilGenImages(1, &image);
        ilBindImage(image);
        ilLoadImage("source.jpg");
        ilConvertImage(IL_RGB, IL_DOUBLE);
        data = ilGetData();
        width = ilGetInteger(IL_IMAGE_WIDTH);
        height = ilGetInteger(IL_IMAGE_HEIGHT);
     
        double taux = 0.01; // j'ai essayé avec plusieurs
     
        for(unsigned i = 0; i < (width * height * 24); ++i){
            data[i] = (1 / (sqrt(2 * M_PI * (taux * taux)))) * exp((-((double)data[i] * (double)data[i]) / (2 * (taux * taux))));
        }
     
     
        ilEnable(IL_FILE_OVERWRITE);
        ilSaveImage("destination.jpg");
     
        ilShutDown();
     
        return 0;
    }
    Bon j'ai presque pas de doutes que le problème vient de la formule car elle renvoie un nombre qui tend vers 0. Mais je ne sais pas comment faire autrement. Savez-vous comment faire? Merci^^

  2. #2
    Membre régulier Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Points : 88
    Points
    88
    Par défaut
    Si tu débute seulement DevIL, bascule sur OpenCV

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    malheureusement, on m'impose la bibliothèque DevIL car après il va falloir améliorer les performances avec des threads etc et faire une comparaison de performances, donc pas le choix.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    C'est bon j'ai résolu mon problème, je n'avais pas compris que un pixel était représenté par 4 valeurs(rgba) sur DevIL, donc par exemple data[0] = rouge et non pas premier pixel....

Discussions similaires

  1. probleme de avec devIL
    Par zeder59 dans le forum DevIL
    Réponses: 4
    Dernier message: 11/05/2009, 20h07
  2. Chargement de texture avec DevIL
    Par paps` dans le forum DevIL
    Réponses: 3
    Dernier message: 14/10/2008, 12h42
  3. [Code::Blocks] problème de link avec DevIL
    Par theidiot dans le forum DevIL
    Réponses: 4
    Dernier message: 01/10/2006, 19h26
  4. Probleme à l'exécution avec DevIL
    Par Copros dans le forum DevIL
    Réponses: 9
    Dernier message: 08/05/2006, 17h10
  5. petit probleme avec Devil
    Par ellipse dans le forum DevIL
    Réponses: 2
    Dernier message: 01/02/2005, 19h41

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