在Mac & Conda虚拟环境下从源码编译Opencv

在Mac & Conda虚拟环境下从源码编译Opencv

准备工作——Cmake

brew install cmake

下载并解压特定版本的 opencv 源代码

以3.4.6版本为例,从原 repo 分别下载 opencv.zipopencv_contrib.zip

重命名 (rename)

此案例中假设下载文件放在 ~/ 目录下
当前目录:~/ 即 $HOME
tree ~/
 ——opencv-3.4.6
 ——opencv_contrib-3.4.6

mv opencv-3.4.6 opencv
mv opencv_contrib-3.4.6 opencv_contrib

新建 build 文件

cd ./opencv
mkdir build
cd build

创建新的 Conda 虚拟环境

conda create --name opencv python=3.7.5 numpy=1.16.2
source activate cv

Cmake

# 临时变量【需要指定anaconda3安装路径】
export CONDA_HOME=/Users/mac/opt/anaconda3
export CPLUS_INCLUDE_PATH=$CONDA_HOME/envs/opencv/lib/python3.7

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=/Users/mac/Downloads/opencv_contrib/modules \
    -D PYTHON3_LIBRARY=$CONDA_HOME/envs/opencv/lib/libpython3.7m.dylib \
    -D PYTHON3_INCLUDE_DIR=$CONDA_HOME/envs/opencv/include/python3.7m \
    -D PYTHON3_EXECUTABLE=$CONDA_HOME/envs/opencv/bin/python \
    -D PYTHON3_PACKAGES_PATH=$CONDA_HOME/envs/opencv/lib/python3.7/site-packages \
    -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 ..
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D OPENCV_EXTRA_MODULES_PATH=/home/myname/Downloads/opencv_contrib/modules \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D WITH_V4L=ON \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D BUILD_EXAMPLES=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D BUILD_opencv_ximgproc=ON ..

make && make install

make -j4 # 对于四核情形
sudo make install

在以上步骤中无任何报错将为配置成功,建议所有步骤在网络环境较好的情形下进行。

可能存在的问题(Troubleshooting)及解决方案

  • Cmake 过程中需要面临ippicv 在线下载的问题,对于网络状况不佳的情况可采用预先下载到本地的方法:
    • 原开发源码下载地址:GitHub/ippicv,在 branch 中根据自己的系统和需求下载对应版本(报错log中会给出提示),Mac 上下载 3.4.6 对应版本的 下载地址
    • 更改 ippicv.cmake中对应的下载地址为本地地址。
47 "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
更改为
47 "file://下载地址的完整目录"
  • make 过程中同样可能存在不成功的问题, fatal error: boostdesc_bgm.i: No such file or directory 给出了部分需要注意的补救解决方案。
    • 下载 face_landmark_model.dat 不成功导致的 not found。从 下载地址 下载该文件 mv 至 log 文档 (~/opencv/build/CMakeDownloadLog.txt) (~/opencv/build/share/opencv4/testdata/cv/face/)中给出的缺失目录[报错字段]。

测试

import cv2
cv2.__version__
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值