本文介绍ubuntu16.04从源代码编译安装opencv的详细方法,以及测试(源代码编译安装后,支持c++和python)
[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
cd ~/
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd ~/opencv
# 查看并检出OpenCV最新发布版
git tag
# 切换到你要安装的版本分支
git checkout 4.1.0
cd ~/opencv_contrib
# 查看并检出opencv_contrib最新发布版
git tag
# 切换到与opencv相同的版本分支
git checkout 4.1.0
# 进入opencv目录
cd ../opencv
mkdir build
cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# 可选,如使用opencv_contrib, 采用如下命令生成编译配置文件
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
# 可选,构建示例程序和文档
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=1 -D BUILD_DOCS=1 ..
# runs 3 jobs in parallel,这里的并行线程由自己决定
make -j3
sudo make install
1、sudo gedit /etc/ld.so.conf.d/opencv.conf
# 打开后可能是空文件,在文件内容最后添加
/usr/local/lib
2、更新系统库
sudo ldconfig
3、配置bash
sudo gedit /etc/bash.bashrc
//在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
4、更新bash文件
source ~/.bashrc
sudo updatedb
cd到opencv/smaples/cpp/example_cmake目录下我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下按顺序执行,执行过程如下:
# 进入opencv的安装目录
1、cd opencv/samples/cpp/example_cmake
2、cmake .
3、make
4、./example_cmake
如果你的ubuntu有摄像头,就可以看到摄像头打开,并且左上角有一个“hello,opencv”。
该方式要求有pkgconfig文件,在4.0之后的opencv中不在自动生成该文件,解决可以参考参考链接
1、自己编写cpp文件
2、终端编译运行
# 将 "test.cpp"和之后的"test"修改为自己的文件名
g++ test.cpp `pkg-config opencv --libs --cflags opencv` -o test
python测试就很简单了,可以直接在终端打开python,import一下,查看是否有opencv模块
import cv2
a = cv2.imread("图像地址")
cv2.imwrite("*.png", a)
1、Installation in Linux, by opencv
2、4.0.0 does not produce pkgconfig file, by opencv
3、Pkg-config,by wikipedia.