Ubuntu下opencv4的Python 接口安装

Ubuntu下opencv4的Python 接口安装

本文是在安装了opencv4后发现py调用不了opencv(其实是自己犯错了,没安装opencv-python 和opencv-contrib-python),补足之后就可以啦

pip install opencv-python opencv-contrib-python -i https://mirrors.aliyun.com/pypi/simple/   

也可同时workon CV打开虚拟环境后安装

Ubuntu下如何安装numpy,scipy

1):安装依赖库

sudo apt-get install python-dev

2):使用apt-get 安装

sudo apt-get install python-numpy
sudo apt-get install python-scipy

3):使用pip方式安装:

sudo pip install numpy
sudo pip install scipy

编译运行

  • 非虚拟环境下

验证,从终端进入python3

python3
import cv2   #    >>下import验证
quit()            #退出

正常环境下import cv2出错解决:ImportError: libz-a147dcb0.so.1.2.3: cannot open shared object file: No such file or directory

1.sudo find / -iname cv2*.so
2.将cv2.cpython-36m-x86_64-linux-gnu.so复制到 /usr/local/lib/python3.6/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so下
3.通过 sudo nautilus 进入文件复制权限
4.将/usr/local/lib/python3.6/dist-packages/cv2.so中的cv2.so删了

查看OpenCV版本:Ubuntu下opencv4的Python 接口安装_第1张图片

  • 虚拟环境

1.进入虚拟环境

workon cv

2.从终端进入python3

python3

出错:

>>> import cv2
Traceback (most recent call last):
  File "", line 1, in <module>
ImportError: libz-a147dcb0.so.1.2.3: cannot open shared object file: No such file or directory

1.根据提示,缺少的是libz-a147dcb0.so.1.2.3这个文件,那么我们进行查找通过(sudo find / -iname cv2*.so)

sudo find / -iname cv2*.so
sudo find / -name libz-a147dcb0.so.1.2.3

2.通过which python命令查看你的python的来源:

/home/isoil666/.virtualenvs/cv/bin/python

3.我们可以观察到有很多cv2的文件夹,而我们python所使的虚拟环境
/home/isoil666/.virtualenvs/cv/lib/python3.6/site-packages中没有这个文件,那么将cv2.so文件复制过去(从前复制到>后)

 cp /usr/local/lib/python3.6/dist-packages/cv2.so  /home/isoil666/.virtualenvs/cv/lib/python3.6/site-packages#复制到虚拟空间中 

ps:如果不想用命令复制,也可以使用sudo nautilus在界面上操作

sudo nautilus

  • 运行.py文件
    上篇文章介绍的opencv4的安装,以及c++接口下的编译运行
    安装了 opencv-python opencv-contrib-python后,在python接口下运行时,直接在文件目录下打开终端

python3 demo.py

gms匹配示例如下:
在这里插入图片描述
Ubuntu下opencv4的Python 接口安装_第2张图片
虚拟环境下运行py

在这里插入图片描述

Ubuntu下opencv4的Python 接口安装_第3张图片

你可能感兴趣的:(opencv-python,opencv,python,ubuntu)