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/
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!