Comment puis-je créer ma propre cascade de haars et l'appliquer?
Je suis intéressé par la création de mon propre haar cascade de fichier xml, pour une utilisation avec python, afin de détecter un certain logo (disons que c'est le logo d'apple).
J'ai essayé de suivre les instructions à l'
http://docs.opencv.org/trunk/doc/user_guide/ug_traincascade.html
et
http://note.sonots.com/SciSoftware/haartraining.html
Problème est que, bien que je reçois un valide le fonctionnement en cascade fichier, il ne détecte rien.
plus précisément, lorsque j'essaie de détecter l'objet à l'intérieur de l'image d'origine utilisé pour le créer, il n'est pas détecté.
J'ai déjà essayé le redimensionnement de l'image, ou tout simplement en le mettant dans un contexte plus large, en l'insérant dans une image.
ce que je fais mal?
chez shell, je lance:
opencv_createsamples -img original.jpg -bg negatives.dat -vec samples_set.vec -w 48 -h 48
opencv_traincascade -bg negatives.dat -data mycascade -vec samples_set.vec -w 48 -h 48
qui semble bien fonctionner, créant une cascade de fichier.
Puis, en python:
import cv2
cascade2 = cv2.CascadeClassifier('mycascade.xml')
cv2Image = cv2.imread('original.jpg')
cascade2.detectMultiScale(cv2Image)
et la détection est livré vide. J'ai essayé de tester avec un "standard" xml qui vient avec python et ça marche, alors quelque chose est incorrect avec le mien.
source d'informationauteur eran
Vous devez vous connecter pour publier un commentaire.
J'espère que vous avez trouvé votre réponse, maintenant qu'il a été 2 ans depuis que vous avez posé votre question! de toute façon, je vais partager ce que je sais, pour quelqu'un d'autre qui pourrait avoir la même question. L'un des meilleurs et pleinement expliqué tutoriels sur cette question est de Codage-Robin et j'ai personnellement appris beaucoup de choses à partir de là. une chose à retenir est que vous ne devez pas utiliser la même image qui a été impliqué dans la création de la cascade de haar, et la raison en est qu'il est déjà classé comme positif (ou négatif) de l'échantillon, et donc essayer de processus, il est assez inutile.