ubuntu16.04+Anaconda+tensorflow+opencv3.3.0安装教程

废话不多说,直接开始教程。

 

第一步:安装anacoda

安装教程( https://blog.csdn.net/lwplwf/article/details/79162470 )写的很详细,直接照着做就行了。
新开一个终端,测试python的版本是不是anaconda对应的python3.6,有的anaconda不用进行下面的步骤。
按照上述教程做完之后,anaconda已经安装成功了,但是当重新打开一个终端,输入python时,显示的还是默认版本的2.7.12而不是anaconda对应的3.6.3版本,当我们切换成exportPATH路径时,再输入python才能显示3.6.3版本,为了以后方便,我们将conda路径加入默认路径中(以后打开python3.6.3就不用在进入上面的exportPATH路径中了,参考链接 (https://www.cnblogs.com/gaofighting/p/8799169.html )

 

第二步:安装Tensorflow

参考教程 https://www.cnblogs.com/tiansheng/p/7281290.html
唯一需要注意的是,链接里面切换到Downloads文件夹时,应该是: cd ~/Downlosds(~表示相对路径,如果是绝对路径的话应该是 cd /home/wz/Downloads)
但是tensorflow每次运行都要activate,很麻烦,将它添加到指定路径,以后在spyder里面就可以直接import了。(将一个文件夹的东西复制到另一个文件夹,注意是直接复制并替换!参考这里)

 

第三步:利用conda安装opencv

(事实证明使用conda便捷安装的opencv是阉割版,不能实现视频和摄像头的读取功能,所以如果你需要更高级更完善的功能,可以跳过这步,直接进行第四步)
用了这个教程,只需要一条命令就可以安装成功,
最后,在终端输入 conda list就可以查询自己安装了哪些库,numpy,spyder什么的anaconda直接自带了。

最后在运行python程序时,使用opencv的imshow功能用不了,报错
If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage
百度发现,直接使用conda安装的opencv是直接编译好的,和我们的使用需求不一定相同,也就意味着容易出问题,但是Ubuntu,python以及opencv不同版本之间使用都有差异,容易出问题
解决步骤:
1.卸载掉conda装的opencv
conda install装的就用condauninstall卸,其他的安装方式也按照对应方式卸载就可以了.
2.然后删掉opencv的一系列包和文件
删除一系列包可以用rm –r opencv*,以opencv开头的包就都会被删掉

 

第四步:自己手动编译安装opencv

请参考教程 ,跟教程不同的几步单独列出来:
(1)安装依赖项的时候,为了保险起见,参考了多篇链接,多安装了几个依赖项,( 这个链接 https://www.cnblogs.com/wangyarui/p/8027344.html 里的 依赖项蛮多的,我把两个链接里的依赖项都安了)
这里尤其要提到ffmpeg依赖项,一定要装上!

(2)我不是从网页上直接下的opencv,(我承认是因为流量不够,提前在windows下好了安装包opencv3.3.0.tar.gz),使用命令
sudo tar -zxvf opencv3.3.0.tar.gz
即可将opencv解压到当前文件夹下
接下来就可以cd,mkdir等操作啦~
(3)这里要提一下cmake
如果直接输入cmake .. 不出意外opencv会链到系统的python2.7上去(看cache可知),所以需要指定到我们的anaconda的python3.6上,按照链接去改cmake时相关文件的路径,比如我的是:(笔记本和台式机都是这个路径)

cmake
-D WITH_IPP=OFF
-D PYTHON_DEFAULT_EXECUTABLE=/home/wz/Software/anaconda3/bin/python3
-D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF
-D PYTHON3_EXCUTABLE=/home/wz/Software/anaconda3/bin/python3
-D PYTHON3_INCLUDE_DIR=/home/wz/Software/anaconda3/include/python3.6m
-D PYTHON3_LIBRARY=/home/wz/Software/anaconda3/lib/libpython3.6m.so.1.0
-D PYTHON_NUMPY_PATH=/home/wz/Software/anaconda3/lib/python3.6/site-packages
..

接下来一步该make了,教程中有的写成make -j4,make -j8等,就是为了加速,我用的是make -j8,这步时间比较久,耐心等等,如果这步没有报错,那么就离成功不远了,接下来再用几句简单命令即可完成安装:

sudo make install
sudo gedit /etc/ld.so.conf.d/opencv.conf

在打开的写字板中输入

/usr/local/lib

在终端输入

sudo ldconfig

最后设置路径

sudo gedit /etc/bash.bashrc

文件末尾添加并保存:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

exportPKG_CONFIG_PATH

 

测试

终端输入python,import cv2,报错 NO module in cv2,应该是找不到cv2.so文件,去opencv-3.3.0/build/lib/python3这个路径下找到cv2.so文件,然后复制到/Software/anaconda3/lib/python3.6/site-packages文件夹下。

复制完之后又报错:
ImportError: /home/wz/Software/anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found (required by /home/wz/Software/anaconda3/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so)
原因:gcc库版本太老
解决方案: conda install libgcc

应该装好了吧^-^~~

 

附上测试摄像头的代码

import cv2
capture = cv2.VideoCapture(0)
print capture.isOpened()
num = 0

while 1:
ret, img = capture.read()
cv2.imshow(‘testcamera’, img)
key = cv2.waitKey(1)
num += 1
if key==1048603:#
break

capture.release()
cv2.destroyAllWindows()


突然发现了一个超级简易的opencv安装教程,只需要两行命令就可以搞定,亲测可以安装成功,python里面可以直接import cv2不会报错,但是功能是否完整,本人还没有来得及测试,先在此记录下来~

pip install opencv-contrib-python
import cv2

你可能感兴趣的:(安装教程)