Bonjour à tous.

Pour les besoins d'un projet étudiant, j'essaye de créer un code qui utilise opencv, et notamment un carte de disparité. Cependant la fonction cvFindStereoCorrespondanceBM d'opencv donne un résultat peu utilisable, même après de nombreuse heures à essayer les différents paramètres du BMState.

Je me suis donc tourné vers openvis3d. Ce code de google semble efficace et apparemment simple à ajouter à son propre code d'après ce que j'ai lu.

Malheureusement, lorsque j'essaye de compiler l'exemple fourni, j’obtiens les messages d'erreurs suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Essais opencv.cpp
1>Édition des liens en cours...
 
1>Essais opencv.obj : error LNK2019: symbole externe non résolu "public: __thiscall OpenCVImageAdapter::OpenCVImageAdapter(struct _IplImage *)" (??0OpenCVImageAdapter@@QAE@PAU_IplImage@@@Z) référencé dans la fonction "void __cdecl testStereo(char *,char *,double,double)" (?testStereo@@YAXPAD0NN@Z)
 
1>C:\Users\Thomas\Documents\Visual Studio 2008\Projects\Essais opencv\Debug\Essais opencv.exe : fatal error LNK1120: 1 externes non résolus
Je ne suis pas un expert et je ne parvient pas a comprendre le problème, mais il me semble venir de ces quelques lignes (pourtant du code google d'origine) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class OpenCVImageAdapter :	public OvImageAdapter
{
  OpenCVImageAdapter(){}; /** to prevent the default constructor from being used */

public:
  OpenCVImageAdapter(IplImage*im);
  virtual ~OpenCVImageAdapter();

  virtual double getPixel(int row, int column, int channel) const;
  virtual void   setPixel(double value, int row, int column, int channel);
...
Mais comme il s'agit du code d'origine, je pense que le problème vient d'une mauvaise manip de ma part...

Il y a également un fichier Makefile dans le répertoire d'openvis3d pour l'utilisation de cette exemple justement, mais je ne parvenais pas à la lancer, et j'ai donc créé un projet test avec le code et les includes/lib , peut être que le problème vient de là.

Comme l'exemple ne fonctionne pas, je n'ai pas essayé d'utiliser openvis3d dans mon code.

Je vous remercie d'avance.