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

OpenCV Discussion :

Utiliser setImageROI sur un quadrilatère ?


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 93
    Par défaut Utiliser setImageROI sur un quadrilatère ?
    Bonjour à tous ,
    Voilà , j'ai besoin d'extraire une partie d'une image , or cette partie n'est pas forcement un rectangle (ce dont a besoin setImageROI) , cela peut être un quadrilatère quelconque ,

    Ma question est la suivante :y a t-il une méthode openCV qui permet de sélectionner un quadrilatère en indiquant ses 4 sommets pour pouvoir ensuite faire un traitement quelconque dessus ?
    Sinon dois-je faire moi même un algorithme ?

    Merci d'avoir pris le temps de lire ce message.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 8
    Par défaut
    Bonjour, ayant eu le même problème je m'étais penché sur la question.
    Je n'ai pas trouvé de solution dans openCV (j'ai peut-être mal cherché).

    Sinon, j'ai testé plusieurs méthodes pour récupérer les pixels contenus dans une forme :
    • Tu crées une image vide, tu recopies tes 4 lignes, puis tu crées un rectangle qui englobe le quadrilatère, ensuite tu récupères les pixels après avoir détecté ta ligne puis tu arrêtes quand tu détectes l'autre ligne.
      Le problème de cette méthode tient aux angles très aigus qui faussent

    • Tu crées une image vide, tu recopies tes 4 lignes, puis tu crées un rectangle qui englobe le quadrilatère, ensuite tu calcules les coordonnées polaires de chaque px et si les coordonnées se trouvent entre l'angle min et max et la distance min et max de ton quadrilatère tu peux les garder

    • Tu crées une image vide, tu fais ensuite varier l'angle avec un très petit pas de ton angle min à max et de ta longueur min à max. Le problème de cette méthode est que tu ne récupères pas tous les pixels de la zone (après ça dépend du post-traitement que tu souhaites faire par rapport à cette zone)


    Quand je marque de créer des nouvelles images et de recopier les lignes et de créer un rectangle, ce n'est pas obligatoire c'est juste pour que tu vois clairement le résultat. De plus, le rectangle te permet de réduire le temps de calcul en ne travaillant qu'à l'intérieur de celui-ci.

    Je ne pense pas que ces solutions soient les meilleures qui existent mais la dernière (et de loin...) cela dépend essentiellement de ce que tu souhaites faire avec.

    Cordialement,
    Evangelink

    PS : Si quelqu'un a une meilleure solution qu'il n'hésite pas.

Discussions similaires

  1. [CKEditor] Qui utilise FCKeditor sur son site php pour config ?!
    Par guy2004 dans le forum Bibliothèques & Frameworks
    Réponses: 62
    Dernier message: 26/10/2005, 18h24
  2. Réponses: 6
    Dernier message: 10/06/2005, 23h56
  3. Réponses: 2
    Dernier message: 30/11/2004, 09h42
  4. [Sybase] Utilisation indexes sur table Proxy
    Par MashiMaro dans le forum Sybase
    Réponses: 2
    Dernier message: 20/02/2004, 10h20
  5. [Utilisation Postgresql sur windows]
    Par xhercule dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/01/2004, 18h36

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