ubuntu15.10下安裝opencv2.4.9python上調用opencv庫

對于centos,可以參考:Install OpenCV-Python in Fedora
如果IPP難以下載可以在cmake時禁掉它,只需:cmake -DWITH_IPP=OFF
OpenCV3.3+CUDA9.0 安裝過程中遇到的問題,解析: https://blog.csdn.net/u014613745/article/details/78310916
特此聲明:不建議按照如下方式安裝,請參考:
ffmpeg安裝:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
opencv安裝:
http://www.cnblogs.com/platero/p/3993877.html
https://github.com/jayrambhia/Install-OpenCV
如果出現問題,可以參考:
Installing OpenCV 2.3.1 with FFmpeg on 64-bit Ubuntu,如果需要安裝CUDA支持,則參考
http://stackoverflow.com/questions/28010399/build-opencv-with-cuda-support

opencv版本選擇

前幾天花了一天時間整ubuntu下的opencv安裝,可是總是出現各種各樣的問題。在網上查資料,可是都是碎片化的資料,加之自己英文不是很好,有時候不是很清楚有些人的解決方法,于是就只能各種嘗試。原先想裝opencv3.1.0,可是總是裝不成功,經常卡在cmake處就中斷了。后來想想自己在windows下裝的也是opencv2.4.9,就想是不是版本的問題呢?于是換成2.4.9,幾乎沒出什么問題,就裝成功了。幸福之余,我想把自己的安裝過程總結下來,希望分享給大家。所以明確一點,我們這里裝的版本是 OpenCV2.4.9.
PS: 最好不要把opencv2.4.9解壓到共享內存中去,否則可能會出錯。我是將其解壓到了home文件下.

安裝過程

  1. 下載材料:
  • opencv 2.4.9 :http://opencv.org/
  • ffmpeg-2.4.3: http://download.csdn.net/detail/tonylllz/8130313
  1. 安裝過程:
    步驟一:卸載任何以前安裝的ffmpeg和x264軟件
 sudo apt-get -qq remove ffmpeg x264 libx264-dev

步驟二:解壓下載好的opencv

unzip opencv-2.4.9.zip

步驟三:安裝ffmpeg

安裝方法,請參考:《 ubuntu14.04安裝ffmpeg》
與《ubuntu 下安裝ffmpeg》
(后者更推薦),安裝結束后,
查看是否安裝成功

ffmpeg –version

步驟四:安裝OpenCV所需的庫(編譯器、必須庫、可選庫)

