Partage
  • Partager sur Facebook
  • Partager sur Twitter

Reconnaisance avec OpenCV

    1 mars 2021 à 3:17:52

    Bonjour je cherche a connaitre des forme sur openCV plustot simple mais apres avoir chercher des heure sur le net je trouve pas mon bonheur j'ai tester plusieurs truc mais a chaque fois ca me donne pas le resulta voulu y'a beaucoup de possibiliter avec opencv pour faire la meme chose alors peut etre allez vous avoir une idee pour m'orienter ou meme proposer une solution.


    Voila je cherche a comparer deux image et avoir un chiffre float ou int sur 100 de la probabilite de rapprochement entre deux image par exemple je recois cette image

    et je lui est donnner cette image 

    je veut quíl me dise a combien ca matche par rapport a celle la et a d'autre pour trouver la plus proche dite moi si vous arrivez a me comprendre x) 
    suis deja passer par 

                img3 = img
                res = cv2.matchTemplate(img, searchingTarget, cv2.TM_CCOEFF)
                loc = np.where(res >= 0.8)
                w, h = searchingTarget.shape[::-1]
                print(loc)

    mais le resultat est pas top vraiment pas top

    puis par 

                orb = cv2.ORB_create() 
                kp1, des1 = orb.detectAndCompute(img,None) 
                kp2, des2 = orb.detectAndCompute(searchingTarget,None) 
                bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) 
                matches = bf.match(des1,des2) 
                matches = sorted(matches, key = lambda x:x.distance) 
                img3 = cv2.drawMatches(img,kp1,searchingTarget,kp2,matches[:10],None,flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS) 

    mais pareille le resultat etait pas top top


    Sans oublier que je fait ca depuis un pi4 :p ca me semble pas trop attroce mais visiblement si alors si vous avez des idee je suis preneure


    -
    Edité par PhiKirax 1 mars 2021 à 3:18:41

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      3 mars 2021 à 7:08:30

      f

      -
      Edité par Anonyme 3 mars 2021 à 7:11:16

      • Partager sur Facebook
      • Partager sur Twitter
        3 mars 2021 à 7:12:00

        Bon j'ai continuer a chercher en attendant les reponse vu que personne a repondu j'ai fini par trouver la reponse je la poste au cas ou un jour quelle qu'un a le meme souci.

        j'ai opter pour la solution 1 mais j'ai du ameliorer le concepte en faite l'algo matchTemplate ce contente de prendre l'image source et de la balader sur la deuxieme image et de voir si elle matche qu'elle que par donc suffit de leur donner la meme forme et ca a trouver :)
        • Partager sur Facebook
        • Partager sur Twitter
          3 mars 2021 à 9:17:02

          Salut, ce que u as réussis à faire m'intéresse parce que je vais surement bientot devoir faire quelque chose de ressemblant au boulot.

          Quand tu dis qu'il suffit de leur donner la même forme, tu parles des dimension de l'image j'imagine et donc tu rogne une image pour que ses dimensions soient les même que l'image à laquelle tu la compares ?

          Est ce que tu pourrais montrer ton code pour que je vois comment tu as "améliorer le concept" stp ?

          Est ce que tu sais ce que produit ta solution si tu lui demande de comparer une image avec la même image qui aurait subie une rotation de 10 degrés (par exemple) ? Est ce que malgré la rotation d'une image tu arrives a détecter que c'est la même image ou alors l'algo les considère comme deux images différentes ?

          Merci d'avance pour tes précisions :)

          • Partager sur Facebook
          • Partager sur Twitter

          Reconnaisance avec OpenCV

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown