No.10 Ubuntu16.04 配置Python OpenCV3.3.0
阿新 • • 發佈:2018-12-26
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
等其他方式,但是必須安裝在tensorflow
的python
中)
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的相關的檔案安裝完畢,可以直接使用了