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

Visual C++ Discussion :

Découpage et extraction des données d'une image


Sujet :

Visual C++

  1. #1
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut Découpage et extraction des données d'une image
    Salut à tous

    Voici mon problème.

    Dans une image je dois extraire des parties de l'image. Comme de bien entendu ces parties ne sont pas rectangulaires.

    J'utilise la méthode suivante:

    L'utilisateur crée un polygone fermé qui épouse le contour de l'image à extraire (comme par exemle la tête de la tant Hortense dans la photo de mariage de la cousine Berthe)

    Ensuite à partir de ce polygone je créé un masque que je dessine dans un rectangle. Puis je scrute chaque point du rectangle. Si un point est de la même couleur du masque, le point correspondant dans l'image est considéré comme étant à extraire.

    Cette méthode fonctionne bien mais je la trouve un peu bourrin. Quelqu'un connaît il une meilleure méthode.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Crée une region a partir de ce polygone, et utilise la comme masque. Tu utilises quelle bibliotheque d'image?

  3. #3
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Je n'utilise aucune bibliothèque d'image car les images que je traite sont des images issues de caméra expérimentales qui sont développées dans nos laboratoires. Le format de l'image en lui même n'est pas du tout standard mais j'affiche l'image à l'écran sous forme de bitmap.

    Je ne connais pas bien les régions. Mais ce qui importe en fait c'est de déterminer les coordonnées de chaque points à l'intérieur du polygone.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Il existe des algos optimisés pour cela, y compris au niveau hardware. En passant par une bibliotheque qui s'appuie sur le systeme, tu devrais bénéficier de l'accélération matérielle de ta carte vidéo, en plus d'un algo optimisé et bugfree.

    Si tu affiches déja un bitmap (quelle lib? GDI?), alors ca devrait pas etre compliqué. Crée une region et un deuxieme bitmap sur lequel tu vas dessiner le bitmap source masqué par la région (clipping). Apparement tu as déja presque tout fait. Précises la lib utilisée (il y en a forcément une, sauf si tu écris toi meme le bitmap dans un fichier).

  5. #5
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel Voir le message
    Il existe des algos optimisés pour cela, y compris au niveau hardware. En passant par une bibliotheque qui s'appuie sur le systeme, tu devrais bénéficier de l'accélération matérielle de ta carte vidéo, en plus d'un algo optimisé et bugfree.
    C'est de ces algos dont j'ai besoin. Pour ce qui est de l'accélération matérielle je ne pense pas vraiment pouvoir en bénéficier car comme je l'ai dit mes images ne sont pas classique en fait il faut plutôt les comprendre comme des tableaux 2D.

    Pour faire ma bitmap j'utilise tout simplement les CBitmap et le CDC

    J'ai regardé un peu les méthode utilisées pour remplir un polygone mais les explication sont tellement succinctes que je n'y ai pas compris grand chose.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Gouyon Voir le message
    Pour faire ma bitmap j'utilise tout simplement les CBitmap et le CDC
    Alors jette un oeil a CRgn.

    Pour les algos, faut regarder les thezes de maths a ce sujet je pense... Honnetement je sais pas ou trouver ces infos.

  7. #7
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel Voir le message
    Alors jette un oeil a CRgn.
    C'est ce que j'ai fait mais c'est moins avantageux que le bitmap qui me sert de masque.

    Quant au algo je ne suis pas sur que ce soit une solution plus rapide vu que lorsque je dessine mon polygone je bénéficie de tout ce qui est accélération matérielle.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  8. #8
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Regarde la fonction MaskBlt:
    http://msdn2.microsoft.com/en-us/library/ms532291.aspx

    Cette fonction va effectuer ton opération de copie que tu fais a la main, mais ca devrait etre sensiblement plus rapide.

  9. #9
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel Voir le message
    Regarde la fonction MaskBlt:
    http://msdn2.microsoft.com/en-us/library/ms532291.aspx

    Cette fonction va effectuer ton opération de copie que tu fais a la main, mais ca devrait etre sensiblement plus rapide.
    Effectivement si on veut extraire ce qu'il y a à l'écran c'est plus rapide. Mais dans mon cas ce qui m'intéresse c'est les données qui ont permis de faire mon image et dont je cherche à extraire une partie.

    Il est possible que je n'ai pas été très clair lorsque j'ai décrit mon problème

    En fait j'ai un ensemble de données (Tableau 2D) non affichable directement

    Je transforme cet ensemble de données en une image de type bitmap que j'affiche à l'écran

    L'utilisateur créer un polygone sur l'écran correspondant à la région qui l'intéresse

    Le programme calcule les coordonnées de chaque point à l'intérieur du polygone et extrait de l'ensemble des données originale la valeur correspondante.

    J'espère avoir été un peu plus clair
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

  10. #10
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Ah ok. C'est uniquement un probleme d'algo alors. Je connais pas de lib pour cela. Fait une recherche...
    http://www.sccs.swarthmore.edu/users...s/hw3/hw3.html
    http://www.google.com/search?hl=fr&q...che+Google&lr=

  11. #11
    Membre expérimenté
    Avatar de Gouyon
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 076
    Points : 1 521
    Points
    1 521
    Billets dans le blog
    5
    Par défaut
    Merci pour les liens je regarde ça.
    Il y a des jours où j'éprouve une haine profonde envers microsoft et Apple c'est pas mieux
    Mon modeste site et mes modestes oeuvres sont
    Rémi

Discussions similaires

  1. Extraction des Données d'une base à l'autres
    Par kfmystik dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 22/03/2011, 16h15
  2. Requête d'extraction des données d'une table
    Par sylsau dans le forum Oracle
    Réponses: 5
    Dernier message: 18/12/2007, 09h39
  3. vc++(6)+extraction des données dans une image(.tif)
    Par spootnic22 dans le forum Visual C++
    Réponses: 1
    Dernier message: 22/11/2006, 16h14
  4. extraction des données dans une table Access
    Par moabomotal dans le forum Access
    Réponses: 2
    Dernier message: 26/05/2006, 11h17

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