0x01 安装

# 相关依赖
apt-get install cmake
apt-get install build-essential libgtk2.0-dev libavcodec-dev

# 相关工具,为了方便程序编译,使用pkg-config
apt-get install pkg-config

# 开始安装
tar zxvf opencv-4.2.0.tar.gz
cd opencv-4.2.0
mkdir build
cd build

# 配置cmake参数:
#   DCMAKE_BUILD_TYPE=Release       - 编译发布版
#   DOPENCV_GENERATE_PKGCONFIG=ON   - 输出PKGCONFIG配置文件
#       OpenCV4以上的版本默认都不输出该文件
#       不开启的话pkg-config就没有相关的配置文件可以识别到opencv依赖目录
#       pkg-config 的具体用法在编译测试步骤
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..

# 使用 -j 参数开启多线程同时编译提高编译速度
#       我使用的机器为8核心, 但使用 -j8 的参数编译时出现错误
#       所以改用了 -j4
#       造成原因可能是当某个编译依赖于其它模块时,
#       该模块所在线程还未完成该模块的编译
#       所以,当使用多线程出错时, 可以尝试不使用-j参数重新编译
#       该问题同时也适用于其它项目的源码编译过程
make -j4
sudo make install

0x02 配置

# 检查共享库是否存在opencv
# 查看下opencv的共享库路径是在 /usr/local/lib 还是在 /usr/local/lib64 里面
ldconfig -p | grep opencv

# 配置
echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf

# 刷新当前bash的依赖库
sudo ldconfig

# 若pkgconfig配置文件不存在于/usr/lib/pkgconfig则复制到该目录
sudo cp -f /usr/local/lib64/pkgconfig/opencv.pc  /usr/lib/pkgconfig/

0x03 安装结果测试

# 测试pkg管理器是否能正确输出
pkg-config --libs opencv
pkg-config --cflags opencv
pkg-config --modversion opencv

0x04 编译测试

1、测试代码

首先准备一张图片到程序编译输出目录命名为test.jpg

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
    Mat mat = imread("./test.jpg");     // 读入图片测试

    /*
     * 显示读入的图片
     * 如果纯控制台编码, 没有显示器的话
     * 可以注释掉这下面两句,
     * 只要编译成功, 就可证明依赖库安装完成了,
     * 展示图片只是一颗定心丸
    **/
    imshow("Window name", mat);
    waitKey(0);

    return 0;
}

2、编译测试

# 编译测试
# 若编译失败,尝试将 `pkg-config --libs --cflags opencv` 放到编译指令最后
g++ file.cpp -o test.out `pkg-config --libs --cflags opencv`

0x05 卸载

cd opencv-3.4.0/build/
sudo make uninstall



0x06 相关资源下载

好了

现在你可以开始你的OpenCV学习之路了

下面提供我的OpenCV的对应版本的官方源码和官方的开发帮助文档

源码

[1] Github - 4.2.0.tar.gz
[2] Github - 4.2.0.zip
[3] 百度网盘 提取码 dd8z
[4] CSDN下载 包含开发文档

开发帮助文档

[1] 在线阅览 - 官网
[2] 离线版 - 官网下载 4.2.0.zip
[3] 离线版 - 官网下载 4.2.0.tar.xz
[4] 离线版 - 百度网盘 提取码 rrpn

参考链接:

linux安装opencv - 简书
Linux环境下OpenCV的安装与配置 - CSDN