为了账号安全,请及时绑定邮箱和手机立即绑定

从源码安装Opencv到conda环境

从源码安装Opencv到conda环境

白衣非少年 2023-04-25 17:07:57
我想从源代码将 opencv 安装到我的 conda 环境中。由于我使用的是 Jetson,因此没有可用于 opencv 的 pip 或 conda 包。我使用此命令从源安装,    -D BUILD_EXAMPLES=OFF    -D BUILD_opencv_python2=ON    -D BUILD_opencv_python3=ON    -D CMAKE_BUILD_TYPE=RELEASE    -D CMAKE_INSTALL_PREFIX=${PREFIX}    -D CUDA_ARCH_BIN=5.3,6.2,7.2    -D CUDA_ARCH_PTX=    -D CUDA_FAST_MATH=ON    -D CUDNN_VERSION='8.0'    -D EIGEN_INCLUDE_PATH=/usr/include/eigen3     -D ENABLE_NEON=ON    -D OPENCV_DNN_CUDA=ON    -D OPENCV_ENABLE_NONFREE=ON    -D OPENCV_EXTRA_MODULES_PATH=/tmp/build_opencv/opencv_contrib/modules    -D OPENCV_GENERATE_PKGCONFIG=ON    -D WITH_CUBLAS=ON    -D WITH_CUDA=ON    -D WITH_CUDNN=ON    -D WITH_GSTREAMER=ON    -D WITH_LIBV4L=ON    -D WITH_OPENGL=ON"如何将 python 依赖项安装到我的 conda 环境而不是将其安装到usr/local/python?
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

默认情况下,它将安装到您的系统 Python 路径,您可以通过输入以下内容来查看:

which python

在终端。在您的 cmake 命令(您发布的上面列表)中,您需要告诉它您要构建到哪个 python 可执行路径。目前你的构建指向上面的默认 Python 位置,现在你想将它指向你的 Conda Python 路径。因此,例如,我在 Anaconda 中的 Python 环境的基本路径是:

/home/robert/anaconda3/

您可以通过在终端中输入以下内容来获取您的 Anaconda 环境及其位置的列表:

conda env list

为此,您需要更新 cmake 命令以告诉它您要构建到的 Python 路径所在的位置。我之前使用这篇文章来帮助我正确指定 Python 可执行文件构建路径,并且在为 venv 指定 Python 路径时它对我有用。

例如,如果我想安装到我的 Anaconda 环境之一,我会在我的 cmake 中做这样的事情:

-D PYTHON_DEFAULT_EXECUTABLE=$(/home/robert/anaconda3/envs/venv_openvcv/python3)

当您构建 cmake 时,滚动浏览输出并特别注意类似以下内容的行:

Python (for build): /home/robert/anaconda3/envs/venv_openvcv/python3

这是您确认是否要将 opencv 构建为正确的 Python 可执行文件(您指定的 Anaconda)的方式。

查看完整回答
反对 回复 2023-04-25
?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

在 Ubuntu 20.04 上,这在一个新的干净构建目录中对我有用:

export CPLUS_INCLUDE_PATH=$CONDA_PREFIX/lib/python3.8cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=$CONDA_PREFIX \
    -D PYTHON3_LIBRARY=$CONDA_PREFIX/lib/python3.8 \
    -D PYTHON3_INCLUDE_DIR=$CONDA_PREFIX/include/python3.8 \
    -D PYTHON3_EXECUTABLE=$CONDA_PREFIX/bin/python \
    -D PYTHON3_PACKAGES_PATH=$CONDA_PREFIX/lib/python3.8/site-packages \
    ..

我还为我的平台安装了 OpenCL 头文件,以在让它工作之前克服其他干扰错误。如果您的系统上还没有很多额外的开发者头文件,您可能需要先安装更多的头文件。这让我顺利通过了 cmake 阶段,然后通过make.

之后不需要符号链接任何东西make install

所以也许这是 python 3.8 的一个很好的基本方法;似乎对官方Ubuntu OpenCV 构建文档唯一必要的修改是指定cmake指向 conda 环境目录的参数,如上所示。

(使用的 OpenCV git 哈希为 69357b1)

-j下次我可能会在构建过程中尝试并发,因为 OpenCV 需要大约 30 分钟才能在相当现代的 CPU 系列上构建。


查看完整回答
反对 回复 2023-04-25
?
湖上湖

TA贡献2003条经验 获得超2个赞

我知道这已经解决了,但我只是想分享帮助我在 Ubuntu 20.04.4 LTS 中使用 Python 3.10.2 在 conda 环境中从源代码安装 OpenCV 的行。我的 conda 环境称为cv4

export CPLUS_INCLUDE_PATH=~/miniconda3/envs/cv4/lib/python3.10cmake   -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
        -D PYTHON3_LIBRARY=~/miniconda3/envs/cv4/lib/libpython3.10.so \
        -D PYTHON3_INCLUDE_DIR=~/miniconda3/envs/cv4/include/python3.10 \
        -D PYTHON3_EXECUTABLE=~/miniconda3/envs/cv4/bin/python \
        -D PYTHON3_PACKAGES_PATH=~/miniconda3/envs/cv4/lib/python3.10/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 ..
查看完整回答
反对 回复 2023-04-25
  • 3 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信