EMGU reconnaisance faciale [Résolu]

Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
13 février 2012
- 28 nov. 2011 à 15:36 - Dernière réponse :
Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
13 février 2012
- 13 févr. 2012 à 15:44
bonjour

cela fait plusieur jour que j'essai de me lancer dans cette grande aventure qu'est opencv
1er constat : pas simple ...

j'ai essayer plusieur chose en combinant 2 ou 3 truc trouver sur plusieur forum mais sans resultat
et meme en simplifiant un max je n'y arrive pas (pourtant j'ai pas oublier d'ajouter les references) alors si vous pouvier me rendre un ptit service en me disant ou est l'erreur je vous serrez reconnaissant
alors voila le code :
'j'importe les dlls

Imports Emgu.CV
Imports Emgu.Util
Imports Emgu.CV.Structure
Imports Emgu.CV.UI

Public Class Form1

    Private Sub Form1_Load() Handles MyBase.Load
        '  je charge l'image au demarrage 
        Dim p As String = Application.StartupPath

        PictureBox2.Image = Image.FromFile("image.jpg")

       

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'c'est la que sa ce complique 
        'je met l'image dans un buffer avec une correction sur la couleur (du moins, c'est ce que j'ai compris!) 
        Dim ImageBgr As New Image(Of Bgr, Byte)(PictureBox2.Image) ' c'est a ce niveau que j'ai une erreur :"Une exception a été levée par l'initialiseur de type pour 'Emgu.CV.CvInvoke'".
        'je declare le fichier xml qui permet a la lib opencv de reconnaitre les visages
        Dim HaarXML As New HaarCascade("haarcascade_frontalface_alt.xml")
        ' je converti l'image en niveu de gris 
        Dim GrayImage As Image(Of Gray, Byte) = ImageBgr.Convert(Of Gray, Byte)()

        Dim ImgGraphics As Graphics = Graphics.FromImage(PictureBox2.Image) ' je ne comprend pas l'interer de cette ligne :?
        Dim MPen As New Pen(Brushes.YellowGreen, 8) 'je definit les tracés carrés 
        For Each m In GrayImage.DetectHaarCascade(HaarXML)(0)

            ImgGraphics.DrawRectangle(MPen, m.rect) 'je dessine les carrés 

        Next
    End Sub
End Class


je suis prenneur de toute vos remarque mais un peu d'indulgence
car je ne suis qu'un petit bricoleur
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
29 nov. 2011 à 18:31
3
Merci
glisser dans system32

A noter qu'il suffit de placer les dll en lieu et place de l'exécutable.
@ucfoutu
tu seras vite riche

Qui te dit qu'il ne l'est pas déjà

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
28 nov. 2011 à 16:36
0
Merci
Bonsoir,

A mon avis, c'est ta façon de charger l'image dans ton PictureBox2 qui empêche son utilisation ultérieure puisqu'elle est verrouillée.

Tu devrais charger cette image de cette façon :
Using monstream As New IO.FileStream("image.jpg", IO.FileMode.Open)
     PictureBox2.Image = Image.FromStream(monstream)
End Using
Commenter la réponse de Utilisateur anonyme
Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
13 février 2012
29 nov. 2011 à 09:44
0
Merci
merci de ta reponse
je vais tester dans ce sens

slts
Commenter la réponse de julienmus
29 nov. 2011 à 11:28
0
Merci
C'est très intéressant cette reconnaissance faciale et je ne savais même pas que ça existait.

Je viens de trouver la source qui ressemble fortement à la tienne ici. Donc je l'ai utilisée aussi. A l'intérieur du zip, il y a un exécutable dans le sous-dossier 'debug'. Lorsqu'on tente de le démarrer, il y a une erreur plus explicite qui indique qu'il manque la dll opencv_core220.dll (évidement introuvable dans sa bonne version 'BadFormatImageException').

Bon courage pour la suite.
Commenter la réponse de Utilisateur anonyme
Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
13 février 2012
29 nov. 2011 à 18:14
0
Merci
tu as ceratinement raison !
j'ai telecharger les dll de opencv, glisser dans system32 et les erreur qui indique qu'il manque la dll opencv_core220.dll ce sont arreter mais il me reste un bug quelque part encore
j'ai du louper un truc important je vais relir les tuto sur emgu car nul part j'ai vu qu'il fallait ces dlls(enfin je pense)

pour info: c'est un projet de tracking de visage a base d'arduino, webcam, servomoteur et de vb.net et j'en suis qu'au debut )

merci encore d'y avoir jeter un oeil
Commenter la réponse de julienmus
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
29 nov. 2011 à 18:19
0
Merci
Bonjour,
Si tu y parviens de manière réellement exploitable et fiable, (donc quels que soient les différents facteurs (angles de vue - tant vertical qu'horizontal, luminosité/contraste, etc ...) tu seras vite riche.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
13 février 2012
1 déc. 2011 à 17:22
0
Merci


A noter qu'il suffit de placer les dll en lieu et place de l'exécutable.


oui j'ai bien essayer mais pas mieux
decidement tres compliqué cette histoire !

Qui te dit qu'il ne l'est pas déjà


heu non meme pas et puis honnetement j'ai pas la pretention de vouloir me faire des sous avec ça
Commenter la réponse de julienmus
Messages postés
51
Date d'inscription
lundi 7 juillet 2008
Dernière intervention
13 février 2012
13 févr. 2012 à 15:44
0
Merci
salut

bon je reviend sur ce vieux sujet.
alors j'ai fait le teste sur un autre pc
et comme par magie ça fonctionne
je n'ai pas vraiment d'explication mais ça commence a devenir vraiment interréssant

je laisserais prochainement le code sur vb.net

merci a tous ceux qui on essayé de m'aider
Commenter la réponse de julienmus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.