Ubuntu 16.04 安裝opencv的各種方法(含opencv contrib擴(kuò)展包安裝方法)

本文主要介紹安裝opencv C++接口和python接口的幾種方法英岭。 首先介紹C++接口的,然后介紹Python接口的

C++接口安裝

采用源碼編譯的安裝方式湿右,基本也就是這種方法了诅妹,首先在官網(wǎng)下載你想安裝的版本的opencv壓縮包,下載連接如下:
https://github.com/opencv/opencv/releases

首先毅人,安裝一些依賴吭狡,根據(jù)自己的情況選擇,如果不知道自己安裝了那些依賴丈莺,就都輸入一遍划煮,如果已經(jīng)安裝系統(tǒng)會自動跳過,不會重復(fù)安裝

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

然后缔俄,將壓縮包解壓弛秋,我下載我是opencv3.4.3版本,所以最后解壓出來的文件夾就是opencv-3.4.3俐载,接著蟹略,先用命令行進(jìn)入該文件夾,然后執(zhí)行命令遏佣,如下所示:

cd ~/opencv-3.4.3  # 進(jìn)入opencv文件夾
mkdir build # 創(chuàng)建build文件夾
cd build # 進(jìn)入build文件夾

#cmake指令挖炬,如果沒有特殊要求建議就選擇默認(rèn)的就可以
#注意,后面的兩個點(diǎn)千萬不能省状婶,代表了上級目錄
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..  
make -j7 # 多線程執(zhí)行make任務(wù)

# 最后一步意敛,安裝庫文件
sudo make install

#安裝完成

Python 接口安裝

有以下幾種方法馅巷。具體操作如下:

方法一(推薦):利用pip安裝opencv-python

在安裝之前,如果你之前安裝過舊版本的opencv草姻,那么就先將其刪除令杈,再進(jìn)行下面的安裝過程。
在pip中可以方便快速的安裝opencv-python和opencv-contrib-python碴倾,只需要輸入兩條指令即可:

$ pip install opencv-python #安裝opencv
$ pip install opencv-contrib-python #安裝opencv的contrib擴(kuò)展包

[圖片上傳失敗...(image-c68e2-1540209394304)]

常見問題:

  • opencv-python和opencv-contrib-python是否必須要同時安裝?
    答:不需要掉丽,他們分別可以獨(dú)自運(yùn)行跌榔,但是一般情況下,都會將兩個包都裝上
  • 報錯顯示pip找不到包捶障?
    答:這種請看多半是因為pip比較舊僧须,這時只需要輸入下面的指令更新以下pip就行了
$ pip install --upgrade pip
$ pip install wheel #如果確定已經(jīng)安裝了wheel就不用執(zhí)行這條指令
  • 安裝過程遇到錯誤提示?
    答:確保你已經(jīng)刪除了舊版本的opencv python捆綁包

方法二:利用conda安裝opencv

利用conda安裝opencv项炼,這種方法相較于pip安裝方法來說担平,可以自由選擇opencv的版本,使用面更廣锭部,但是缺點(diǎn)是不能安裝opencv-contrib暂论。具體操作如下:
首先,可以查詢一下conda里面可以安裝的opencv:

conda search opencv

[圖片上傳失敗...(image-758796-1540209394304)]
然后拌禾,根據(jù)你想要安裝的opencv版本(以3.1.0為例)取胎,輸入以下指令即可:

conda install opencv=3.1.0

[圖片上傳失敗...(image-205600-1540209394304)]

以上兩種opencv的安裝方法可以滿足大部分人的基本需求,但是湃窍,如果你既想要自定義選擇opencv的版本闻蛀,又想要安裝opencv-contrib擴(kuò)展庫,那么可以采用源碼編譯的方式安裝您市,這也是opencv官方推薦的安裝方式觉痛。

方法三:源碼編譯安裝opencv和contrib

首先,更新以下系統(tǒng):

$ sudo apt-get update
$ sudo apt-get upgrade

接著茵休,安裝需要的編譯工具

$ sudo apt-get install build-essential cmake pkg-config

然后薪棒,安裝相應(yīng)的依賴包

$ sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libatlas-base-dev gfortran

然后在Github的opencv項目主頁下載你需要的版本,注意contrib的版本和opencv的版本要一致泽篮。
opencv源碼下載地址:
https://github.com/opencv/opencv/releases
contrib源碼下載地址:
https://github.com/opencv/opencv_contrib/releases
[圖片上傳失敗...(image-4053fc-1540209394304)]

下載好opencv的源碼壓縮包以后盗尸,將其解壓,然后帽撑,進(jìn)入到opencv的文件夾中(這里我以opencv3.1.0為例):
(注意泼各,如果下面的指令報錯,就將所有-D后面的空格刪除)

$ cd ~/opencv-3.1.0/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \ #這里是opencv的安裝路徑亏拉,建議不要修改扣蜻,就采用默認(rèn)的安裝路徑即可
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \
    -D PYTHON_EXECUTABLE=~/.pyenv/bin/python \ #這是要用來編譯的python路徑
    -D BUILD_EXAMPLES=ON ..  # 我在編譯例子時遇到錯誤逆巍,把它改為OFF通過

上邊的參數(shù)配置中,有幾處是需要根據(jù)你自己電腦上的路徑來設(shè)置的:

  • CMAKE_INSTALL_PREFIX:opencv的安裝路徑莽使,可以自己設(shè)置锐极,但建議就用默認(rèn)路徑
  • OPENCV_EXTRA_MODULES_PATH:contrib文件夾的所在路徑,取決于你剛剛下載的contrib壓縮包解壓后的文件位置
  • PYTHON_EXECUTABLE:用來進(jìn)行編譯的python路徑芳肌,如果你不知道自己所有python的路徑的話灵再,可以利用指令which python來查詢

完成cmake的配置后,利用make指令進(jìn)行編譯:

$ make

然后在進(jìn)行安裝

$ sudo make install
$ sudo ldconfig

最后亿笤,建立軟連接

$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翎迁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子净薛,更是在濱河造成了極大的恐慌汪榔,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肃拜,死亡現(xiàn)場離奇詭異痴腌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)燃领,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門士聪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人柿菩,你說我怎么就攤上這事戚嗅。” “怎么了枢舶?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵懦胞,是天一觀的道長。 經(jīng)常有香客問我凉泄,道長躏尉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任后众,我火速辦了婚禮胀糜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蒂誉。我一直安慰自己教藻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布右锨。 她就那樣靜靜地躺著括堤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悄窃,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天讥电,我揣著相機(jī)與錄音,去河邊找鬼轧抗。 笑死恩敌,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的横媚。 我是一名探鬼主播纠炮,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灯蝴!你這毒婦竟也來了抗碰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤绽乔,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碳褒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體折砸,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年沙峻,在試婚紗的時候發(fā)現(xiàn)自己被綠了睦授。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡摔寨,死狀恐怖去枷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情是复,我是刑警寧澤删顶,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站淑廊,受9級特大地震影響逗余,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜季惩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一录粱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧画拾,春花似錦啥繁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春宪睹,著一層夾襖步出監(jiān)牢的瞬間愁茁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工亭病, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鹅很,地道東北人。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓罪帖,卻偏偏與公主長得像促煮,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子整袁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容