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

OpenCV Discussion :

Cannot initialize OLE


Sujet :

OpenCV

  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut Cannot initialize OLE
    Bonjour,
    Je développe une application couplant wxWidget et OpenCV.
    Celle-ci récupère l'image de la webcam avec OpenCV pour l'afficher dans une fenêtre wxWidget.

    Mais j'obtiens une box avec comme titre "wxWidget" et comme contenu "Error : Cannot initialize OLE".
    Je pense que cela vient de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CvCapture *m_capture = cvCaptureFromCAM( CV_CAP_ANY );
    Comment remédier à ce problème ?

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Avis à prendre avec modération car je n'ai jamais mélangé ActiveX et wxWidget. Mais ne manquerait-il pas CoInitializeEx?

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    Merci pour ta réponse, mais ce n'est pas ActiveX que j'utilise mais OpenCV.
    J'ai tout de même essayé d'insérer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        CoInitializeEx( NULL, COINIT_DISABLE_OLE1DDE );
        m_capture = cvCaptureFromCAM( CV_CAP_ANY );
    Mais le fameux message continu de s'afficher.
    Fort fâcheux !

    Merci d'avance

    EDIT : Je viens de m'aperçevoir que si j'enlève la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        m_capture = cvCaptureFromCAM( CV_CAP_ANY );
    Mais que je laisse des lignes telles que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IplImage *frame = cvQueryFrame( m_capture );
    Le message s'affiche tout de même.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Voila ce que dit le MSDN sur l'erreur:
    You're trying to register a server component .dll file, but are unable to do so. This message can occur in various situations, primarily when registering an OLE .dll file fails.
    Problème de droit ?

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    Puisque je compile wxWidget en static ce doit donc être OpenCV qui rencontre le problème non (qui a, lui, des dll) ?

  6. #6
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    J'ai peut etre trouvé une piste :
    http://wxforum.shadonet.com/viewtopi...initialize+ole

    Mais c'est quoi /clr ? Comment je l'enlève ?
    Merci d'avance

  7. #7
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    /CLR est une option de compilation de Visual.
    Pour l'enlever, tu vas sur les propriétés de ton projet (click droit->Properties dans Solution Explorer). Dans Configuration Properties/General, dans Common Language Runtime support, tu positionnes No Common Language Runtime Support.

    Si cela corrige ton problème, n'oublies pas de venir nous le faire partager ici et d'utiliser
    Images attachées Images attachées  

  8. #8
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    Le problème c'est que j'utilise Code::Blocks.
    Y a t'il un equivalent ??
    Merci d'avance

  9. #9
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Avec quel compilateur? Dans build options, onglet Compiler Settings, other Options ?

  10. #10
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    Avec GNU GCC Compiler ou G++
    Je vais rechercher mais la première fois je n'ai rien vu.

    Dans other Options j'ai :
    -pipe
    -mthreads
    J'ai testé en supprimant les 2, toujours pareil ...

  11. #11
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Effectivement, CLR est une option du compilateur de microsoft. Donc aucune chance de la trouver dans gcc.

    Revenons au départ. Tu es sous Windows Vista ou autre? As-tu les droits admins sur ton poste?

  12. #12
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    J'ai Windows XP. Et oui j'ai les droits administrateurs.

  13. #13
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bonne année,
    Bon, ben je sèche sur ton problème. Je déplace du côté du forum OpenCV. Peut-être que tu auras plus de chance.
    Désolé.

  14. #14
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Salut

    Es tu sûr que openCV marche, et que c'est l'intégration dans wxWidget qui pose problème ?

    Tu peux par exemple afficher ton flux video en utilisant les fonctions de highgui de openCV (cvNamedWindow, cvShowImage).
    Si ça fonctionne, tu sauras au moins que ton erreur vient de l'intégration dans wxWidgets.

    Sinon, si tu as une seule webcam, tu peux tout simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     m_capture = cvCaptureFromCAM(0);
    Après, je ne connais pas du tout wxWidget, par contre j'ai intégré openCv dans mon interface Qt (en convertissant les IplImage en QImage qui est un format Qt, ça peut être une autre piste d'intégration dans wxWidget).

    Bonne chance,

    G.

  15. #15
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    Oui OpenCv seul fonctionne, ainsi que wxWidget. Ce n'est uniquement lors de l'utilisation de la webcam que ça coince.
    J'ai déjà essayé avec le 0 mais le problème persiste.
    Je convertie effectivement la IplImage récupéré en une wxBitmap pour pouvoir l'afficher.

    Merci

  16. #16
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ce n'est uniquement lors de l'utilisation de la webcam que ça coince.
    Lorsque tu lis un fichier vidéo, ça fonctionne ?
    Essai de tester les états de tes variables clés (m_capture, image, etc ...). Vérifie que leur valeur est toujours correcte.

    As tu essayé de faire un débogage pas à pas ? Ainsi on pourrait mieux situer le problème !

    G.

  17. #17
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 46
    Par défaut
    Pour information j'ai le même problème mais je n'utilise pas de webcam. Il suffit que j'utilise une fonction basique telle que cvLoadImage pour que cela me sorte l'erreur OLE...

    Des avancées sur la question ou non?

  18. #18
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 240
    Par défaut
    Non je n'ai pas avancé. Avec les cours je n'ai pas trop le temps.
    Mais cela serait mieux si on arrivais à trouver la solution.

  19. #19
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 46
    Par défaut
    Bon ben voilà la solution trouvée hier après quelques cafés...


    il suffit d'importer tout ce qui est nécessaire à opencv APRES avoir initialisé wx.

    J'utilise python personellement et lorsque je fais ça:
    import wx
    app = wx.App()
    import opencv.highgui as gui
    gui.cvNamedWindow("ole test",1)
    -->c'est OK

    Mais si je fais ça:
    import wx
    import opencv.highgui as gui
    app = wx.App()
    gui.cvNamedWindow("ole test",1)

    Là il y a le problème, la solution est donc d'initialiser wx AVANT tout appel à opencv, après il n'y a plus de problèmes.

    ps: j'avais essayé avec QT et c'est exactement la même chose, avec la même solution.

    Happy coding!

Discussions similaires

  1. [XL-2000] Alerte "Cannot user OLE"
    Par dor_boucle dans le forum Excel
    Réponses: 1
    Dernier message: 21/05/2010, 11h01
  2. could not initialize OLE (error 80010106)
    Par oeilvert dans le forum Qt
    Réponses: 3
    Dernier message: 22/08/2009, 15h45
  3. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  4. Réponses: 1
    Dernier message: 03/10/2006, 11h21
  5. [CR7] Erreur CanNot initalize OLE
    Par elifqaoui dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/07/2003, 22h03

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