EMGU reconnaisance faciale

Résolu
julienmus Messages postés 51 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 13 février 2012 - 28 nov. 2011 à 15:36
julienmus Messages postés 51 Date d'inscription lundi 7 juillet 2008 Statut Membre 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

8 réponses

Utilisateur anonyme
29 nov. 2011 à 18:31
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à
3
Utilisateur anonyme
28 nov. 2011 à 16:36
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
0
julienmus Messages postés 51 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 13 février 2012
29 nov. 2011 à 09:44
merci de ta reponse
je vais tester dans ce sens

slts
0
Utilisateur anonyme
29 nov. 2011 à 11:28
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julienmus Messages postés 51 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 13 février 2012
29 nov. 2011 à 18:14
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 nov. 2011 à 18:19
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
0
julienmus Messages postés 51 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 13 février 2012
1 déc. 2011 à 17:22


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
0
julienmus Messages postés 51 Date d'inscription lundi 7 juillet 2008 Statut Membre Dernière intervention 13 février 2012
13 févr. 2012 à 15:44
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
0
Rejoignez-nous