Использование HandVU с OpenCV в Mac OS X 10.6.3 - PullRequest
1 голос
/ 13 апреля 2010

Я пытался использовать HandVU с OpenCV, но когда я попытался запустить «hvOpenCV config / default.conductor», я получил «Ошибка сегментации».Кто-нибудь знает эту проблему?

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

Я установил OpenCV через http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port на Mac OS X 10.6.3, а HandVU через http://www.movesinstitute.org/~kolsch/HandVu/doc/InstallationLinux.html#source

Я думаю, что это проблема сopencv, потому что, если я пытаюсь запустить пример peopledetect, я тоже получаю ошибку сегментации.

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

И если я пытаюсь запустить пример facedetect, я тоже получаю ошибку:

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

Может кто-нибудь мне помочь?

Ответы [ 2 ]

0 голосов
/ 20 августа 2010

Скомпилируйте OpenCV с QTKit и Cocoa, а затем используйте его с HandVu. Если вы используете Mac OSX 10.6.4 и выше, выполните следующие действия. (Я полагаю, вы уже установили PKG_CONFIG_PATH)

  1. Компиляция OpenCV с QTKit и Cocoa (не выбирайте параметры WITH_QUICKTIME и WITH_CARBON в конфигурациях cmake). Дополнительно используйте TBB, если он у вас есть, но не обязательно.

  2. Получите источники HandVu, а затем измените следующие файлы:

    • handvu/HandVu.h (заменить #include "cv.h" на #include "opencv2/opencv.hpp" и удалить "highgui.h")
    • handvu / OpticalFlow.h (замените #include "cv.h" на #include "opencv2 / opencv.hpp" и удалите "highgui.h")
    • handvu / GestureServer.cpp (в строке 255 замените MSG_NOSIGNAL на SO_NOSIGPIPE)
    • hv_OpenCV / hv_OpenCV.cpp (замените #include "cv.h" на #include "opencv2 / opencv.hpp" и удалите "highgui.h" и замените код в строке 185 следующим кодом:

      int success = cvNamedWindow( "HandVu", CV_WINDOW_AUTOSIZE );
      //  if (success==0) {
      //    printf("can't open window - did you compile OpenCV with highgui support?");
      //    return -1;
      //  }
      
0 голосов
/ 03 августа 2010

Я наконец-то приступил к компиляции OpenCV на MacOSX 10.6, и это может решить проблему ...

Сначала, с http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port, скомпилируйте в режиме i386, введя

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

В конце концов мне пришлось перестроить несколько портов:

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

и перекомпилировать openCV

Тогда я мог бы запустить примеры Python

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

и facedetect без ошибок (и веб-камера работает).

...