Ubuntu Opencv 3.4.11 / 4.4.0 python3.8 编译问题解决方法收集

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 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值