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

Visual C++ Discussion :

Configuration des paramètres d'une webcam via Directshow?


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Configuration des paramètres d'une webcam via Directshow?
    Bonjour,

    J'utilise actuellement directshow afin d'utiliser ma webcam comme un camescope. Je souhaitera par ailleurs pouvoir changer les paramètres suivant:

    - format vidéo c'est à dire passer du format RGB24 en I420 ou un autre format plus fluide.

    - jouer sur les paramètres de saturation du capteur.

    J'ai testé le code (ci-dessous) donné dans l'aide de directshow pour justement configurer ces paramètres. Mais à la fonction FindInterface(), le HRESULT retourné est E_NOINTERFACE, alors que j'arrive à configurer le format vidéo et les autres paramètres via GraphEdit.

    Pourriez vous m'aiguillez sur le sujet, je suis un peu perdu j'ai peut etre oublié quelque chose ?

    Merci d'avance pour votre aide.


    g_pControl->Stop();
    IAMStreamConfig *pConfig = NULL;
    HRESULT hr = g_pCapture->FindInterface(
    &PIN_CATEGORY_PREVIEW, // Preview pin.
    0, // Any media type.
    pCap, // Pointer to the capture filter.
    IID_IAMStreamConfig, (void**)&pConfig);

    int iCount = 0, iSize = 0;
    hr = pConfig->GetNumberOfCapabilities(&iCount, &iSize);

    // Check the size to make sure we pass in the correct structure.
    if (iSize == sizeof(VIDEO_STREAM_CONFIG_CAPS))
    {
    // Use the video capabilities structure.

    for (int iFormat = 0; iFormat < iCount; iFormat++)
    {
    VIDEO_STREAM_CONFIG_CAPS scc;
    AM_MEDIA_TYPE *pmtConfig;
    hr = pConfig->GetStreamCaps(iFormat, &pmtConfig, (BYTE*)&scc);
    if (SUCCEEDED(hr))
    {
    /* Examine the format, and possibly use it. */
    hr = pConfig->SetFormat(pmtConfig);
    pmtConfig->subtype = MEDIASUBTYPE_RGB24;
    // Delete the media type when you are done.
    //DeleteMediaType(pmtConfig);
    }
    }
    g_pControl->Run();

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Salut. Essaies:

    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
     
     
    g_pControl->Stop();
     
    IPin* pPin = NULL;
    IAMStreamConfig *pConfig = NULL;
     
    HRESULT hr = g_pCapture->FindPin(pCap,
                                     PINDIR_OUTPUT,
                                     &PIN_CATEGORY_PREVIEW,
                                     0,
                                     TRUE,
                                     0,
                                     (void**)&pPin);
     
    pPin->QueryInterface(IID_IAMStreamConfig, (void**)&pConfig);
     
    int iCount = 0, iSize = 0;
    ....

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    En fait je vais avoir l'air idiot mais je m'était trompé sur la pin.

    Il fallait utiliser la capture pin et non la preview car ma webcam n'en possède pas.

    Merci quand même pour ton aide.

  4. #4
    Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Points : 52
    Points
    52
    Par défaut AIDE : débutant sous direct show , capture video webcam
    Bonjour,

    Tout d'abord, je tiens à signaler que je débute completement dans l'utlisation de directshow.

    Cela fait maintenant plus de 3 semaines que je recherche , et je commence à désespérer.

    Je ne suis pas informaticien mais optronicien, et dans le cadre d'un projet du développement d'un système de radiographie numérique, j'ai besoin de controler entièrement les paramètres d'une webcam HD.

    J'ai commencé sous VFW, mais cela était trop limité car impossibilité d'utiliser des résolutions >640x480.

    Avant toute chose : est ce que l'aquisisition 1600x1200 est possible ?
    Si oui :

    -- Comment connecter un TPanel à la webcam ?

    -- Comment paramétrer toutes les options ?

    Cela fait peut être beaucoup de choses d'un coup .. je m'en excuse.

    Un exemple de code complet serait la bienvenue, car je ne trouve soit que des bribes, soit des codes extremement longs et incompréhensible pour moi.

    Merci beaucoup par avance.

    AT.

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

Discussions similaires

  1. Ajustement des paramètres d'une FFT via pymedia (mp3)
    Par Svart26 dans le forum Calcul scientifique
    Réponses: 5
    Dernier message: 08/06/2007, 08h50
  2. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 15h39
  3. Récupération des paramètres d'une requête
    Par TomPad dans le forum Access
    Réponses: 10
    Dernier message: 16/06/2005, 15h11
  4. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00
  5. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54

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