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 :

Créer un algorithme de "reconnaissance d'image"


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut Créer un algorithme de "reconnaissance d'image"
    Bonjour, j'ai commencé depuis peu à programmer sur python et je dois faire un programme de plusieurs centaines de lignes sur ce thème :

    J'ai trois pièces, un carré, un petit triangle et gros triangle dont on connait les dimensions. Et j'ai une image noire formée de ces éléments et à l'aide d'un programme je dois retrouver les emplacements des 3 pièces comme montré ci-dessous. Python doit montrer l'image en couleur à la fin

    Nom : Sans titre.png
Affichages : 1603
Taille : 3,7 Ko

    Je peux tourner les pièces uniquement de 90°

    Comme on connait les dimensions des pièces je les ai créées sous forme de tableau. Je pensais utiliser des tableaux, mais je ne sais pas quelle stratégie adoptée. Il faut que le programme soit efficace. Je pensais utiliser les angles ou les contours de la forme noir pour déterminer ou est chaque pièce, mais je n'y arrive pas.

    Je vous remercie par avance.

  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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Bonjour,

    Le problème posé s'appelle résoudre un tangram. Vous trouverez plein d'informations sur le web, y compris des algorithmes et du code (i.e. "tangram solver" en anglais).

    Généralement, il y a deux types d'approche:
    * partir des pièces et essayer tous les assemblages possibles jusqu'à trouver la silhouette.
    * partir de la silhouette et essayer tous les découpages possibles jusqu'à trouver les pièces.

    Vos contraintes étant très restrictives (3 pièces dont une grande, rotation à 90° uniquement), je suggère la première approche.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 218
    Par défaut
    Ici on a 2 problèmes consécutifs ;
    - 1er problème : (P1) à partir d'une image en format PNG ou assimilé, et sachant que la forme noire est de type polygone, trouver rapidement les n sommets de ce polygone.
    - 2ème problème (P2) : connaissant un polygone, et connaissant les 3 formes constituantes de ce polygone, résoudre le problème du Tangram.
    Pour chacun de ces 2 problèmes, il doit y avoir des solutions connues. (je ne les connais pas).

    En temps de traitement, le 1er problème me paraît BEAUCOUP plus coûteux que le 2ème.
    Et ici le 1er problème doit certainement pouvoir être simplifié par le fait qu'on connaît les 3 formes triangle-triangle-carré. Idéalement, il faudrait donc résoudre les 2 problèmes en même temps. (problème P3)

    Quel est ton objectif : résoudre les problèmes P1 et P2 successivement, ou résoudre le problème P3 ?

  4. #4
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut
    Bonsoir, merci beaucoup pour vos réponses et votre aide.

    Mon objectif est de résoudre le problème de manière la moins coûteuse possible. Je pense que votre problème P3 serait celui qui répond le mieux à cet objectif.

    Il est précisé à la fin de mon sujet qu'il est mieux de trouver une approche qui fonctionnerait aussi pour une forme plus complexe. Je pense que cette phrase a été ajoutée pour éviter que nous fassions la première méthode proposée par pseudocode (je vous remercie au passage) qui est : "partir des pièces et essayer tous les assemblages possibles jusqu'à trouver la silhouette".

    Je trouve bien le fait de partir de la silhouette mais je ne vois pas comment faire.

  5. #5
    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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Âne-ais Voir le message
    Je trouve bien le fait de partir de la silhouette mais je ne vois pas comment faire.
    Le procédé s'appelle la dissection géométrique et tu trouveras tout un tas de littérature sur le web, y compris des applications sur les tangram (i.e. "Geometric Dissection Puzzles").

    L'idée c'est de découper la forme en petits éléments: soit par "tiling" (=maillage régulier), soit par triangulation (des coups de ciseaux).
    Une fois le découpage effectué, on tente de reconstituer la forme d'une pièce en sélectionnant certains petits éléments.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 8
    Par défaut
    Merci beaucoup pour cette information, j'ai trouvé de nombreuses choses mais je n'ai pas trouvé de renseignement sur la démarche/stratégie à adopter pour résoudre mon problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Algorithme de reconnaissance d'images dans une photo
    Par Armel88 dans le forum Android
    Réponses: 0
    Dernier message: 10/06/2015, 09h18
  2. Réponses: 3
    Dernier message: 17/08/2006, 11h30
  3. Algorithme de redressement d'une image "incurvée"
    Par FidoDido® dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 06/06/2006, 15h17
  4. Réponses: 4
    Dernier message: 04/10/2005, 00h15
  5. Recherche d'un logiciel pour créer des algorithmes
    Par Seb003 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 02/10/2005, 17h46

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