Ubuntu 16.04 源码安装 opencv 3.2.0
Posted xietx1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 16.04 源码安装 opencv 3.2.0相关的知识,希望对你有一定的参考价值。
一、需要的包
- GCC 4.4.x or later
- CMake 2.8.7 or higher
- Git
- GTK+2.x or higher, including headers (libgtk2.0-dev)
- pkg-config
- Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
- ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
- [optional] libtbb2 libtbb-dev
- [optional] libdc1394 2.x
- [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
- [optional] CUDA Toolkit 6.5 or higher
The packages can be installed using a terminal and the following commands or by using Synaptic Manager:
可以通过如下命令安装这些包,最好全都(包括optional)装上去
[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
下载源码并安装
- 首先下载source code:
https://codeload.github.com/opencv/opencv/zip/3.2.0 - 下载好之后解压。
例如我下载好后得到的源码文件压缩包是opencv-3.2.0.zip
,放到自己想要的目录里面然后解压(建议解压前退出root权限):unzip opencv-3.2.0.zip
- 进入解压后的目录:
cd opencv-3.2.0
- 然后创建一个
build
目录:mkdir build
- 进入
build
目录:cd build
- 请先查看步骤7,输入命令配置cmake:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
CMAKE_INSTALL_PREFIX
表示opencv
库安装的位置。别少了最后两个点,两个点表示当前目录的父目录,是源文件所在的地方 - 执行上面的命令很可能会卡在下载
ippicv_linux_20151201
那个地方,直接Ctrl-C
终止程序。然后直接在网上下载后,放到目录opencv-3.2.0/3rdparty/ippicv/downloads/Linux-808b791a6eac9ed78d32a7666804320e
中,如果该目录不存在就创建之,然后重新执行步骤6的命令。下载地址(http://download.csdn.net/download/chu_ying/9432287) - 现在可以编译源文件了,输入命令:
make -j7
,其中-j7
表示用7个线程,速度快点。 - 安装,输入命令:
sudo make install
- 输入命令
pkg-config --cflags --libs opencv
,显示的都是我们可引用的 OpenCV 静态库路径。
如果一切顺利,那就安装成功了,下面来试试。
测试
文件夹结构如下:
.
└── test
├── a.jpg
├── display_image
└── display_image.cpp
1 directory, 3 files
源码test.cpp:
#include <opencv2/core/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
// 读取图片
Mat img = imread(argv[1]);
// 创建一个窗口
namedWindow("display window", WINDOW_AUTOSIZE);
// 在窗口里显示该图片
imshow("display window", img);
// 等待键盘输入
waitKey(0);
return 0;
编译:
g++ test.cpp -o test `pkg-config --cflags --libs opencv`
执行:
./test ./a.jpg
结果如下:
以上是关于Ubuntu 16.04 源码安装 opencv 3.2.0的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu16.04 python opencv2.4.9安装
Ubuntu16.04LTS上用cmake编译安装OpenCV3
[环境配置]Ubuntu 16.04 源码编译安装OpenCV-3.2.0+OpenCV_contrib-3.2.0及产生的问题