安装opencv3.4.0遇到的一些问题

安装opencv前一定要把Anaconda屏蔽掉

第一个错误

anaconda安装Opencv报错:Could NOT find PythonLibs: Found unsuitable version “2.7.6”,
机器上装了两个python,一个是默认的,一个是anaconda。安装opencv时就报错了:
在这里插入图片描述
编译时要生成python可以调用的cv2.so文件,需要调用python编译器,但此时opencv源码中的cmakelist懵了,不知道用系统自带还是anaconda中的python,干脆就放弃了编译生成这个python接口可调用的cv2.so文件。所以此时无论在系统python环境下还是anaconda python环境下都不能import cv2.

如何解决

修改bashrc文件,把path中的anaconda路径去掉。
这样就会 PythonInterp 和 PythonLibs都是系统默认的python路径了。
然后编译opencv顺利。
编译好后,将bashrc改回来。
将 cv2.so文件拷贝到/home/youname/anaconda2/lib/python2.7/site-packages下面。
import cv2 成功。

但是还会出现第二个错误

系统自带的python2和python3中缺少numpy包,所以需要安装上。
在这里插入图片描述

如何解决

sudo apt-get install python-pip
pip install numpy==1.15.0
sudo apt install python3-pip
pip3 install numpy==1.15.0

第三个问题

在这里插入图片描述

如何解决

参考博客:https://blog.csdn.net/weixin_41896508/article/details/80795239
sudo apt-get install libgtk-3-dev
sudo apt-get -y install libgstreamer-plugins-base1.0-dev
sudo apt-get -y install libgstreamer1.0-dev
sudo apt-get -y install libavresample-dev
sudo apt-get -y install libgphoto2-dev

其他not found的包就没有必要解决了。

第四个问题,通过复制cv2.so和cv2.cpython-35m-x86_64-linux-gnu.so文件,让其他环境下的python也能调用opencv

按照以上方法按照opencv会出现两个文件
第一个文件/home/gs/opencv-3.4.0/build/lib/cv2.so
将该cv2.so文件复制到其他任何Python2环境,其他环境也就可以调用opencv了,
比如复制到/home/gs/anaconda3/envs/py27/lib/python2.7/site-packages/
该py27虚拟环境也可以调用opencv了。
第二个文件是/home/gs/opencv-3.4.0/build/lib/python3/cv2.cpython-35m-x86_64-linux-gnu.so
将该cv2.cpython-35m-x86_64-linux-gnu.so文件复制到其他任何Python3环境,其他环境也就可以调用opencv了,
比如复制到/home/gs/anaconda3/envs/py36/lib/python3.6/site-packages/
该py36虚拟环境也可以调用opencv了。

/home/zya/anaconda3/lib/python3.6/site-packages/

猜你喜欢

转载自blog.csdn.net/u014106566/article/details/85164857