为Python构建OpenCV

时间:2016-11-10 16:57:34

标签: python opencv build

我用这个:http://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html ununtu 16LTS 上为 Python 3 构建opencv。 在使用CMake从源构建OpenCV 中的第4步,我很难输入正确的参数。请问,请检查我的变种,因为我只能找到文件夹而没有带有建议扩展名的文件。另外,我应该在每个参数之前输入一个标志-D吗?

         -D PYTHON3_EXECUTABLE=$HOME/anaconda3/bin
         -D PYTHON_INCLUDE_DIR=/usr/include/python3.5
         -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.5m
         -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.a
         -D PYTHON3_NUMPY_INCLUDE_DIRS= I dont have anything similar like path in the tutorial, but i have a "numpy" folder in /usr/include/python3.5!
   So what should i do?

另外,我应该写什么:

  • -D CMAKE_INSTALL_PREFIX
  • OPENCV_EXTRA_MODULES_PATH(在这个tutrial(previus步骤)中,o下载了opencv-contrib。所以我应该输入:OPENCV_EXTRA_MODULES_PATH=/home/vladislav/opencv/opencv_contrib
  • BUILD_DOCS
  • BUILD_EXAMPLES

错误:当我按照教程中的说法运行时,我犯了这样的错误:CMake Error: The source directory "/home/vladislav/opencv/build/PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so" does not exist.

1 个答案:

答案 0 :(得分:2)

这是我工作的cmake params(Ubuntu 16.04,最新的OpenCV,Python 3.5)的一个例子,但你需要自己调整路径。

cmake -D CMAKE_BUILD_TYPE=RELEASE \        
    -D PYTHON3_EXECUTABLE=/usr/bin/python3.5 \    
    -D PYTHON3_INCLUDE_DIR=/usr/include/python3.5 \ 
    -D PYTHON3_LIBRARY=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/libpython3.5.so \
    -D PYTHON3_NUMPY_INCLUDE_DIR=/usr/local/lib/python3.5/dist-packages/numpy/core/include \
    -D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.5/dist-packages \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

在我的情况下,opencv_contrib与opencv在同一个文件夹中,你的cmake命令从你的构建文件夹(opencv文件夹中的mkdir build)开始,所以在我的情况下我需要跳回dirs并且重要:参考到opencv_contrib / modules文件夹

有时候使用cmake-gui会更清楚一点

sudo apt install cmake-gui