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

Algorithmes et structures de données Discussion :

insertion de lumière dans une image


Sujet :

Algorithmes et structures de données

  1. #1
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut insertion de lumière dans une image
    salut,

    j'aimerais connaitre les techniques de calcul de la lumière sur une image, en fonction du pixelsource de la lumière, de son intensité et de sa couleur.

    si quelqu'un pouvait me renseigner (de l'algo uniquement pas d'outils graphique deja préconcus).

  2. #2
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Salut !

    Regarde du côté de ce que l'on appelle le système HLS (Hue Saturation Luminance)... C'est une conversion du système RGB qui permet de faire ce que tu demandes...

    [EDIT] Ou j'ai mal compris la question... Qu'appelles-tu insertion de lumière ?

    A+

  3. #3
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    ce que je veux, c'est j'ai mon image qui s'affiche dans mon appli (32bits/pixels, format proprietaire), je veux offrir la possibilité à l'utilisateur de mettre une source de lumière de pouvoir en régler l'intensité etc...

  4. #4
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Ah... Ok.

    Je ne connais pas du tout les méthodes mais tu as essayé un truc du genre multiplier l'intensité de tes pixels par des coeff issus d'une gaussienne 2D (ou focntion sombrero qui est la généraliation 2D de la gaussienne 1D et qui est plus 'circulaire' que la gaussienne 2D) pour simuler une source isotrope ??

    Pour une source directionnelle, il suffirait de faire la même chose mais en ne considérant les calculs que dans la fourchette d'angle que l'on souhaite...

    Enfin bon je ne suis pas expert en la matière, certainement qu'il y en a qui s'y connaissent bien plus que moi qui pourraient te répondre !

    A+

  5. #5
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par mathieu_t
    Ah... Ok.

    Je ne connais pas du tout les méthodes mais tu as essayé un truc du genre multiplier l'intensité de tes pixels par des coeff issus d'une gaussienne 2D (ou focntion sombrero qui est la généraliation 2D de la gaussienne 1D et qui est plus 'circulaire' que la gaussienne 2D) pour simuler une source isotrope ??
    t'as fait math sup ??

    moi pas, c du chinois pour moi, mais merci quand meme

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Il y a quand même un truc qui m'échappe ...

    L'image, elle est calculée (virtuelle, donc) ou bien provient d'une source externe ?

    Parce que si elle est calculée, on dispose du modèle géométrique permettant de calculer un nouveau modéle d'éclairement, selon la/les nouvelle(s) source(s) introduite(s).

    Si elle est externe, ce que tu veux faire doit s'apparenter à éclairer un poster avec un spot ... On peut augmenter la luminosité et le contraste des pixels sous le faisceau de l'éclairage, mais il n'y aura pas de calcul/déplacement des ombres ou des reflets ...

  7. #7
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    bah justement, moi ce que je veux savoir, c'est comment est calculé la luminosité du ou des pixels en fonction de tous les paramètres.

    pas par rapport au déplacement du faisceau lumineux, juste le calcul de la luminosité du pixel.

  8. #8
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Salut,

    En supposant que ce que tu veux faire est un éclairage type spot comme le décrit 2Eurocents, les paramètres à prendre en compte sont :
    - l'intensité initiale du pixel
    - sa distance par rapport à la source (cad sa distance par rapport au point directement éclairé par le spot, celui qui apparaît comme le plus intense).

    Donc en gros, plus tu t'éloignes de ce point, plus la luminosité du spot décroit. Donc ce que tu dois mettre en place, c'est une fonction qui calcule la distance entre la source et le pixel que tu considères, et multiplier sa luminance par un coefficient qui dépend de cette distance.

    La luminance est accessible directement dans le système HLS, et le coefficient dépendant de la distance doit aller dans le sens inverse de la distance :
    ex : un pixel à une distance de 3 doit être plus intense qu'un pixel à une distance de 10...

    Tu pourrais faire un calcul du coeff du genre mais ça c'est pas top car ça ne représente pas ce qui se passe en vrai.
    Je pense que ce qui se rapproche le + de la réalité, c'est un spot très lumineux au centre (point que j'appelle source) et ça décroît très rapidement ensuite...

    Donc on peut utiliser une gaussienne qui à la distance d associe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    G(d) = 1/(sqrt(2*Pi)*sigma)*exp(-d^2/(2*sigma²))
    (cf par ex ici avec un m = 0).

    Le sigma est en général à 1, c'est en quelque sorte la vitesse à laquelle décroît la luminance (plus il est grand et pus ça met de temps à décroître...)

    Voilà, j'ai essayé d'être plus clair cette fois ci , mais bon dis moi si tu n'as pas compris...

    A+

  9. #9
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    363
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 363
    Points : 161
    Points
    161
    Par défaut
    merci, mais si j'ai par exemple mon pixel qui fait:

    R = 12
    G = 129
    B = 74

    comment je calcul les nouvelle valeur en fonction de G?

  10. #10
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    En fait il vaudrait mieux passer en système HLS et non RGB (voir Google pour HLS): le L est la luminance, et tu multiplies simplement la Luminance par G (ensuite il faut faire une normalisation pour ramener toutes les valeurs de L entre 0 et 255)...

    A+

Discussions similaires

  1. Insertion de zone dans une image
    Par l.laurent60 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 15/07/2013, 13h42
  2. insertion et affichage d'une image dans une page web
    Par Hucpuh dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/08/2008, 12h07
  3. Réponses: 7
    Dernier message: 14/12/2005, 09h53
  4. [Traitement d'image] halo de lumière incrusté dans une image
    Par cyber_N dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 17/06/2005, 15h37

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