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

C++ Discussion :

détection de rayures


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut détection de rayures
    Bonjour tous le monde,

    j'ai un projet que je dois faire avec Opencv qui est de balayer une surface d'une pièce plane de 40cm sur 40cm avec un robot muni d'une caméra et de détecter les défauts (rayures) sur la pièce qui est plane.

    Je voudrais savoir s'il faut balayer toute la pièce puis reconstituer une image et la comparaître avec une image d'une pièce sans défaut ( si c'est oui donner moi des pistes si vous le pouvez) ???

    Si vous avez des suggestions ainsi les fonctions à utiliser je suis preneur.

    peace

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Avec OpenCV, il est possible d'entrainer une reconnaissance spécifique. Pour cela, il te faut pleins d'images qui sont correctes et pleins d'images qui ne sont pas correctes.
    Une fois l'apprentissage effectué, OpenCV sera capable de classer une nouvelle image qui était absente de son apprentissage.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Par défaut
    S'il n'y a pas suffisamment de données pour entraîner une classification et si les images, hors rayures, sont assez homogènes, un filtre type canny devrait pouvoir mettre en évidence les rayures.
    https://docs.opencv.org/trunk/dd/d1a...1d9ba04e2232de

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    merci pour vos réponses

    en fait je vais prendre plusieurs images pour ma pièce sans défauts à des endroits différents comme ça je vais avoir l’intégralité de la pièce ainsi faire la même chose avec la pièce a comparaître veut dire prendre ces images en même endroit pour les deux pièces et faire la comparaison de chaque image du même endroit pour les deux pièces.

    ma question c'est comment faire (est ce que en faisant la détection des contours ainsi faire la soustraction des images pour avoir que les rayures qui reste ???

    lorsque j'aurai que ces rayures comment je peux dire que c'est une rayure ( est ce que en faisant la somme des pixels blanc par exemple après la binarisation )

    merci à vous

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut recadrage d'image Opencv
    bonjour tous le monde

    j'ai une image de référence que j'ai prise avec un robot d'une pièce sans défauts, après y'aura une autre pièce qui va arriver et le robot va prendre une autre image pour la pièce soit disant elle des rayures, ce que je veux faire c'est de rendre les deux images en images binaires et soustraire deux image pour extraire la différence. mais j'ai un problème c'est quand la pièce arrive y a des fois ou il bouge d'un ou deux millimètres alors lorsque on veut les soustraire je n'arrive pas a recadré l'image avec les défauts vu que le contour est décalé en fin tout est décalé, si vous avez des infos comment faire pour la recaler, je suis à l'écoute.
    merci

    voici les un exemple de deux image un peu décalé.

    Nom : def2.jpg
Affichages : 477
Taille : 809,7 Ko
    Nom : ref2.jpg
Affichages : 442
Taille : 705,8 Ko

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Éventuellement, regarde comment sont lus les QR-codes, dont les carrés dans les angles servent à ce que l'application détecte les distortions liées à la perspective et l'orientation.

    J'imagine que tu peux essayer de calculer les différences avec certains décalages, et chercher des cas de "petites différences".

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 53
    Par défaut
    dans opencv pour trouver le recallage il y a la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double findTransformECC(InputArray templateImage, InputArray inputImage, InputOutputArray warpMatrix, int motionType=MOTION_AFFINE, TermCriteria criteria=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS, 50, 0.001))
    avec un motion type affine ou homography selon comment sont tes deformations.

    Et puis pour recaller une fois qu'il y a la matrice de transformation tu peux utiliser les fonctions warpAffine ou warpPerspective.

Discussions similaires

  1. [debugger] détection écriture mémoire
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 07/01/2004, 10h17
  2. détection de player
    Par mat10000 dans le forum Flash
    Réponses: 8
    Dernier message: 23/10/2003, 16h36
  3. Détection MySql
    Par gjullien dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/08/2003, 18h15
  4. Détections avec WebBrowser
    Par Wazo_Sportive dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/08/2002, 19h32
  5. Détection de 2 touches appuyées
    Par cyrose dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 16h25

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