MacOS Catalina 在pyenv下克隆源码编译opencv 4.5.5

本文介绍了如何在MacOSCatalina系统中,利用pyenv管理Python3.6.8环境,通过homebrew安装cmake,然后克隆并编译OpenCV4.5.5及其贡献模块。详细步骤包括创建虚拟环境、配置cmake、编译安装,并在环境中验证opencv安装成功。
摘要由CSDN通过智能技术生成

在我的这篇博文MacOS Catalina编译安装openCV 4.2.0(2020.3月)中, 使用homebrew来对python进行版本管理,源码直接下载的压缩包。本文则使用pyenv来进行python版本管理,openCV4.5.5源码从gitee镜像克隆而来。

前提:已经使用pyenv进行python版本管理

1. 安装cmake

brew install cmake

2. 创建一个python 3.6.8的虚拟环境并激活它,名称为py3.6.8,并安装numpy

pyenv install 3.6.8
pyenv virtualenv 3.6.8 py3.6.8
pyenv activate py3.6.8
pip install numpy

3. 克隆代码,切换到4.5.5标签(注意4.5.5不是一个分支)

cd ~
git clone https://gitee.com/mirrors/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git switch 4.x
cd ~/opencv
git switch 4.5.5
mkdir build && cd build

也可以从Github页面:Opencv Releases 直接下载源码:
注意解压之后如果二级目录,需要移动

cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.5.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.5.zip
unzip opencv.zip
unzip opencv_contrib.zip
#解压后最好给文件夹改名
mv ./opencv-4.5.5 opencv
mv ./opencv_contrib-4.5.5 opencv_contrib
cd ~/opencv
mkdir build && cd build

4. 配置

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=~/.pyenv/versions/3.6.8/envs/py3.6.8/opencv455\
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D PYTHON3_EXECUTABLE=$PYENV_ROOT/shims/python \
    -D PYTHON3_LIBRARY=~/.pyenv/versions/3.6.8/lib/libpython3.6m.a \
    -D PYTHON3_NUMPY_INCLUDE_DIRS=~/.pyenv/versions/3.6.8/envs/py3.6.8/lib/python3.6/site-packages/numpy/core/include/ \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D BUILD_EXAMPLES=ON \
    -D ENABLE_FAST_MATH=ON \
    -D WITH_LIBV4L=ON \
    -D WITH_OPENGL=ON ..

需要注意PYTHON3_EXECUTABLEPYTHON3_LIBRARYPYTHON3_NUMPY_INCLUDE_DIRS的路径,本文是按照pyenv的虚拟配置(pyenv的3.6.8版本的lib和py3.6.8虚拟环境的numpy)来对应调整的。
cmake配置完成如果如下图所示,Python 3下面的Interpreter,Libraries,numpy,install path都指向pyenv虚拟环境的正确路径,说明配置是正确的:
在这里插入图片描述
如果如下图所示,Python 3下面的Interpreter,Libraries,numpy,install path不完整,那请反复检查各个配置路径。
在这里插入图片描述

5. 编译

sudo make -j4 && make install

如果遇到如下错误:

ld: warning: directory not found for option '-L/usr/local/opt/ruby/lib'

那就自己建一个/usr/local/opt/ruby/lib'这个文件夹就行了。

6. 验证

(py3.6.8)~/opencv/build$ python
Python 3.6.8 (default, Mar 23 2022, 11:13:20)
[GCC Apple LLVM 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.5.5'

参考资料:

  1. OpenCV: Installation in MacOS
  2. ubuntu 在pyenv环境中安装 opencv
  3. Build opencv for ubuntu 16.04 with pyenv
  4. 在Ubuntu 16.04下装炼丹炉(python3+pyenv+opencv3+cuda8+tensorflow+mxnet+warpctc)
  5. python3之opencv安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值