GCC 4.4.x or later
CMake 2.6 or higher
Git
GTK+2.x or higher, including headers (libgtk2.0-dev)
pkg-config
Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
[optional] libtbb2 libtbb-dev
[optional] libdc1394 2.x
[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

步驟五:進入源碼目錄

 cd opencv-2.4.9

步驟六:進入源碼目錄的cmake目錄

 cd cmake

步驟七:cmake編譯生成Makefile

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..  

cmake會進行很長時間,大概有10幾分鐘。cmake完后出現如下界面:

步驟八:編譯,并安裝

sudo make install  

注意:安裝的所有的lib文件都會被安裝到/usr/local目錄
例如:后面python必須的opencv庫來自于:/usr/local/lib/python2.7/site-packages/cv2.so

至此opencv基本安裝成功,接下來我們測試一下:

測試

  1. 在某個目錄下建立一個test.cpp文件
#include <cv.h>
#include <highgui.h>using namespace cv;int main(int argc, char* argv[]) 
{std::cout<<CV_VERSION<<std::endl;return 0;
}

2.同目錄,新建一個文件CMakeLists.txt,寫入如下內容

project(test)  
find_package(OpenCV REQUIRED)  
add_executable(test test)  
target_link_libraries(test ${OpenCV_LIBS})  
cmake_minimum_required(VERSION 2.8)

3.編譯成可執行文件

  cmake .make

4.進入test.cpp目錄中,鍵入

 ./test    

如果能看到’2.4.9’,那就表示成功了。

安裝python

因為在python中使用opencv會使用到很多科學運算庫,為此我安裝了anaconda python
地址:https://www.continuum.io/downloads
里面包含了python 2.7 和python 3.5,一般我們選擇python 2.7。下載下來,
在其下載目錄下,鍵入:

bash Anaconda2-2.5.0-Linux-x86_64.sh

安裝成功。里面包含了我們所有的幾乎所有庫,包括numpy,matplotlib等

將opencv編譯后的python庫加入python路徑中

你可以在python終端鍵入:

import sys;print sys.path

它將輸出許多地址,然后將

/usr/local/lib/python2.7/site-packages/cv2.so

移動到以上任意一個目錄下,我此刻移到了 ./home/anaconda2/lib 里面.

安裝python-opencv

可直接使用apt安裝

sudo apt-get install python-opencv
sudo apt-get install python-numpy

測試:

打開python,import cv2模塊成功即可。

import cv2

可以編譯過去,說明安裝成功.

參考文獻:

  1. Install OpenCV-Python in Fedora
  2. openCV python 安裝
  3. Ubuntu 14.04下OpenCV 3.0+Python 2.7安裝測試
  4. ubuntu14.04中安裝opencv2.4.10
  5. Ubuntu 14.04, 13.10 下安裝 OpenCV 2.4.9
  6. Linux 下編譯安裝OpenCV

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259033.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【轉】jquery 注冊事件的方法

原文鏈接&#xff1a;http://outofmemory.cn/code-snippet/2123/jquery-zhuce-event-method 1.使用事件名來綁定&#xff0c;可用的事件名有 change,click,dblclick,error,focus,focusin,focusout,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,…

ffmpeg 時間戳

轉http://blog.csdn.net/yfh1985sdq/article/details/5721953 AVpacket里的時間戳pts和dts.單位好像是us. 問 : 時間戳pts和dts,這里兩個時間戳各有什么意義? 答 : 顯示時間,解碼時間. DTS&#xff1a;decoding time stamp PTS&#xff1a;presentation time stamp Generally …

鍵盤改鍵軟件_一秒五鍵,一鍵三招,萬種光污染,杜伽K310櫻桃軸機械鍵盤感受...

機械鍵盤我一直用的青軸&#xff0c;或者各種其他名字但其實本質就是青軸的。喜歡青軸那種清脆的聲音&#xff0c;在我聽來如同山間小溪流水般的叮咚。不過這聲音在夜間分外的具有穿透力&#xff0c;更會在人身體不好的時候難以承受&#xff0c;所以每每用過之后卻又不得不換回…

ubuntu 15.10下cmake 的安裝

因為原先ubuntu自帶的cmake有點舊&#xff0c;就想著安裝個最新的&#xff0c;可是直接安裝卡在了某一步上&#xff0c;后面有說明。現將正確的安裝方法列出來。1.卸載原有的版本sudo apt-get autoremove cmake2. 下載最新的cmake :https://cmake.org/download/3. 解壓&#xf…

codeigniter鉤子的使用

CodeIgniter 的鉤子功能&#xff0c;使得我們可以在不修改系統核心文件的基礎上&#xff0c;來改變或增加系統的核心運行功能。可是鉤子究竟該怎么用呢&#xff1f;雖然不是很難&#xff0c;不過很多剛用ci的朋友可能還是不明白怎么用。 通過本文的簡單實例&#xff0c;大家一下…

wxWidgets之wxGrid控件

1. 介紹wxGrid控件時wxWidgets界面庫中內置的網格控件。通經常使用來顯示表格數據。該控件擁有強大的功能。開發人員可依據自己的需求對其進行定制。 2. 經常使用API 構造函數&#xff1a;wxGrid ()wxGrid (wxWindow *parent, wxWindowID id, const wxPoint &poswxDef…

powerdesigner畫關系圖_想畫好手繪,這些圖你一定要畫一下!

畫好手繪除了對透視要深入了解掌握以及線條運用把握之外&#xff0c;還有很重要的就是要對空間物體的關系、比例、光影關系都要理解透徹。大體快可分割成多個x小體塊。其實當年學習的繪畫基礎也是畫好手繪的基礎&#xff0c;畫手繪依然需要去理解整體畫面的空間黑白灰、物體穿插…

C#,pdf文件轉換成圖片文件。

本文采用Adobe Acrobat9.0的COM組件&#xff0c;將Pdf文件的每一頁轉換成對應的圖片文件。 開發環境&#xff1a;VS2010&#xff0c;.Net Framework4.0&#xff0c;Adobe Acrobat9.0。 工程中添加COM引用&#xff1a;Adobe Acrobat 9.0 Type Library&#xff08;必須裝了Adobe …

Android進程間通信

一.Linux系統進程間通信有哪些方式&#xff1f; 1.socket&#xff1b; 2.name pipe命名管道&#xff1b; 3.message queue消息隊列&#xff1b; 4.singal信號量&#xff1b; 5.share memory共享內存&#xff1b; 二.Java系統的通信方式是什么&#xff1f; 1.socket; 2.name pip…

最新的一些開源face alignment及評價

dlib &#xff1a;https://github.com/davisking/dlib/tree/v18.18 評價&#xff1a;速度快&#xff0c;可商用&#xff0c;有些時候不太準確 2. CLM-framework: https://github.com/TadasBaltrusaitis/CLM-framework 評價:很準確&#xff0c;不可商用 3. Face Detection…

1048 石子歸并

1048 石子歸并 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description有n堆石子排成一列&#xff0c;每堆石子有一個重量w[i], 每次合并可以合并相鄰的兩堆石子&#xff0c;一次合并的代價為兩堆石子的重量和w[i]w[i1]。問安排怎樣的合并順序&#xf…

internetreadfile讀取數據長度為0_【完結】TensorFlow2.0 快速上手手冊

大家好&#xff0c;這是專欄《TensorFlow2.0》的第五篇文章&#xff0c;我們對專欄《TensorFlow2.0》進行一個總結。我們知道全新的TensorFlow2.0 Alpha已經于2019年3月被發布&#xff0c;新版本對TensorFLow的使用方式進行了重大改進&#xff0c;為了滿足各位AI人對TensorFlow…

Facial Landmark Detection(人臉特征點檢測)

原文地址&#xff1a;http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375 作為計算機視覺研究員&#xff0c;我們很早就開始研究人臉。人臉分析領域最廣為人知的就是人臉識別&#xff08;face recognition&#xff09;.但是為了識別一幅圖像中的人臉&…

cpu卡操作協議iso14443協議

http://baike.baidu.com/link?url3mef2ZMRoNuBrVLA2HpEh8xrBtzACdIi5nIDUsMyVkA8OulIXGWgswvFcTiBfh_B轉載于:https://www.cnblogs.com/shuenjian901/p/3496331.html

Python 字符串的內置函數

方法描述string.capitalize()把字符串的第一個字符大寫string.center(width)返回一個原字符串居中,并使用空格填充至長度 width 的新字符串string.count(str, beg0, endlen(string))返回 str 在 string 里面出現的次數&#xff0c;如果 beg 或者 end 指定則返回指定范圍內 str …

Java中的Error和Exceptiond的異同點

Error和Exception的異同點&#xff1a; &#xff08;1&#xff09;Error類和Exception類都繼承超類Java.lang.Throwable &#xff08;2&#xff09;Error&#xff1a;一般指與虛擬機相關的問題&#xff0c;如系統崩潰&#xff0c;內存溢出等。對于這類錯誤&#xff0c;僅靠程序…

python算法題_python基本算法題(一)

1、3位水仙花數計算 "3位水仙花數”是指一個三位整數&#xff0c;其各位數字的3次方和等于該數本身。 例如&#xff1a; ABC是一個“3位水仙花數”&#xff0c;則&#xff1a;A的3次方&#xff0b;B的3次方&#xff0b;C的3次方 ABC。 使用Python&#xff0c;輸出所有的3…

虛擬機環境下安裝ESX不能安裝虛擬系統解決方案

在虛擬機環境&#xff08;ESX、workstation等&#xff09;下安裝ESX或workstation等虛擬機&#xff0c;在虛擬機上再安裝操作系統&#xff0c;會提示“虛擬系統不能啟動&#xff0c;直到你配置了外部虛擬機&#xff08;vmware esx in a virtual machine requires the outer vir…

superviseddescent (SDM C++11實現)環境配置

今天試著用了一下SDM的C11實現&#xff0c;本來以為挺簡單的&#xff0c;可是配置環境還是花了一些時間。為了給自己留下一些記憶&#xff0c;特把配置過程記錄下來。 這個實現是C11的版本&#xff0c;是一個通用版本&#xff0c;里面包含了很多的功能&#xff0c;比如函數的最…

1008: University

臺州ACM&#xff1a;1008: University Description 在大學里&#xff0c;非常多單詞都是一詞多義。偶爾在文章里還要用引申義。這困擾Redraiment非常長的時間。 他開始搜集那些單詞的全部意義。他發現了一些規律&#xff0c;比如 “a”能用“e”來取代, “c”能用“f”來取代……