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 :

algorithme position image


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 35
    Points
    35
    Par défaut algorithme position image
    bonjour,

    dans le cadre d'un projet je dois concevoir un algorithme qui calcule la position exacte d'un point sur une matrice.
    Ce point est en faite un spot lumineux qui vient frapper plusieurs cellules photo receptrices.
    je connais la taille des cellules photo receptrices de la matrice
    ( largeur = longueur = 2 micro metre)
    la matrice fait 1 cm de hauteur et 1.2 cm de largeur.
    rayon du spot lumineux : 10 micro metre
    Comment connaitre la position exacte du spot lumineux ( en faite c'est un cercle) sur les cellules de la matrice et comment puis je calculer la resolution max ( la precision que je peux avoir sur la position au mieux)?

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Je n'ai pas tout compris.

    Tu cherches à calculer le centre d'un cercle, avec une précision inférieure au pixel ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Je n'ai pas tout compris.
    +1, problème de triangulation ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 35
    Points
    35
    Par défaut
    en fait, le spot est contenu sur plusieurs cellules de la matrice et il va se deplacer horizontalement.
    En traitant l'intensité lumineuse des cellules (pixels), en particulier ceux à la périphérie du spot j'aimerais en déduire de combien en distance s'est déplacé le spot. Quelle déplacement minimum peut on détecter?
    Je sais pas si c'est beaucoup plus claire.

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Il m'est arrivé d'être confronté à la même problématique.

    Une solution :
    • Seuillage pour déterminer quels sont les pixels illuminés;
    • Barycentre sur les pixels gardés par le seuillage du signal.


    Exemple :
    matrice bruitée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      0 . . . . . . 7
    0 0 1 0 1 0 1 0 0
    . 0 1 0 1 0 1 0 0
    . 0 0 1 0 0 0 1 0
    . 0 1 0 4 8 1 0 0
    . 0 1 0 8 9 6 0 0
    . 0 1 0 2 7 1 0 0
    7 2 0 0 1 0 0 0 0
    matrice seuillée à 50 %du max
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      0 . . . . . . 7
    0 0 0 0 0 0 0 0 0
    . 0 0 0 0 0 0 0 0
    . 0 0 0 0 0 0 0 0
    . 0 0 0 0 8 0 0 0
    . 0 0 0 8 9 6 0 0
    . 0 0 0 0 7 0 0 0
    7 0 0 0 0 0 0 0 0
    barycentre : (3.95, 3.97)

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Plutôt qu'un seuillage, j'utiliserai un calcul de barycentre où chaque point de la matrice est pondéré par sa luminosité.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 35
    Points
    35
    Par défaut
    merci de vos reponses.
    En effet le seuillage et le calcul du barycentre peuvent convenir.

  8. #8
    Membre confirmé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 615
    Points
    615
    Par défaut
    Seuillage OBLIGATOIRE...
    Le calcul du barycentre peut convenir mais te donnera un résultat entaché d'erreur car cet algorithme considère que le barycentre de chaque pixel est bien au centre du pixel ce qui est faux lorsque tu considères la répartition continue de l'éclairement...
    Tu peux utiliser, à la place, un 'fit' sur une parabole, une gaussienne ou une lorentzienne (par exemple) pour avoir une meilleure précision (sub-pixel si tu n'es pas dans une application avare en photons...).

  9. #9
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Le calcul du barycentre peut convenir mais te donnera un résultat entaché d'erreur car cet algorithme considère que le barycentre de chaque pixel est bien au centre du pixel
    L "erreur" potentielle est automatiquement corrigée par les différences de luminosité sur la périphérie.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  10. #10
    Membre confirmé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 615
    Points
    615
    Par défaut
    Citation Envoyé par Graffito Voir le message
    L "erreur" potentielle est automatiquement corrigée par les différences de luminosité sur la périphérie.
    Non, si le centre de la tache n'est pas au centre d'un pixel alors il y aura une erreur...

  11. #11
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Imaginons que le centre soit décalé de 0.3 pixels vers la gauche d'un pixel P du capteur. Dans ce cas, à distance égale de P, les pixels périphériques de gauche seront plus éclairés que ceux situés à droite.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  12. #12
    Membre confirmé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 615
    Points
    615
    Par défaut
    Je suis d'accord, ça c'est le principe du calcul du barycentre.
    Cependant, prendre une image avec une matrice de détecteurs photosensibles c'est discrétiser une information qui était répartie uniformément. Ainsi, si tu considère un pixel, le barycentre de la répartition locale des photons (par ex.) n'est pas forcément sur le centre géométrique du pixel. Maintenant, la symétrie de la tâche n'implique pas que ce défaut soit corrigé par le pixel qui se trouve de l'autre côté. Il y aura une légère erreur dans ce cas.

  13. #13
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Si tu as de la diffraction, l'intensité lumineuse reçue décroit comme le carré de la distance au centre de la tache et le barycentre n'est pas défini.
    Il est beaucoup plus robuste d'ajuster le sommet de la courbe à un paraboloïde
    , ou ses projections sur les axes à de paraboles.
    Ce qui s'énonce clairement se conçoit bien ( Le hautbois)

Discussions similaires

  1. Utilisation de l'algorithme POSIT
    Par wafa_b dans le forum OpenCV
    Réponses: 6
    Dernier message: 13/07/2009, 23h56
  2. Position image filtre revealtrans
    Par lotus77777 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/11/2008, 11h47
  3. Position image avant menu
    Par Skeud007 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 21/02/2008, 17h25
  4. Position image fond
    Par noarno dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/05/2006, 16h44
  5. [MDI] Problème : Position Image SetBitmap
    Par nicob56 dans le forum MFC
    Réponses: 1
    Dernier message: 21/02/2006, 16h26

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