anaconda2下面安装opencv2.4.13.4完成----解决默认安装的问题----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
转载自: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/
anaconda2下面安装opencv2.4.13.4完成----解决默认安装的问题----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的更多相关文章
- Ubuntu14.04 64位机上安装OpenCV2.4.13(CUDA8.0)版操作步骤
Ubuntu14.04 64位机上安装CUDA8.0的操作步骤可以参考http://blog.csdn.net/fengbingchun/article/details/53840684,这里是在已经 ...
- Ubuntu16.04下安装OpenCV2.4.13
软件版本 Ubuntu 16.04; OpenCV 2.4.13 安装步骤 1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安 ...
- ubuntu16.04安装opencv2.4.13
1.更新 sudo apt-get update sudo apt-get upgrade 2.安装关联库 2.1 搭建C/C++编译环境 sudo apt-get install build-ess ...
- 【linux】linux下yum安装后Apache、php、mysql默认安装路径
原文:http://blog.csdn.NET/u010175124/article/details/27322757apache:如果采用RPM包安装,安装路径应在 /etc/httpd目录下apa ...
- Ubuntu14.04安装opencv2.4.13
本文参考相关链接:http://blog.csdn.net/honyniu/article/details/46390097 系 统:Ubuntu 14.04 x64 opencv版本:2.4.1 ...
- xlslib安装, aclocal-1.13: command not found, 安装升级autoconf-2.65.tar.gz, automake-1.13.tar.gz两个文件
问题1: $ make CDPATH="${ZSH_VERSION+.}:" && cd . && aclocal-1.13 -I m4 /bin/ ...
- (原+转)ubuntu16中安装opencv2.4.11(2.4.13)
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...
- (原+转)ubuntu16中安装opencv2.4.11
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...
- Linux Ubuntu12.04下安装OpenCv2.4.10
参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...
随机推荐
- linux之创建临时文件的方法
有时候,我们需要创建文件临时存放一些输出的信息,创建文件时就可能出现文件名存在的问题.如何创建唯一的文件名,Linux为我们提供几个方案: 1.mktemp(强烈推荐) The mktemp ut ...
- VC6.0工程改名(转)
只讨论对工程改名,其他文件和类的名字不改变,否则就很麻烦了. 操作步骤: (1)删除 .dsw 文件.改好了会再自动生成的: (2)以写字板或记事本方式打开.dsp文件: (3)将其中所有的原工 ...
- Centos7 安装docker ce
一. 安装docker 1.升级rpm包 yum -y update 2. 通过命令设置Docker CE 资源库: yum install -y yum-utils yum-config-manag ...
- springBoot 打成jar包
1.一种方式通过cmd 窗口进行打包 配置maven 环境变量 进入到项目中 运行 mvn clean 然后运行mvn package 进行打包 2.通过idea 进行打包 (1)pom 中安装打包 ...
- 51Nod 1272最大距离 (树状数组维护前缀最小值)
题目链接 最大距离 其实主流解法应该是单调栈……我用了树状数组. #include <bits/stdc++.h> using namespace std; #define rep(i, ...
- addEventListener与attachEvent
一.attachEvent和addEventListener (一)addEventListener addEventListener() 方法用于向指定元素添加事件句柄.使用 removeEvent ...
- python 设计模式之命令模式
命令模式介绍: 在面向对象编程中,命令模式是概括所有方法信息的设计模式. 此模式对象包涵方法名,及其相关参数值. 命令模式是一个分类的观察者设计模式,在命令模式下,对象被概括为一个命令表单,此表单包涵 ...
- luogu P2744 [USACO5.3]量取牛奶Milk Measuring
题目描述 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位——译者注) 他的最好的牛奶,并把它装入一个大瓶子中卖出.消费者要多少,他就给多少,从不有 ...
- Akka之BackoffSupervisor
一.背景 最近在开发一个项目,项目的各模块之间是使用akka grpc传输音频帧的,并且各模块中的actor分别都进行了persist.本周在开发过程中遇到了一个bug,就是音频帧在通行一段时间后,整 ...
- RTC实时时钟驱动
RTC(Real-Time Clock)实时时钟为操作系统提供了一个可靠的时间,并且在断电的情况下,RTC实时时钟也可以通过电池供电,一直运行下去. RTC通过STRB/LDRB这两个ARM指令向CP ...