赞
踩
1、问题:opencv-4.4.0/modules/python/src2/cv2.cpp:17:10: fatal error: Python.h: 没有那个文件或目录
17 | #include <Python.h>
原因:cmake 默认指定python头文件搜索路径不对
解决:手动指定路径
- cmake .. \
- -D WITH_CUDA=OFF \
- -D WITH_VTK=OFF \
- -D WITH_MATLAB=OFF \
- -D BUILD_DOCS=ON \
- -D CMAKE_BUILD_TYPE=RELEASE \
- -D CMAKE_INSTALL_PREFIX=/usr/local \
- -D OPENCV_PYTHON3_VERSION=3.8 \
- -D PYTHON3_INCLUDE_PATH=/usr/include/python3.8 \
- -D PYTHON3_LIBRARIES=/usr/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.so \
- -D PYTHON3_EXECUTABLE=/usr/bin/python3.8 \
- -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3.8/dist-packages/numpy/core/include/ \
- -D OPENCV_EXTRA_MODULES_PATH=/home/cyrus/AI/opencv_contrib-4.4.0/modules
说明:OPENCV_PYTHON3_VERSION=3.8 (必须指定)
CMAKE_INSTALL_PREFIX 是 make install 编译安装路径(可修改)
OPENCV_EXTRA_MODULES_PATH 是 opencv_contrib 的modules目录(根据实际修改) ,为了全功能所以一起编译了。
python3.8 的位置如果不一样请自行修改。
2、问题:error: recursion is detected during loading of "cv2" binary extensions
解决:进入opencv编译目录下的python_loader目录,执行python setup.py develop
- cd /home/cyrus/AI/opencv-4.4.0/release/python_loader
- python setup.py develop
3、编译3.4.11 版本出错:python/src2/cv2.cpp:68:94: error: ‘to’ is not a member of ‘PyOpenCV_Converter<cv::line_descriptor::KeyLine, void>’
解决方式:-D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF
- cmake .. \
- -D WITH_CUDA=OFF \
- -D WITH_VTK=OFF \
- -D WITH_MATLAB=OFF \
- -D BUILD_DOCS=ON \
- -D CMAKE_BUILD_TYPE=RELEASE \
- -D CMAKE_INSTALL_PREFIX=/usr/local \
- -D OPENCV_PYTHON3_VERSION=3.8 \
- -D PYTHON3_INCLUDE_PATH=/usr/include/python3.8 \
- -D PYTHON3_LIBRARIES=/usr/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.so \
- -D PYTHON3_EXECUTABLE=/usr/bin/python3.8 \
- -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3.8/dist-packages/numpy/core/include/ \
- -D OPENCV_EXTRA_MODULES_PATH=/home/cyrus/AI/opencv_contrib-3.4.11/modules \
- -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=OFF
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。