IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB.NET] Recuperation du contenue d'un control WIA VideoPreview


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut [VB.NET] Recuperation du contenue d'un control WIA VideoPreview
    bonjour a tous,
    voila je suis entrain de developper une appli en vb.net pour faire de la
    videoconference "chat+webcam" en premier lieu et après une fois que tout marche integrer de la VoIP.

    pour ce faire j'utilise le control WIA "wiaaut.dll" de windows "marche uniquement avec windows XP" et j'affiche le resultat de la capture de ma webcam sur un control WIA de type videopreview.

    jusque la tout va bien mais la ou ca bloque c'est :

    Comment recupérer le contenue du control videopreview "image par image et le trandférer via le control winsock à l'appli d'istant" ?

    je suis bloqué à ce stade donc...

    merci pour votre aide
    cordialement,

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    toujours pas de reponse snif

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    je ne connais pas le .NET , mais tu trouveras ci joint un exemple VBA(Excel2002) qui fonctionne pour effectuer des captures d'image du PreView


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Option Explicit
     
    Dim Di As DeviceInfo
    Dim Dev As Device
     
     
    Private Sub UserForm_Initialize()
        DeviceManager1.RegisterEvent wiaEventDeviceConnected
        DeviceManager1.RegisterEvent wiaEventDeviceDisconnected
     
        Set Di = DeviceManager1.DeviceInfos.Item(1)
        Set Dev = Di.Connect
     
        If Dev.Type = VideoDeviceType Then
        Set VideoPreview1.Device = Dev
        End If
    End Sub
     
     
    Private Sub CommandButton1_Click()
    Dim Itm As Item
    Dim Img As ImageFile
     
    Set Itm = Dev.ExecuteCommand(wiaCommandTakePicture)
     
    If Not Itm Is Nothing Then
        Set Img = Itm.Transfer
     
        If Not Img Is Nothing Then
        Set Image1.Picture = Img.FileData.Picture
        End If
    End If
     
    'pour enregistrer la capture sur le disque
    'Img.SaveFile "C:\monimageTest_WIA_V02.jpg"
    End Sub


    j'espere que tu pourras l'adapter


    bonne soiree
    michel

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    merci SilkyRoad,

    le code que tu propose ne me permet pas d'avoir les frame d'un control videopreview.

    j'ai aussi le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
            Try
                'executes the device's TakePicture command
                SelectedItem = SelectedDevice.ExecuteCommand(WIA.CommandID.wiaCommandTakePicture)
            Catch ex As System.Exception
                MessageBox.Show("Problem Taking Picture. Please make sure that the camera" & _
                              "is plugged in and is not in use by another application. " & vbCrLf & _
                              "Extra Info:" & ex.Message, "Problem Grabbing Picture", _
                              MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, _
                              MessageBoxOptions.DefaultDesktopOnly)
                Exit Sub
            End Try
     
    ....
    ....
    qui me premt de prendre une photo mais il faut que la webcam soit en off pour que le control wia l'initialize pour la prise de photo.
    le problème et que moi j'utilise ma camera pour de la video conference donc la cam est en route tout le temps et affiche les frame dans le controle videopreview, et la pas moyen de pred des photos

    donc je cherche toujour un moyen de recuperer les frames du videopreview
    et pas le fait de demander a la cam de prendre une photo

    je suis toujours en recherche de solution...

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    je te reconfirme que dans l'exemple proposé , je suis en mode WebCam (et en fonctionnement) lors de la capture d'image .

    grace notamment à ces 3 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If Dev.Type = VideoDeviceType Then
        Set VideoPreview1.Device = Dev
        End If

    mais nous ne parlons peut etre pas de la meme chose .
    Désolé de n'avoir pu t'aider .


    bonne soirée
    michel

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    bonjour SilkyRoad,

    oui tu as tout a fait raison, j'ai modifier mon code et c'est exactement ce que tu as dit.

    par contre a chaque fois qu'il doit prendre une photo il arrete la video le temps de prendre la photo alors que moi justement je cherche a prendre une photo "frame" toute les 250 ms pour la convertir en string et l'envoyer via winsock donc...

    si tu as une idée merci d'avance

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    j'ai eu le meme probleme au début (la video qui se fige quelques secondes au moment de la capture d'image)


    pour règler ce point j'ai placé les 3 lignes dans l'evenement d'initialisation de la Form :UserForm_Initialize

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If Dev.Type = VideoDeviceType Then
        Set VideoPreview1.Device = Dev
        End If
    depuis cette modification , la capture est instantanée


    par contre je ne saurais te dire à quel evenement ça correspond en .NET (Form Load en VB)


    bonne journée
    michel

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 134
    Points : 107
    Points
    107
    Par défaut
    j'ai fait le test avec exactement les meme chose que toi mais ca ne marche pas...
    je me suis tourner finalement vers directX en utilisant DirectShow et directx.capture.
    la tout marche nickel
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] recuperer le contenu d'un controle de contenu dans word
    Par Tierisa dans le forum VBA Access
    Réponses: 0
    Dernier message: 10/06/2014, 15h36
  2. [vb.net]recuperer valeur cellule contenue dans datagrid
    Par nasty dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/02/2014, 11h29
  3. recuperer le contenu d'une colonne Excel dans un controle VB6
    Par didami dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 25/04/2007, 11h20
  4. [2.0][VB.NET] Récupérer contenu internet
    Par khamett dans le forum Windows Forms
    Réponses: 20
    Dernier message: 04/12/2006, 22h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo