2010-04-13 5 views
1

J'ai essayé d'utiliser HandVU avec OpenCV mais lorsque j'ai essayé d'exécuter "hvOpenCV config/default.conductor", j'ai un "défaut de segmentation". Quelqu'un sait-il ce problème?Utilisation de HandVU avec OpenCV sous Mac OS X 10.6.3

macbook:handvu-beta3 User$ hvOpenCV config/default.conductor 
will load conductor from file: 
config/default.conductor 
Segmentation fault 

J'ai installé OpenCV par http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port sous Mac OS X 10.6.3 et HandVU par http://www.movesinstitute.org/~kolsch/HandVu/doc/InstallationLinux.html#source

Je pense qu'il est un problème avec OpenCV, parce que si je suis en train d'exécuter l'exemple peopledetect, je reçois une faute de segmentation aussi.

macbook:c User$ ./peopledetect pic1.png 
Segmentation fault 

Et si je tente d'exécuter l'exemple facedetect je reçois une erreur aussi:

macbook:c User$ ./facedetect --cascade="../../haarcascades/haarcascade_frontalface_alt.xml" 
Xlib: extension "RANDR" missing on display "/tmp/launch-WUMho1/org.x:0". 

quelqu'un peut me aider?

Répondre

0

J'ai enfin réussi à compiler OpenCV sur MacOSX 10.6, et cela peut résoudre le problème ...

D'abord, à partir http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port, compilation en mode i386 par issueing

svn co https://code.ros.org/svn/opencv/trunk/opencv 
cd opencv # the directory containing INSTALL, CMakeLists.txt etc. 
mkdir build 
cd build 
cmake -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C/CXX_FLAGS=-m32 -D WITH_FFMPEG=OFF -D BUILD_EXAMPLES=ON -D BUILD_LATEX_DOCS=ON .. 
make -j2 
sudo make install 

Finalement, je devais reconstruire certains ports:

sudo port install ilmbase +universal 
port provides /opt/local/lib/libIlmImf.dylib 
sudo port install openexr +universal 

et recompiler OpenCV

Ensuite, je pourrais courir des exemples de python

cd ../samples/python/ 
python camera.py 

et facedetect sans erreur (et de travail de webcam).

+0

Je suis en utilisant maintenant HomeBrew maintenant: donne un moyen rapide de compiler opencv avec un itinéraire similaire. – meduz

0

Compilez OpenCV avec QTKit et Cocoa, puis utilisez-le avec HandVu. Si vous utilisez Mac OSX 10.6.4 et supérieur, veuillez suivre les étapes ci-dessous. (Je suppose que vous avez déjà configuré PKG_CONFIG_PATH)

  1. Compile OpenCV avec QTKit et Cocoa (ne sélectionnez WITH_QUICKTIME et les options de WITH_CARBON dans des configurations de CMake). De plus, utilisez TBB si vous l'avez mais c'est optionnel.

  2. sources HandVu Obtenez et modifiez les fichiers suivants:

    • handvu/HandVu.h (avec #include "opencv2/opencv.hpp"#include "cv.h" remplacer et enlever "highgui.h")
    • handvu/OpticalFlow.h (remplacer #include « cv. h » aveC#include "opencv2/opencv.hpp" et supprimer "highgui.h")
    • handvu/GestureServer.cpp (sur la ligne 255, remplacer MSG_NOSIGNAL avec SO_NOSIGPIPE)
    • hv_OpenCV/hv_OpenCV.cpp (remplacer #include "cv.h" aveC#include "opencv2/opencv.hpp" et supprimer "highgui.h" et remplacer le code en ligne 185 avec le code suivant:

      int success = cvNamedWindow("HandVu", CV_WINDOW_AUTOSIZE); 
      // if (success==0) { 
      // printf("can't open window - did you compile OpenCV with highgui support?"); 
      // return -1; 
      // }