实验环境
- CPU:Ryzen 1800x
- 系统:ubuntu 17.04 64bit
- 软件环境:python2.7 + python3.5 + cuda开发环境(cuda8.0 cuddn
5.1)
因实验要求,需要对图片进行灰度编码,自然而然想到利用openCV库结合python进行,但由于系统较新,且网上教程多为老版本,新教程也有些小错误,特记下配置过程
- 预配置环境:openCV 3.2.0(cuda加速+python3环境+contrib扩展包)
openCV基础环境配置
- 对源的更新
1 2
| sudo apt-get uupdate sudo apt-get update
|
- 环境搭建
1
| sudo apt-get install build-essential cmake cmake-qt-gui pkg-config git
|
- 图像格式相关
1
| sudo apt-get install libpng-dev libjpeg-dev libtiff5-dev
|
- GUI相关
1
| sudo apt-get install libgtk2.0-dev
|
- 视频格式相关
1
| sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
|
- C++多线程相关
1
| sudo apt-get install libtbb2 libtbb-dev
|
- 摄像头相关
1
| sudo apt-get install libdc1394-22-dev
|
- openGL相关
1
| sudo apt-get install libgtkglext1 libgtkglext1-dev
|
注意:针对可选安装libjasper-dev包,该包是针对图像格式JPEG-2000的开发包。在最新的ubuntu17.04中,已放弃对该包的安装支持,如涉及到对该格式的处理,可以到https://packages.ubuntu.com/trusty/libjasper-dev
ubuntu的官方包管理网址获取,该包需要依赖包libjasper1,请一并下载。但两包无法直接通过ubuntu软件安装器安装,可以通过dpkg命令安装:
1
| sudo dpkg -i <package.deb>
|
openCV下载与本地编译
这次安装版本为3.2.0,需要下载opencv-3.2.0与opencv_contrib-3.2.0(后者会在cmake配置的时候用到),这是因为opencv3以后SIFT和SURF之类的属性被移到了contrib中。
下载采用wget命令:
1 2 3
| wget https://github.com/opencv/opencv/archive/3.2.0.zip -O opencv-3.2.0.zip wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip -O opencv_contrib-3.2.0.zip
|
分别解压文件:
1 2
| unzip opencv-3.2.0.zip unzip opencv_contrib-3.2.0.zip
|
获得opencv-3.2.0与opencv_contrib-3.2.0两个文件夹,打开opencv3.2.0文件夹
新建build文件夹,作为编译文件路径:
1 2
| cd opencv-3.2.0 mkdir build
|
打开cmake图形界面:
- 打开cmake图形界面,源码位置设置为opencv-3.2.0文件夹,binaries(二进制文件)位置设为新建build文件夹位置;
- 在search框输入opengl,勾选上(为了避免opengl版本问题导致的不兼容,这里最好选择使用opencv自带的openGL;
- 在search框输入opencv_extra_modules_path,在后面value值处填上两个包中另一个opencv_contrib-3.2.0下modules的路径;
- 然后点击configure,cmake会自动进行参数检测,并下载一些相关包;
注意:可能遇到ippicv_linux_20151201.tgz文件下载失败的问题,(墙的原因),解决办法为百度搜索下载(例如CSDN下载http://download.csdn.net/download/lx928525166/9479919,并cp命令复制到/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e文件夹下。(最后一个文件夹名可能不一样)
- 最后cmake中点击Generate,生成编译文件;
- 然后cd命令进build文件夹
1 2
| sudo make -j16 sudo make install
|
- 进度到100%表示安装成功。
python环境的绑定
我们已经成功安装openCV,且在配置时openCV会自动与python进行绑定,我们可以通过以下方式进行测试:
重启
sudo reboot
测试,在python中,若无报错,即可认为绑定成功。
我们也可以通过安装预编译的第三方所提供的openCV
1
| pip install opencv-python opencv-contrib-python
|