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 :

Binarisasion d'une image


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Hamza
    Homme Profil pro
    Data Analyst
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Data Analyst
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Par défaut Binarisasion d'une image
    Bonjour,

    je souhaite binariser une image couleurs l’étape 1 du programme est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <cv.h>
    #include <highgui.h>
    iplImage *img,imgB;
    void main()
    {
        img=cvloadImage("test.jpg");
        cv::cvtColor(img,imgB,CV_RGB2GRAY);
    }
    a l'excution deux messages d'erreur s'affiche

    Erreur 1 error LNK2019: symbole externe non résolu "void __cdecl cv::cvtColor(class cv::Mat const &,class cv::Mat &,int,int)" (?cvtColor@cv@@YAXABVMat@1@AAV21@HH@Z) référencé dans la fonction "void __cdecl Binaire(void)" (?Binaire@@YAXXZ) C:\Users\Hamza\documents\visual studio 2010\Projects\OpenCV\OpenCV\Filtre_Localisation.obj OpenCV
    Erreur 2 error LNK1120: 1 externes non résolus C:\Users\Hamza\documents\visual studio 2010\Projects\OpenCV\Debug\OpenCV.exe OpenCV
    vraiment je ne comprend pas les messages d'erreur, j'ai déjà consulter la documentation

    La première étape consiste a rendre l'image en niveau de gris puis effectuer un filtre (médian) pour enfin la binariser.

    Merci.

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Salut !

    Il s'agit d'une procédure C contenue dans imgproc_c.h. En enlevant le namespace "cv::" devant l'appel ça devrait aller mieux je présume.

  3. #3
    Membre éclairé Avatar de Hamza
    Homme Profil pro
    Data Analyst
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Data Analyst
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Par défaut
    Bonsoir,

    j'ai déjà tenter sans le namespace mais sa ne marche pas non plus.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Déjà il faudrait savoir si tu travailles en C ou en C++

    Le code tel quel que tu nous montres n'a aucune chance d'arriver à l'étape d'édition des liens (qui pose problème selon ton erreur).
    • Il manque un * devant imgB
    • IplImage avec un I majuscule au début.
    • cvLoadImage avec un L majuscule.
    • cv::cvtColor de l'interface C++ n'acceptera jamais un IplImage du C.

    Citation Envoyé par TheGzD Voir le message
    Il s'agit d'une procédure C contenue dans imgproc_c.h. En enlevant le namespace "cv::" devant l'appel ça devrait aller mieux je présume.
    Pas tout à fait : la fonction du C est cvCvtColor.

  5. #5
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    Pas tout à fait : la fonction du C est cvCvtColor.
    Bien vu ! Je me suis laissé avoir par les types des arguments passés.

  6. #6
    Membre éclairé Avatar de Hamza
    Homme Profil pro
    Data Analyst
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Algérie

    Informations professionnelles :
    Activité : Data Analyst
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Par défaut
    Bonjour,

    oula, pas fait attention, je n'ai pas fait du copie coller directement j'ai retaper le code donc dans le compilateur je n'ai pas comis ces eerreur. Toute fois je travail sur VS2010 avec C++.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <cv.h>
    #include <highgui.h>
    IplImage *img,*imgB;
    void main()
    {
        img=cvloadImage("test.jpg");
        cv::cvtColor(img,imgB,CV_RGB2GRAY);
    }
    je ne savais pas que IplImage fait partie du C donc si je comprend bien je doit utiliser un autre type de variable comme :
    si c'est le cas mon programme sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #include <cv.h>
    #include <highgui.h>
    void main()
    {
    	cv::Mat img,imgB;
    	img=cv::imread("test.jpg");
    	cv::cvtColor(img,imgB,CV_RGB2GRAY);
    }
    les message d'erreur que j'ai maintenant :

    1>ok.obj : error LNK2019: symbole externe non résolu "void __cdecl cv::cvtColor(class cv::Mat const &,class cv::Mat &,int,int)" (?cvtColor@cv@@YAXABVMat@1@AAV21@HH@Z) référencé dans la fonction _main
    1>ok.obj : error LNK2019: symbole externe non résolu "class cv::Mat __cdecl cv::imread(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" (?imread@cv@@YA?AVMat@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) référencé dans la fonction _main
    1>ok.obj : error LNK2019: symbole externe non résolu "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) référencé dans la fonction "public: __thiscall cv::Mat::~Mat(void)" (??1Mat@cv@@QAE@XZ)
    1>ok.obj : error LNK2019: symbole externe non résolu "public: void __thiscall cv::Mat::copySize(class cv::Mat const &)" (?copySize@Mat@cv@@QAEXABV12@@Z) référencé dans la fonction "public: class cv::Mat & __thiscall cv::Mat::operator=(class cv::Mat const &)" (??4Mat@cv@@QAEAAV01@ABV01@@Z)
    1>ok.obj : error LNK2019: symbole externe non résolu "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ) référencé dans la fonction "public: void __thiscall cv::Mat::release(void)" (?release@Mat@cv@@QAEXXZ)
    PS : je débute avec OpenCV donc j'apprend petit a petit, et je ne comprend pas les message d'erreur.

    merci

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. Lecture d'une image bitmap
    Par Geronimo dans le forum x86 32-bits / 64-bits
    Réponses: 18
    Dernier message: 28/06/2002, 12h01
  3. Réponses: 3
    Dernier message: 12/06/2002, 19h03
  4. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  5. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44

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