Ubuntu16.04安裝opencv for python/c++
網上關於opencv的安裝已經有了不少資料,但是沒有一篇資料能讓我一次性安裝成功,因此花費了大量時間去解決各種意外,希望這篇能給一些人帶去便利,節省時間。
1.安裝OpenCV所需的庫
1 sudo apt-get install build-essential 2 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 3 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.下載最新opencv源碼
鏈接: https://pan.baidu.com/s/1bpAIrOb
密碼: qqb7
將opencv-3.2.0.zip解壓,然后進入該目錄。
1 unzip opencv-3.2.0.zip 2 cd ~/opencv-3.2.0
3.編譯opencv
1 cd ~/opencv-3.2.0 2 mkdir release 3 cd release 4 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 5 make 6 sudo make install
在執行"cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..”時會下載ippicv_linux_20151201.tgz,有可能因為牆的緣故不成功,可以到我的網盤中提取
鏈接: https://pan.baidu.com/s/1bpAIrOb
密碼: qqb7
下載ippicv_linux_20151201.tgz,不需要解壓,放到opencv-3.2.0目錄下的/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b里面就可以了。
這時繼續從第4行開始執行,直至結束。
4、測試opencv(C++)
這時,已經可以通過C++使用opencv了。
1) 創建工作目錄
mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp
2) 編輯如下代碼
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
3) 創建CMake編譯文件
gedit CMakeLists.txt
寫入如下內容
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
4) 編譯
cd ~/opencv-lena
cmake .
make
5) 執行
此時opencv-lena文件夾中已經產生了可執行文件DisplayImage,下載lena.jpg放在opencv-lena下,運行
./DisplayImage lena.jpg
5、測試opencv(python)
如果你的電腦已經裝了anaconda,則只需如下命令
pip install opencv-python
否則,使用
pip install python-opencv
在python中import cv2,沒有提示錯誤表示安裝成功。