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

LabVIEW Discussion :

Extraire des Subarrays contenus dans un Tableau


Sujet :

LabVIEW

  1. #1
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Extraire des Subarrays contenus dans un Tableau
    chers amis labvieweurs,

    j'ai un petit probleme et solicite une idee géniale me conduisant à la solution.
    out d'abord, je suis un debutant en labview et j'aimerai construire un programme me permettant d'extraire d'un Tableau(arrays) certains petits tableaux(subarrays).
    Le probleme se situe au niveau de la constellation de ces tableaux. En fait, ces tableaux comportent plusieurs valeurs égales à zéro et des valeurs differentes de zéro regroupées en petits tableaux un peu partout dans le grand tableau et je voudrais uniquement extraire ces petits tableaux et ensuite trouver les differents milieux de ces petits tableaux.

    Je joins un exemple de matrice pour plus de clarté.
    Je vous serais reconnaissant pour toute idée ou peut-etre meme la solution

    merci
    Fabricekenk
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut Re: Extraire des Subarrays contenus dans un Tableau
    Salut,

    Je te joins en fichier attaché ton tableau visualisé dans un graphe d'intensité LabVIEW.

    Donc : Ton tableau est une image. Ce que tu souhaites, c'est trouver dans ton image toutes les composantes connexes composées de pixels non nuls. C'est un problème classique (très classique) en traitement d'image.

    Si tu possède IMAQ Vision, il y a des fonctions toutes prêtes qui font cela.

    Sinon, il faut programmer un algorithme de détection de composantes connexes en LabVIEW. Ce n'est pas la mère à boire.

    Voilà à mon sens la solution la plus propre.

    Si tu as besoin de + d'infos, dis-le moi.

    A +

    B.
    Images attachées Images attachées  

  3. #3
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Hello
    Je m'insère dans la discussion,
    IMAQ Vision est assez cher, pourrais-tu en dire un peu plus sur le traitement d'images et sur les composantes connexes.
    (Juste quelques mots : fonction à utiliser...)
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  4. #4
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut besoin d aide
    En fait Bruno, j'ai besoin d'aide pour confectionner un programme me permettant de resoudre mon problème.

    merci bien de me donner un coup de main,

    fabricekenk

  5. #5
    Candidat au Club
    Inscrit en
    Août 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut c est koi une composante connexte?
    Au fait, je crois que je ne pige pas déja quelque-chose: c'est quoi une composante connexte?

  6. #6
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Sauf erreur ce doit-être des images ou objets identiques à une référence
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  7. #7
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut Composantes connexes .....
    Bon,

    Je vais essayer de faire court car je n'ai pas la place pour un cours de traitement d'image ....

    Prenons une images binaire (composée de pixels noirs ou blanc, c'est assez facile d'y arriver dans le cas présent : on met à blanc tous les pixels non nuls)

    Les pixels blancs sont forcément regroupés par "paquets de pixels qui se touchent". L'expression "se touchent" fait directement référence à la notion géométrique de connexité : deux pixels sont connexes si on peut passer de l'un à l'autre par un ensemble de pixels directement voisins les uns des autres (notion de voisinage). Ces paquets de pixels non nuls qui se touchent sont appelés des composantes connexes.

    Il existe des algorithmes qui permettent :

    1 - De détecter les composantes connexes
    2 - De les étiqueter, c'est à dire de distinguer chaque paquet de pixels blancs des autres paquets de pixels blancs (deux paquets "se touchant" étant en fait une même composante connexe).

    Une fois que ces composantes sont étiquetées, on peut les caractériser : position, taille, forme, caractéristiques topologiques (trouées, pas trouées, convexes, ...)

    Voici un lien ce soir sur mon cours d'imagerie :

    http://bnazarian.free.fr/spip.php?article2

    http://bnazarian.free.fr/MyUploads/I...6_BINAIRES.PDF

    Vous aurez les idées plus claires avec quelques croquis. Voici un exemple attaché : l'image est composée d'une centaine de composantes connexes, de tailles et de topologies différentes

    Après, le reste, c'est de la programmation .

    A bientôt

    B.
    Images attachées Images attachées  

  8. #8
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Tu peux faire tout cela avec la palette : Picture Functions ?
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  9. #9
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut Re:
    Salut,

    Tu peux faire tout cela avec la palette : Picture Functions ?
    Oh que non !!!
    Va falloir coder les mecs !!!
    On va faire tout ça avec les tableaux. Une image, c'est rien qu'un tableau avec quelques infos de plus.
    Allez, promis, je vais vous donner un coup de main .....

    A+

    B.

  10. #10
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Bon je vais test demain, je te redis si j'arrive fabricekenk et je te demanderais de l'aide si jamais BrunoIRM
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  11. #11
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut Composantes connexes : Un premier jet ....
    salut,

    Voici un première version de l'algorithme des composantes connexes.
    Le code n'est sans doute pas optimisé mais il reprend la méthodologie présentée dans le lien posté auparavant : étiquetage itératif par aller-retour.

    L'image est un tableau d'entiers dans un fichier texte.

    On se fixe un seuil pour la binariser....

    Ensuite, l'algorithme tourne (assez lentement, ) et sort un tableau dans lequel tous les pixels appartenant à une même composante connexe sont labellisés avec un même entier.

    Attention : le nombre de composantes connexes au final est inférieur à l'étiquette la plus grande (des étiquettes ont disparu lors de l'étape "retour", c'est normal).

    Le traitement de ce tableau (visualisé en couleurs sur le troisième graphe) dépend de l'usage que l'on veut en faire.

    Je t'ai fait le plus gros, c'est à dire la partie analyse d'image.

    A toi de te débrouiller pour utiliser ces données comme tu l'entends.

    A+

    B.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés
    • Type de fichier : rar CC.rar (41,4 Ko, 79 affichages)

  12. #12
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Tu arriverais en LabVIEW 8.5
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  13. #13
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut Au format 8.5
    Salut,

    J'ai téléchargé à nouveau le fichier attaché (cc.rar) au post précédent, cette fois au format 8.5.

    Le plus simple est de suivre le lien suivant :

    http://www.developpez.net/forums/att...ableau/cc.rar/

    Faut le faire tourner en chargeant le fichier exemple de Fabrice

    A++

    B.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par BrunoIRM Voir le message
    J'ai lu une partie du PDF, et il me semble qu'il y a des erreurs sur la figure 5 en page 8

  15. #15
    Membre éprouvé Avatar de BrunoIRM
    Homme Profil pro
    Ingénieur Instrumentation
    Inscrit en
    Juillet 2009
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Instrumentation

    Informations forums :
    Inscription : Juillet 2009
    Messages : 785
    Points : 1 160
    Points
    1 160
    Par défaut
    Bonjour,

    Exact pour l'erreur sur les opérations ensemblistes : un défaut sur les palettes du copier-coller à l'époque. Mes étudiants corrigent cette erreur d'eux-même. Je vais arranger cela.

    Précision : Merci du signalement () mais je rassure les lecteurs : cela concerne un point indépendant de ce post

    A+

    B.

    Envoyé par BrunoIRM Voir le message
    Voici un lien ce soir sur mon cours d'imagerie :

    http://bnazarian.free.fr/spip.php?article2

    http://bnazarian.free.fr/MyUploads/I...6_BINAIRES.PDF
    J'ai lu une partie du PDF, et il me semble qu'il y a des erreurs sur la figure 5 en page 8

Discussions similaires

  1. Vérifier l'etat des checbox qui sont contenus dans un tableau [].
    Par madina dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/08/2011, 14h04
  2. Réponses: 3
    Dernier message: 03/02/2011, 18h09
  3. Réponses: 10
    Dernier message: 06/07/2006, 21h57
  4. [PL/SQL] Parcours des enregistrements contenus dans 1 curso
    Par lapartdombre dans le forum Oracle
    Réponses: 6
    Dernier message: 01/12/2005, 13h50
  5. Réponses: 9
    Dernier message: 27/10/2005, 22h38

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