ubuntu编译安装opencv3到anaconda虚拟环境(virtual env同理)

背景

最近在做视频的物体追踪,要用到视频读取函数和Tracker类,在pip conda安装的cv2中都没有。只好自己DIY安装Opencvanaconda中。


Step 1 安装需要的库.

sudo apt-get install cmake gcc g++ git libjpeg-dev libpng-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev pkg-config libgtk2.0-dev libopenblas-dev libatlas-base-dev liblapack-dev libeigen3-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev sphinx-common libtbb-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libopenexr-dev libgstreamer-plugins-base1.0-dev libavcodec-dev libavutil-dev libavfilter-dev libavformat-dev libavresample-dev ffmpeg


Step 2 激活虚拟环境

激活自己的虚拟环境:

source activate virenv_name

提前装好numpy(想必已有)


Step 3 下载好opencv 源码

包括opencv 3.x.x.zip, opencv_contrib-3.x.x.zip(做视频类的应该需要)

新建构建文件夹

cd opencv3.x.x
mkdir build
cd ./build


Step 4 CMake 配置

cmake -D CMAKE_BUILD_TYPE=Release -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/amax/Downloads/opencv/opencv_contrib-3.3.1/modules -D CMAKE_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/stubs -D WITH_CUDA=ON -DBUILD_TIFF=ON -DBUILD_opencv_java=OFF -DWITH_OPENGL=ON -DWITH_OPENCL=ON -DWITH_IPP=ON -DWITH_TBB=ON -DWITH_EIGEN=ON -DWITH_V4L=ON -DWITH_VTK=OFF -DBUILD_TESTS=OFF -DBUILD_opencv_dnn=ON -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES --expt-relaxed-constexpr" -DBUILD_LIBPROTOBUF_FROM_SOURCES=ON -DBUILD_PERF_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") -DPYTHON3_EXECUTABLE=$(which python) -DPYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -DPYTHON_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -DPYTHON3_NUMPY_INCLUDE_DIRS=$(python -c "import numpy; import os; print(os.path.join(numpy.__path__[0], 'core', 'include'))") -DPYTHON_LIBRARY=/home/amax/anaconda3/envs/rootclone/lib/libpython3.5m.so .. 

命令中的目录自行修改。如果是python2的,需要将上面的DPYTHON3_*替换为DPYTHON2_*

此步后记:

中间配置遇到的问题:C++编译器配置有问题,cmake自动使用了anaconda2(我本anaconda3)C++编译器,导致后续的make出错(Makefile:160: recipe for target 'all' failed)。

解决方法:

1.方案一:解除虚拟环境(source deactivate),使用系统的python环境安装(此时,系统会切换到urs/bin/cc编译)。再启用虚拟环境,cmake,即可找到/usr/bin/cc作为虚拟环境Opencv的编译器。

2.方案二:使用cmake选项指定编译器路径,-DCMAKE_C_COMPILER=/usr/bin/cc -DCMAKE_CXX_COMPILER=/usr/bin/c++ 


Step 5. make & install 

make -j10  #10线程并行编译,核多的大佬可以多用几个
make install

Step 6. 试验

python

import cv2

如果报错:libstdc++.so.6: version `GLIBCXX_3.*.*' not found,请升级libgcc

conda install libgcc


参考链接:

https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

https://www.scivision.co/anaconda-python-opencv3/


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装opencv可以通过以下步骤在anaconda虚拟环境完成: 1. 打开anaconda prompt,创建一个新的虚拟环境:conda create -n opencv_env python=3.7 2. 激活虚拟环境:conda activate opencv_env 3. 安装opencv:conda install -c conda-forge opencv 4. 安装完成后,可以在python导入opencv模块进行使用。 ### 回答2: 安装Anaconda虚拟环境安装OpenCV非常简单。首先,确保已经成功安装Anaconda。接下来,打开终端或命令提示符窗口,然后按照以下步骤进行操作: 1. 创建一个新的虚拟环境:在终端或命令提示符窗口输入以下命令:conda create -n myenv python=3.7(可以替换“myenv”为您喜欢的虚拟环境名称,也可以替换“python=3.7”为您想要的Python版本)。 2. 激活您的虚拟环境:在创建完虚拟环境后,输入以下命令以激活它:conda activate myenv(将“myenv”替换为您在第一步选择的虚拟环境名称)。 3. 安装OpenCV包:在激活虚拟环境后,输入以下命令以安装OpenCV包:conda install -c conda-forge opencv(这将从Conda Forge渠道下载并安装OpenCV)。 4. 验证安装安装完成后,您可以通过运行以下Python脚本来验证OpenCV是否已正确安装: import cv2 print(cv2.__version__) 如果不出现错误,且能正确输出OpenCV的版本号,那么恭喜您,Anaconda虚拟环境OpenCV安装成功! 需要注意的是,由于Anaconda环境已拥有许多常用的软件包,所以安装OpenCV等第三方包时可能会出现版本冲突等问题。您可以通过适当地更新或切换软件包版本来解决这些问题。 ### 回答3: 要在anaconda虚拟环境安装OpenCV,可以按照以下步骤进行操作: 1. 首先,在命令行激活已创建的虚拟环境。例如,如果虚拟环境名称为"myenv",则可以使用以下命令激活: ``` conda activate myenv ``` 2. 确保已激活虚拟环境后,可以使用conda命令安装OpenCV。在命令行输入以下命令: ``` conda install -c conda-forge opencv ``` 这将从Conda Forge通道安装OpenCV包。 3. 安装过程可能需要一些时间,可能还会提示进行包冲突解决。根据安装提示,可能需要选择解决方案(如保留某些包、更新某些包等)。 4. 安装完成后,可以使用以下命令验证OpenCV是否成功安装虚拟环境: ``` python -c "import cv2; print(cv2.__version__)" ``` 如果成功安装,将显示OpenCV版本信息。 在虚拟环境安装OpenCV可以使得项目的依赖管理更加清晰和灵活。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值