1. 程式人生 > >No.10 Ubuntu16.04 配置Python OpenCV3.3.0

No.10 Ubuntu16.04 配置Python OpenCV3.3.0

1.OpenCV 3.3.0 安裝並測試

1.1 安裝依賴

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev  libjasper-dev libopenexr-dev libtbb-dev 
sudo apt-get install cmake

1.2 安裝OpenCV-3.3.0

  • 官網下載OpenCV3.3.0,並提取到任意位置

  • opencv-3.3.0資料夾下建立build資料夾,並切換到該資料夾

cd opencv-3.3.0
mkdir build
cd build
  • 編譯opencv/usr/local/opencv330路徑下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON  -D WITH_V4L=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv330 ..  
sudo make -j16 #並行編譯 可以直接 sudo make
sudo make install 
  • 編譯安裝成功以後,/usr/local/opencv330目錄下有如下檔案

    這裡寫圖片描述

  • 新增opencv 庫到路徑

sudo gedit /etc/ld.so.conf.d/opencv.conf 
  • 在文字末尾(可能是新檔案)追加
/usr/local/lib
  • 生效路徑
sudo ldconfig
  • opencv設定環境變數
sudo gedit ~/.bashrc 
  • 在檔案末尾加上
PKG_CONFIG_PATH="/usr/local/opencv330/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="/usr/local/opencv330/lib:$LD_LIBRARY_PATH"
  • 儲存檔案,輸入以下命令使檔案生效
source ~/.bashrc 
  • 檢視opencv版本
pkg-config --modversion
opencv

這裡寫圖片描述

1.3 測試OpenCV

  • 在適當位置建立資料夾opencv-lena
  • 切換至資料夾下,建立DisplayImage.cpp,和CMakeLists.txt ,並分別輸入內容
gedit DisplayImage.cpp
#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;  
}  
gedit CMakeLists.txt
set(OpenCV_DIR /usr/local/opencv330/share/OpenCV )

cmake_minimum_required(VERSION 3.5)
project(DisplayImage)  
find_package(OpenCV 3.3 REQUIRED)  
include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS} /usr/local/opencv330/include)
add_executable(DisplayImage DisplayImage.cpp)  
target_link_libraries(DisplayImage ${OpenCV_LIBS})
#將相應的路徑換成自己的安裝路徑
  • 編譯並執行該檔案
cmake .
make
./DisplayImage lena.png
  • 執行結果如下

這裡寫圖片描述

2.Python安裝opencv模組

2.1 下載python-opencv

  • 啟用tensorflow環境
source activate tensorflow
  • 使用conda安裝opencv(也可使用pip等其他方式,但是必須安裝在tensorflowpython中)
conda install -c anaconda opencv
  • 安裝完成後,進入python,成功import cv2 即安裝成功

2.2 替換cv2.so檔案 (可選)

有時上一步完成無法成功import cv2 可以如下解決。
/usr/local/opencv330/lib/python2.7/dist-packages 路徑下的 cv2.so檔案,替換
/anaconda3/envs/tensorflow/lib/python2.7/site-packages

最後,opencv的相關的檔案安裝完畢,可以直接使用了