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

Traitement d'images Discussion :

Rechercher une ligne vide


Sujet :

Traitement d'images

  1. #1
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut Rechercher une ligne vide
    Bonjour à tous,

    je cherche à trouver la première ligne vide (ligne blanche) sur un tableau de pixel (en partant du bas). Pour cela je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		me positioner sur le dernier ordonné
    		tant que je suis pas arrivé en haut de l'image et que je n'ai pas trouvé faire
    			me positioner sur le premier abscice
    			tant qu'il reste des abscices sur la ligne et que je n'ai pas trouvé non blanc faire
    				recuperer la couleur du point (x,y)
    				me positioner sur l'abscice suivant
    			fin tant que
    			si j'ai trouvé une ligne completement blanche (vide) alors
    				je fais mon traitement et j'ai trouvé quelque chose (pour sortir du premier tant que
    			fin si
    			je décrémente les ordonnées
    		fin tant que
    Ca marche, mais c'est assez lent.

    Je ne m'y connais pas en traitement d'image, mais y aurait-il un algo plus rapide ? une solution plus apropriée ? (comme par exemple, faire une projection de l'image sur un axe, comme ca j'aurai une seule ligne à analyser, ou autres fonctions magiques de traitement d'images)

    Merci pour vos conseils

    Nico

  2. #2
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Je pense, comme ça, immédiatement, à une détection de contours sur l'image déjà.
    Chercher la première ligne (horizontale à priori ?) blanche, ça va se faire très vite...
    Quel type d'image ?
    As-tu un exemple ?
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    par exemple un truc tout bète du genre


    je parcours par le bas, jusqu'à trouver le Y représenté par la ligne rouge

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Je ne vois pas comment faire plus simple que ce que tu as, tu fais peu de calculs tout de même.

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Comme je fais plusieurs analyses à la fois, ca prend des ressources CPU pendant 3-4 secondes...

    Donc, j'aurai voulu essayer d'optimiser. Mais je suis d'accord que pour l'instant, j'ai fait du mieux que je pouvais

    Je pensais peut-etre à une autre méthode, avec des transformations de fourrier de fou (où j'y connais rien)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut
    3-4 secondes ? Tu programmes en quoi ? En Basic du MO5 ?

  7. #7
    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
    Citation Envoyé par nico-pyright(c)
    Je pensais peut-etre à une autre méthode, avec des transformations de fourrier de fou (où j'y connais rien)
    Non tu n'obtiendras rien avec ça ! Fourier, c'est pour du spectral, donc du fréquentiel (comme par exemple le lissage, réduction du bruit...). C'est global cad que ça s'applique à toute l'image !

    Tu peux peut-être améliorer de la façon suivante, en considérant que ta ligne est continue donc qu'une ordonnée à l'autre l'abscisse du point noir varie peu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    - A l'ordonnée 0, repérer l'abscisse point qui est noir
    - à l'ordonnée supérieure, chercher un point noir autour de l'abscisse du point précédent (ex : 3 pixels en arrière et 3 en avant). S'il n'y a pas de point noir, inspecter toute la ligne.
      + S'il y a un point noir, passer à l'ordonnée supérieure
      + S'il n'y a rien, s'arrêter, car c'est la première ligne blanche !!
    A+
    "Cultiver les sciences et ne pas aimer les hommes, c'est allumer un flambeau et fermer les yeux." Proverbe chinois

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    Merci pour les réponses et les idées
    A première vue, je vais rester tel quel

    A+
    Nico

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

Discussions similaires

  1. [XL-2003] Recherche d'une ligne vide
    Par oliva55 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/08/2011, 14h12
  2. Réponses: 2
    Dernier message: 20/07/2006, 19h40
  3. [VBA-E] Inserer une ligne vide dans Excel
    Par monsurf dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/07/2006, 16h48
  4. [VBA-E] rechercher une ligne pour remplacer?
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/12/2005, 10h31
  5. TValueListEditor: Ajout automatique d'une ligne vide
    Par Patrick Seuret dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/06/2005, 12h16

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