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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM