在Linux中运行可执行程序时,出现错误,用 ldd 查看程序需要的包,发现少了以下几个包
还有一个问题就是,出现了 fatal error: Python.h: 没有那个文件或目录,这个问题,但是我通过搜索发现我电脑里是有这个Python.h文件的,也尝试了进行 sudo apt-get install python-dev,还是报错,这个又该怎么解决呢?
OpenCV全称:Open Source Computer Vision Library,是一个开源的跨平台计算机视觉库,github地址:https://github.com/opencv/opencv%E3%80%82OpecCV%E4%B8%BB%E8%A6%81%E7%94%A8c++%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99%EF%BC%8C%E4%B9%9F%E6%8F%90%E4%BE%9B%E4%BA%86python%E7%AD%89%E5%85%B6%E4%BB%96%E8%AF%AD%E8%A8%80%E7%9A%84%EF%BC%8C%E4%B8%8B%E9%9D%A2%E4%BB%8B%E7%BB%8D%E4%B8%8B%E5%A6%82%E4%BD%95%E5%9C%A8MacOS%E5%92%8CUbuntu%E4%B8%8A%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85OpenCV%E4%BB%A5%E5%8F%8AOpenCV%E7%9A%84Python%E8%B0%83%E7%94%A8%E5%BA%93%E3%80%82
MacOS上面安装
安装OpenCV
使用Homebrew安装直接安装OpenCV:
brew install opencv
OpenCV的安装目录为:/usr/local/Cellar/opencv/。
也可以从官网下载安装包直接安装。比较复杂的是下载源代码使用cmake安装。
cv2
OpenCV在Python中调用的时候使用的库是cv2。在python中可以直接使用cv2:
import cv2
直接import会出现错误:
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named cv2
这是因为Python并不能找到对应的OpenCV的库。
那cv2在那里呢?使用pip install安装,也没有找到对应的cv2库。回头看OpenCV的安装目录在lib下面可以看到一个python2.7的包,Python的相关引用都在里面,在site-packages目录下有两个文件:
cv.py
cv2.so
可以把这两个文件复制Python库目录/usr/local/lib/python2.7/site-packages下面,这样在调用的时候Python就可以找到cv2的库。
Ubuntu上安装OpenCV的方法
先Ubuntu上可以直接编译OpenCV安装,首先要安装编译需要的依赖包:
sudo apt-get install cmake build-essential libgtk2.0-dev libjpeg8-dev libjpeg-dev libavcodec-dev libavformat-dev libtiff5-dev cmake libswscale-dev
下载OpenCV的源代码:
wget https://codeload.github.com/o...
解压:
tar -xzvf 2.4.13.tar.gz
编译并安装:
cd opencv-2.4.13
cmake
make
sudo make install
另外在Ubuntu上使用Python调用OpenCV需要安装对应的python包:
sudo apt-get install python-opencv
完整脚本地址:https://github.com/jjz/script/blob/master/opencv-python.sh
使用OpenCV
一个简单用来验证Python是否能够调用OpenCV的方法:
import cv2
cv2.version
可以得到OpenCV版本:
'2.4.13.1'
建议你看看这个博主的博文【安装不同版本opencv及共存、切换并验证。】,链接:https://blog.csdn.net/luoqibo/article/details/127193969
第二个问题【出现了 fatal error: Python.h: 没有那个文件或目录】,借鉴这个笔记,讲述和分析了该问题:https://www.cnblogs.com/if-then/p/7881887.html