ubuntu16.04+anaconda2+opencv3.4.0

1.编译好的opencv和自己编译安装opencv的区别

Ubuntu安装了anaconda以后,

$conda install opencv

直接安装网上编译好的opencv,但是Ubuntu,python以及opencv不同版本之间使用都有差异,容易出问题;但是如果没出问题的话,这确实是最简单的安装方式.

$pip install opencv-python

或者$apt-get install python-opencv

或者$conda install –c https://conda.binstar.org/menpoopencv

具有同样问题,所以有的人选择自己编译安装opencv.

 

比如直接

$conda install opencv

之后,调用cv2.destroyAllWindows()时有时会出现:

Thefunction is not implemented. Rebuild the library with Windows, GTK+ 2.x orCarbon support. If you are on Ubuntu or Debian, install libgtk2.0‑dev and pkg‑config, then re‑runcmake or configure script

这就是网上编译好的opencv包在编译的过程中设置的选项可能和你当前需求不一样,解决方法就是自己编译安装opencv

 

2. Ubuntu下anaconda卸载opencv

安装前首先把之前的opencv卸载掉,conda install装的就用condauninstall卸,其他的安装方式也按照对应方式卸载就可以了.

然后

$cd /usr/local/lib

$sudo rm–r opencv相关的包

$cd/usr/local/include

$sudo rm–r opencv相关的包

看看/usr/local/下有没有其他opencv,有的话一并删除

删除一系列包可以用rm –r opencv*,以opencv开头的包就都会被删掉

 

3.安装opencv依赖包

在安装opencv之前需要先处理好依赖包,有的教程会告诉你下面两条:

$sudo apt-get update

$sudo apt-get upgrade

这两条不是必要的,有的包升级完了又是bug,比如numpy包升到1.12就会出现floatX64的问题,所以不用这两条也没问题

 

下面这些依赖包还是要装的:

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev

$   sudoapt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev

4.编译安装opencv

(1)官网下载opencv源码 解压opencv源码

(2)$cd 解压好的opencv文件夹

$mkdir build

$cd build

//万一编译失败,删掉build和/usr/local/下相应的opencv文件就行,不用把整个解压的opencv都删掉

(3)下载 ippicv_2017u3_lnx_intel64_general_20170822.tgz链接:(可以不执行,若下载速度慢,再执行此步骤)

https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822/ippicv

保存路径随意,我是放在默认的下载路径/home/lc/下载

修改opencv里相关配置文件:

打开终端,输入

    gedit /home/lc/opencv_source/opencv/3rdparty/ippicv/ippicv.cmake #记得lc换成自己的用户名

将47行的

    "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"

改为步骤1中手动下载的文件的本地路径:

     "file:///home/lc/下载/" #(仅供参考,根据自己的路径填写)

编辑完成保存退出。

5.

wanglin@wanglin:~/caffe_software/opencv-3.4.0/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON -D WITH_VTK=ON ..

 

//opencv3.x版本这么写是没有问题的,2.x版本需要指定CUDA,而3.x版本指定CUDA的话编译会出问题.

//有的cmake里还有WITH_QT=ON,QT4和QT5版本问题在这里也经常出现,这条别写了

//看看你的ffmpeg是否是YES,有的ffmpeg包在2.x版本是NO的状态,make不下去的,先去装好ffmpeg

6.

wanglin@wanglin:~/caffe_software/opencv-3.4.0/build$ make

出现问题:

(1)注意不要在make后加-j16

(2)collect2: error: ld returned 1 exit status

modules/viz/CMakeFiles/opencv_test_viz.dir/build.make:236: recipe for target 'bin/opencv_test_viz' failed

make[2]: *** [bin/opencv_test_viz] Error 1

CMakeFiles/Makefile2:3306: recipe for target 'modules/viz/CMakeFiles/opencv_test_viz.dir/all' failed

make[1]: *** [modules/viz/CMakeFiles/opencv_test_viz.dir/all] Error 2

Makefile:160: recipe for target 'all' failed

make: *** [all] Error 2

解决方式:

sudo apt-get autoremove libtiff5-dev

sudo apt-get install libtiff5-dev

7.

wanglin@wanglin:~/caffe_software/opencv-3.4.0/build$ sudo make install

8.

将自己生成的动态链接库添加到系统能找到的路径:

$sudo gedit /etc/ld.so.conf.d/opencv.conf

在打开的写字板中填写/usr/local/lib

保存,并$sudo ldconfig

这个写法和下面的写法是等效的

$sudo -s

$echo"usr/local/lib" > /etc/ld.so.conf.d/opencv.conf

$sudoldconfig

9.设置路径:

$sudo mousepad  /etc/bash.bashrc

文件末尾添加并保存:

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

export PKG_CONFIG_PATH

保存退出,然后执行如下命令使得配置生效

source /etc/bash.bashrc
//激活配置然后更新database
sudo updatedb

10.测试

$python

$import cv2

如果出现no module named cv2,那就把/home/wanglin/opencv-4.1.1/my_build_dir/lib/cv2.so拷到anaconda/lib/python2.7/site-packages下

11.一个demo

import cv2

img = cv2.imread('1.jpg')

cv2.imshow('image',img)

cv2.waitKey(0)

cv2.destroyAllWindows()

没有报错就表明安装成功.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值