2016-07-12 2 views
0

Я установил OpenCV3.1 с Python 2.7 на Ubuntu после этого link. Для краткости, при создании библиотеки, я прошел этот флагOpenCV 3.1 - Не удается найти библиотеку opencv_contrib

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..

уже прошел OPENCV_EXTRA_MODULES_PATH флаг. Затем я хочу попробовать новый sfm модуль из opencv_contrib с C++, но получил эту ошибку:

/tmp/ccHDBnbF.o: In function `main': cam_motion.cpp:(.text+0x999): undefined reference to `cv::sfm::reconstruct(cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_InputOutputArray const&, cv::_OutputArray const&, bool)' cam_motion.cpp:(.text+0xb5a): undefined reference to `cv::viz::Viz3d::Viz3d(cv::String const&)' cam_motion.cpp:(.text+0xba7): undefined reference to `cv::viz::Viz3d::setBackgroundColor(cv::viz::Color const&, cv::viz::Color const&)' cam_motion.cpp:(.text+0xbc0): undefined reference to `cv::viz::Viz3d::registerKeyboardCallback(void (*)(cv::viz::KeyboardEvent const&, void*), void*)' cam_motion.cpp:(.text+0xe2c): undefined reference to `cv::viz::Viz3d::wasStopped() const' cam_motion.cpp:(.text+0xeaf): undefined reference to `cv::Mat::eye(int, int, int)' cam_motion.cpp:(.text+0xfd4): undefined reference to `cv::viz::WCube::WCube(cv::Point3_<double> const&, cv::Point3_<double> const&, bool, cv::viz::Color const&)' cam_motion.cpp:(.text+0x1001): undefined reference to `cv::viz::Widget::setRenderingProperty(int, double)'

Я предполагаю, что это проблема линкера.

В чем проблема и как я могу это решить?

ответ

0

Вы загрузили пакет OpenCV Contrib и разместили его в указанном месте? Если нет, то скачать его с here

Затем поместите его в определенную папку и во время компиляции с CMake дать путь (абсолютный путь) до модулей папок. И затем попробуйте построить его снова.

Если у вас по-прежнему возникают проблемы, прокомментируйте подробности об этом.

+0

Я использовал аналогичный путь при установке OpenCV в свой Mac, а также не могу найти библиотеку корреспонденции (например, libopencv_viz). Попробуем еще раз. – Hilman

+0

Решил проблему. Оказывается, для использования SfM мне нужно будет построить OpenCV с -D WITH_VTK = ON (конечно, с библиотекой vtk, установленной в системе). Зависимости, необходимые для SfM, также понадобятся для установки в системе. – Hilman

Смежные вопросы