转载自:http://blog.csdn.net/qingyanyichen/article/details/73550924

本人下载编译安装了opencv2.4.9,oppencv2.4.10,opencv2.4.11,opencv3.0.0,opencv3.1.0,opencv3.2.0版本,总结anaconda下opencv安装经验如下。

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

Ubuntu安装了anaconda以后,

$condainstall opencv

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

$pipinstall opencv-python

或者$apt-get installpython-opencv

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

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

比如直接

$conda installopencv

之后,调用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之前需要先处理好依赖包,有的教程会告诉你下面两条:

$sudoapt-get update

$sudoapt-get upgrade

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

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

$   sudoapt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-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

本人下载编译安装了opencv2.4.9,2.4.10,2.4.11,3.0.0,3.1.0,3.2.0,不同版本出的问题不一样,主要问题是cmake的差异,以及依赖包版本的差异

官网下载opencv源码

解压opencv源码

$cd 解压好的opencv文件夹

$mkdirbuild

$cdbuild

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

//好看,才一行一行写的,没必要换行的

$cmake-D

CMAKE_BUILD_TYPE=Relese-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

$make

//有的写成make j2,make j4,make j8等,就是为了加速

//make过程中,如果是3.x的版本,downloadthe file ippicv_linux_xxxxxxx.tgz会非常非常慢,还会出现校验码对不上的问题,自己下载ippicv_linux_xxxxxxx.tgz文件,拷到对应文件夹下,它正在下载那个删掉就可以了.

$sudomake install

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

$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

设置路径:

$sudogedit /etc/bash.bashrc

文件末尾添加并保存:

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

exportPKG_CONFIG_PATH

5.测试

$python

$import cv2

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

$filename= "1.jpg"

$img =cv2.imread(filename)

$cv2.imshow("img",img)

$cv2.destroyAllWindows()

没问题就装好了

6.如果实在还没有解决

如果还有问题,那就不一定是opencv的问题了,重装anaconda试试吧.

参考:

http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/

随机推荐

  1. 新技术≠颠覆:CIO 要有战略耐心

    新技术≠颠覆:CIO 要有战略耐心 大数据,云时代,互联网思维, 物联网--最近一两年,这些字眼一次次地出现在各种大大小小的CIO会议上和他们的私下交流圈子里,作为对新技术最敏感的人群,一方面他们迫切 ...

  2. 谷歌chrome浏览器www.tradeadexchange.com广告弹窗跳转劫持病毒

    近期大量网友出现chrome浏览器被劫持的情况,表现如下:           ·  点击(访问)任意网站任意链接均有概率弹出www.tradeadexchange.com.           ·  ...

  3. mysql优化要点(一)

    一  sql语句中使用函数需要注意,因为有可能结果每条语句都会调用,甚至表内每条记录都会调用. 二  注意转换,会消耗大量性能,甚至字符串的encoding不同,也会出现非常大的消耗 三  myisa ...

  4. ThreadStatic应用(Identity补完)

    关于Identity Identity自增序列/唯一断标识 起初做这个东西,是在一个内部组件中,用于在高并发的环境下得到一个较短的“相对”不重复标识字符串;(这里说的相对是指一定的数量下不重复) 灵感 ...

  5. Who needs an architect?---Martin Fowler

    英文及译文下载链接:http://pan.baidu.com/share/link?shareid=163291504&uk=1428554614 1.文章主题总结 首先我们从文章的几个小标题 ...

  6. vs2013 JS代码提示

    1.JS提示 在Js文件头部加 /// <reference path="ext-all-dev.js" /> 要求引用的js和本js在同一目录,否则需要全部路径

  7. UESTC_男神的礼物 2015 UESTC Training for Dynamic Programming&lt;Problem A&gt;

    A - 男神的礼物 Time Limit: 3000/3000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

  8. cocos2d-x获取系统时间

    欢迎转载,本帖地址:http://blog.csdn.net/jinjian2009/article/details/9449585 之前使用过cocos2d-x获取系统时间,毫秒级的 long ge ...

  9. Mac命令行

    参考:http://www.cnblogs.com/-ios/p/4949923.html 必读 涵盖范围: 这篇文章对刚接触命令行的新手以及具有命令行使用经验的人都有用处.本文致力于做到覆盖面广(尽 ...

  10. CF438E The Child and Binary Tree 生成函数、多项式开根

    传送门 设生成函数\(C(x) = \sum\limits_{i=0}^\infty [\exists c_j = i]x^i\),答案数组为\(f_1 , f_2 , ..., f_m\),\(F( ...