[Python 实战] - 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的相关的文件安装完毕,可以直接使用了

猜你喜欢

转载自blog.csdn.net/tjuyanming/article/details/79079736