Que faire si vous pensez que l'exemple de script ne fonctionne pas
Je parlerai de mon expérience dans la situation d'import cv2 depuis Python 2.7.
Même si vous n'obtenez que le script, cela ne fonctionnera pas sans l'image d'entrée que le script est censé être. Recherchez des images dans la distribution OpenCV qui sont liées au contexte utilisé, telles que "box.png ", "box_in_scene.png ".
Supposons que vous obteniez une erreur lorsque vous appelez cv2.drawMatches lors de l'exécution d'un script.
>>> help(cv2.drawMatches)
Mais cela provoque une erreur.
#### **`>>> cv2.__version__`**
```__version__
Si tel est le cas, la valeur antérieure à 3.0.0 doit être affichée.
La distribution dans OpenCV3 et la distribution dans OpenCV2 sont cv2.pyd.
Découvrez quelle version vous utilisez.
drawMatches () est une fonction qui n'est pas incluse dans OpenCV2 et est implémentée dans la distribution OpenCV3.
À l'emplacement de la bibliothèque Python (par exemple C: \ Python27 \ Lib \ site-packages, veuillez lire en fonction de votre environnement),
Copiez la version de la liaison OpenCV Python cv2.pyd que vous souhaitez utiliser.
Ensuite, redémarrez python et faites de même, vous trouverez cv2.drawMatches.
\>>> import cv2
\>>> cv2.\_\_version__
'3.0.0-beta'
\>>> help(cv2.drawMatches)
Help on built-in function drawMatches:
drawMatches(...)
drawMatches(img1, keypoints1, img2, keypoints2, matches1to2, outImg[, matchColor[, singlePointColor[, matchesMask[, flags]]]]) -> outImg
### 3. 3. ** Fonction non trouvée (le nom était différent) **
Même si j'ai donné la version d'OpenCV utilisée en Python à OpenCV3
Les scripts écrits sur OpenCV3 peuvent ne pas fonctionner.
Un détecteur pour calculer les caractéristiques ORB.
\>>> cv2.ORB()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ORB'
\>>> cv2.ORB_create()
<ORB 064E4490>
\>>>
#### **`cv2.__version__Mais'3.0.0-beta'では、関数名Maiscv2.ORB()Pas cv2.ORB_create()Il est devenu.`**
Pourquoi connaissiez-vous cv2.ORB_create ()? Démarrez [Python Documentation Server] Lorsque vous appuyez sur le bouton [Ouvrir le navigateur], la bibliothèque Python s'affiche dans le navigateur. [C:\Python27\lib\site-packages] Suivez le lien et sélectionnez [cv2]. J'ai donc cherché la page avec "ORB" et l'ai trouvée.
Il semble probable que les fonctionnalités ajoutées dans OpenCV3 changeront encore de manière significative. (La description de cet article devrait rapidement devenir obsolète et inutile.)
cv2.drawMatches (...) doit afficher le résultat de correspondance souhaité pour les deux images, Une seule image est affichée, et il est difficile de dire qu'elle montre la correspondance. Qu'est-ce qui ne va pas?
Quand j'ai cherché cv2.drawMatches, il y avait une personne qui a publié drawMatches par lui-même.
OpenCV - Calcul de la quantité de fonctionnalités et correspondance à l'aide de SIFT
Laisse moi m'en servir Un graphique reliant les points correspondants des deux images avec une ligne droite a été affiché en toute sécurité. (Cependant, il existe de nombreux points de mappage incorrect, qui sont dus au descripteur de point caractéristique et à l'algorithme de correspondance.)
Remarque: Le site d'origine, où je pensais que l'exemple de script ne fonctionnait pas, devrait être constamment révisé. Par conséquent, sur cette page, j'ai l'intention de montrer l'idée que les débutants et les intermédiaires peuvent essayer de résoudre le problème par eux-mêmes lorsqu'ils rencontrent un tel problème.