栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

树莓派4B安装OpenCV,进行cmake时定位不到虚拟环境的python版本解决办法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派4B安装OpenCV,进行cmake时定位不到虚拟环境的python版本解决办法

问题描述:

为了方便管理项目和python的包,我们一般会为一个项目创建专门的虚拟环境,在树莓派上用编译源码的方式安装OpenCV4(或其他版本),进行cmake时有时会定位不到创建的虚拟环境中的python3 interpreter(我这里是想把OpenCV安装在python3的环境下)

解决办法:

cmake的参数如下:

  • CMAKE_BUILD_TYPE=RELEASE 代表编译类型为发行版本
  • CMAKE_INSTALL_PREFIX=/usr/local 安装路径
  • INSTALL_C_EXAMPLES=ON C demo
  • INSTALL_PYTHON_EXAMPLES=ON Python demo
  • OPENCV_EXTRA_MODULES_PATH=/home/pi/Downloads/opencv_contrib-4.5.5/modules OpenCV Contrib路径
  • BUILD_EXAMPLES=ON 编译demo
  • WITH_LIBV4L=ON 开启Video for Linux
  • PYTHON3_EXECUTABLE=/usr/lib/python3.9 Python3路径
  • PYTHON_INCLUDE_DIR=/usr/include/python3.9 Python3 include文件夹
  • PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.9.so Python3库
  • PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include Python3 Numpy安装路径

…
最后的两个点也是命令的一部分,不要去掉。
cmake执行时间比较长,要稍微等一段时间。

可以看到参数中有可以指定python3和numpy路径的选项:PYTHON3_EXECUTABLE,PYTHON3_NUMPY_INCLUDE_DIRS。如果默认不设置参数,则会向上面一样定位到系统自带的python版本(/usr/lib开头的路径)。所以我们只要设置这两个参数,将其手动定位到自己创建的虚拟环境中的python3版本就可以了,如下:

-D PYTHON3_EXECUTABLE=/home/pi/.virtualenvs/py3cv4/bin/python3
-D PYTHON3_NUMPY_INCLUDE_DIRS=home/pi/.virtualenvs/py3cv4/lib/python3.7/site-packages/numpy/core/include

注:蓝色的部分是我的虚拟环境路径,替换成你自己的就行,注意看后面的python版本自己系统里的是什么,相应地做修改。cmake成功后可以在窗口中看见结果:

PS:就在今晚痛苦的编译过程结束了,哈哈哈哈哈哈哈哈

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/982053.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号