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的相關的文件安裝完畢,可以直接使用了