EMGU reconnaisance faciale [Résolu]

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

codes-sources a aidé 82 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
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
julienmus 51 Messages postés lundi 7 juillet 2008Date d'inscription 13 février 2012 Dernière intervention - 29 nov. 2011 à 09:44
0
Merci
merci de ta reponse
je vais tester dans ce sens

slts
Commenter la réponse de julienmus
Utilisateur anonyme - 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
julienmus 51 Messages postés lundi 7 juillet 2008Date d'inscription 13 février 2012 Dernière intervention - 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
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 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
julienmus 51 Messages postés lundi 7 juillet 2008Date d'inscription 13 février 2012 Dernière intervention - 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
julienmus 51 Messages postés lundi 7 juillet 2008Date d'inscription 13 février 2012 Dernière intervention - 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.