2015-01-21 196 views
1

我安装了CentOS6.5。我已经安装了python 2.7.9。我从源代码构建它。使用pip安装numpy 1.9.1。从源代码安装opencv for python

我想从源代码安装opencv 2.4.10。我使用root previleges从opencv src目录运行以下命令。

mkdir build 

cd build 

cmake ../ -DCMAKE_BUILD_TYPE=RELEASE \ 
-DCMAKE_INSTALL_PREFIX=/usr/local \ 
-DBUILD_EXAMPLES=ON \ 
-DBUILD_NEW_PYTHON_SUPPORT=ON \ 
-DINSTALL_PYTHON_EXAMPLES=ON \ 
-DPYTHON_EXECUTABLE=/usr/local/bin/python2.7 \ 
-DPYTHON_INCLUDE_DIR=/usr/local/include/python2.7/ \ 
-DPYTHON_LIBRARY=/usr/local/lib/libpython2.7.so.1.0 \ 
-DPYTHON_NUMPY_INCLUDE_DIR=/usr/local/lib/python2.7/site-packages/numpy/core/include/numpy \ 
-DPYTHON_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ \ 
-DBUILD_PYTHON_SUPPORT=ON 


make 

我收到以下错误。

[ 76%] Generating generated0.i 
Generated 377 functions 
Scanning dependencies of target opencv_python 
[ 76%] Building CXX object modules/python/CMakeFiles/opencv_python.dir/src2/cv2.cpp.o 
/usr/src/opencv-2.4.10/modules/python/src2/cv2.cpp:15:33: error: numpy/ndarrayobject.h: No such file or directory 
/usr/src/opencv-2.4.10/modules/python/src2/cv2.cpp: In member function ‘virtual void NumpyAllocator::allocate(int, const int*, int, int*&, uchar*&, uchar*&, size_t*)’: 
/usr/src/opencv-2.4.10/modules/python/src2/cv2.cpp:184: error: ‘NPY_UBYTE’ was not declared in this scope 


/usr/src/opencv-2.4.10/modules/python/src2/cv2.cv.hpp:423: warning: ‘cvmat_methods’ defined but not used [-Wunused-variable] 
make[2]: *** [modules/python/CMakeFiles/opencv_python.dir/src2/cv2.cpp.o] Error 1 
make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error 2 

你能帮忙吗?

我建立蟒用 “--enable共享” 标志 我注释了线50的字符串(MD5哈希 “$ {线}”)/ usr/src目录/ opencv- 2.4.10/cmake的/ cl2cpp.cmake

回答

1
-DPYTHON_NUMPY_INCLUDE_DIR=/usr/local/lib/python2.7/site-packages/numpy/core/include 

删除尾部/numpy它应该没问题。

+0

谢谢!它工作完美。 – user1264641 2015-01-27 07:41:53