2016-09-19 17 views
0

Чтобы устранить эту ошибку, я попытался добавить дополнительный модуль opencv-contrib-master из https://github.com/opencv/opencv_contrib.git. Я выполнил шаги, указанные в readme. мкр-файл, но во время работы «сделать» я получаю следующий результат:AttributeError: объект 'module' не имеет атрибута 'xfeatures2d' [python/opencv 3.1.0 dev]

[ 4%] Built target libwebp 
[ 4%] Built target opencv_core_pch_dephelp 
[ 4%] Built target pch_Generate_opencv_core 
Scanning dependencies of target opencv_core 
[ 4%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o 
Linking CXX shared library ../../lib/libopencv_core.so 
[ 7%] Built target opencv_core 
[ 7%] Built target opencv_ts_pch_dephelp 
[ 7%] Built target pch_Generate_opencv_ts 
[ 7%] Built target opencv_imgproc_pch_dephelp 
[ 8%] Built target pch_Generate_opencv_imgproc 
Linking CXX shared library ../../lib/libopencv_imgproc.so 
[ 11%] Built target opencv_imgproc 
[ 11%] Built target opencv_imgcodecs_pch_dephelp 
[ 11%] Built target pch_Generate_opencv_imgcodecs 
Linking CXX shared library ../../lib/libopencv_imgcodecs.so 
[ 12%] Built target opencv_imgcodecs 
[ 12%] Built target opencv_videoio_pch_dephelp 
[ 12%] Built target pch_Generate_opencv_videoio 
Linking CXX shared library ../../lib/libopencv_videoio.so 
[ 13%] Built target opencv_videoio 
[ 13%] Built target opencv_highgui_pch_dephelp 
[ 13%] Built target pch_Generate_opencv_highgui 
Linking CXX shared library ../../lib/libopencv_highgui.so 
[ 14%] Built target opencv_highgui 
[ 14%] Built target opencv_ts 
[ 14%] Built target opencv_perf_core_pch_dephelp 
[ 14%] Built target pch_Generate_opencv_perf_core 
Linking CXX executable ../../bin/opencv_perf_core 
[ 16%] Built target opencv_perf_core 
[ 16%] Built target opencv_test_core_pch_dephelp 
[ 16%] Generating test_precomp.hpp.gch/opencv_test_core_RELEASE.gch 
In file included from <command-line>:0:0: 
/usr/include/stdc-predef.h:1:0: fatal error: can’t create precompiled header /home/chandu/Opencv/opencv/release/modules/core/test_precomp.hpp.gch/opencv_test_core_RELEASE.gch: Permission denied 
/* Copyright (C) 1991-2014 Free Software Foundation, Inc. 
^
    compilation terminated. 
    Preprocessed source stored into /tmp/cchn5Yvk.out file, please attach this to your bugreport. 
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/_usr_lib_gcc_x86_64-linux-gnu_4.9_cc1plus.1000.crash' 
make[2]: *** [modules/core/test_precomp.hpp.gch/opencv_test_core_RELEASE.gch] Error 1 
make[1]: *** [modules/core/CMakeFiles/pch_Generate_opencv_test_core.dir/all] Error 2 
make: *** [all] Error 2 

Где-то было сказано, что там может быть проблема в GCC версии, но я обновил версию GCC, но не успех. Я использую gcc версии 4.9.4 и ubuntu версии 14.04.1. Перед тем, как сделать «шаг», я побежал:

cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules /usr/local .. -DWITH_IPP=OFF -DWITH_OPENGL=ON -DWITH_QT=ON -DBUILD_EXAMPLES=ON 

Я подошел много ресурсов, но никаких результатов. Любая помощь заметна.

ответ

0

Вы пытались добавить команду sudo?

+0

Я получил решение ... проблема заключалась в том, что я не назначал путь туда, где был сохранен дополнительный модуль i.e. xfeatures2d. Thanx для вашего ответа :) – Glachas

+0

Это странно, что вы определили в опции cmake 'cmake -DOPENCV_EXTRA_MODULES_PATH = ../../opencv_contrib/modules', который предполагает, где дополнительные moudules (или xfeatures2d). Может быть, вы определили неправильный путь? –

+0

Я тоже не знаю, почему это сработало. Я также был удивлен, что даже после предоставления пути во время работы cmake он не добавлял модули в каталог opencv build/module. Я наблюдал только, увидев ошибки, которые extra_modules не связаны, поэтому я попробовал вышеуказанную команду. – Glachas

0

Проблема в том, что xfeatures2d не экспортировался из модуля opencv-contrib. Итак, когда я запускал команду «make», он не смог добавить этот модуль в модуль сборки opencv. я побежал следующую команду, за которой следует команда макияжа:

export xfeatures2d=/path/to/opencv_contrib/modules/ 

Он работал для меня.