OPENCV入门第一步——安装编译opencv(以及opencv_contrib)

OPENCV入门第一步——ubuntu安装编译opencv(以及opencv_contrib)

  • 本文使用ubuntu18.04系统,成功编译安装了opencv-4.4.0以及opencv_contrib-4.4.0
  • 什么是opencv以及opencv_contrib
  • ~~小提示~~
  • 编译安装opencv
    • 使用命令行编译安装opencv
      • 1. 安装依赖
      • 2. 下载opencv源码
      • 3. 安装opencv
      • 4. 配置环境
  • 编译安装opencv以及opencv_contrib(使用CMake-gui)

本文使用ubuntu18.04系统,成功编译安装了opencv-4.4.0以及opencv_contrib-4.4.0

什么是opencv以及opencv_contrib

OpenCV全称Open Source Computer Vision Library,是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。
通常所说的OpenCV是指opencv的核心库,其中包括:

  1. core模块:实现核心数据结构与基本运算,包括绘图、数组等相关函数。
  2. highgui模块:实现视频、图像的读取、存储以及显示等接口。
  3. imgproc模块:实现基本的图像处理方法,包括滤波、几何变换、平滑处理、边缘检测、目标检测、阈值分割和对象跟踪等功能。
  4. core模块:实现核心数据结构与基本运算,包括绘图、数组等相关函数。
  5. highgui模块:实现视频、图像的读取、存储以及显示等接口。
  6. imgproc模块:实现基本的图像处理方法,包括滤波、几何变换、平滑处理、边缘检测、目标检测、阈值分割和对象跟踪等功能。
  7. stitching模块:实现图像拼接。
  8. features2d模块:提取图像特征以及进行特征匹配。
  9. photo模块:图像去噪和图像修复。
  10. dnn模块:深度学习模块,主要包括构建神经网络、加载序列化网络模型等。
  11. video模块:视频分析模块,主要包含运动估计、背景分离、对象跟踪等内容

相应的,opencv_contrib称为opencv贡献库,通常opencv最新实现的功能会包含在该库中,相比于opencv核心库,opencv_contrib拥有更加完整的关于计算机视觉的算法应用,其中的各个模块之间没有相互依赖关系可以有选择性的进行编译。opencv_contrib库中的函数包括:

  1. aruco:检测二进制marker的库。
  2. bgsegm:改进的背景-前景分割算法。
  3. ccalib:用于 3D 重建的自定义校准模式。
  4. cnn_3dobj:3D目标识别和姿态估计API。
  5. cuda:利用GPU处理图像,结合nvidia的CUDA编程,包含以下部分。
  6. cvv:计算机视觉程序交互式可视化调试GUI。
  7. datasets:处理不同数据集的框架,用于处理不同数据集的类:加载数据、评估不同算法、包含基准测试等。
  8. dnn_objdetect:用于目标检测的DNN。
  9. dnn_superres:用于超分辨率的DNN,包含通过卷积神经网络放大图像的功能。
  10. face:人脸识别。
  11. fuzzy:基于模糊数学的图像处理。
  12. plot:用于Mat 数据的绘图函数。
  13. tracking:追踪API,该API是一个独特的接口,可用于插入多种算法并对其进行比较。
  14. videostab——包含一组可用于解决视频稳定问题的函数和类。

  15. (上述的列举并不完全。其中的tracking正是笔者遇到的一个大坑

小提示

安装前需要搞清楚需求,是否需要使用到opencv_contrib库中的函数(尤其针对c++进行编程的情况)。若完全不需要,则可以参考下一部分编译安装opencv进行;若需要,则跳过下一部分,可以参考编译安装opencv以及opencv_contrib进行。如果无法进行判断可以直接参考编译安装opencv以及opencv_contrib
笔者曾因找不到opencv2/tracking.cpp的error而苦苦探索数日[doge]

编译安装opencv

使用命令行编译安装opencv

1. 安装依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev
libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-
dev libdc1394-22-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg

2. 下载opencv源码

下载链接:opencv源码下载.
选择需要的版本下载,并解压opencv

3. 安装opencv

cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install

这里默认安装到了/usr/local文件夹下。

4. 配置环境

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

编译安装opencv以及opencv_contrib(使用CMake-gui)

操作与安装opencv类似,使用CMake-gui比较方便直观。具体操作参考博客.很详细,感谢作者wuyu1125.
针对上述博客中提到的~.i: No such file or directory的问题,这里给出另一篇参考 解决方案.
OPENCV入门第一步——安装编译opencv(以及opencv_contrib)_第1张图片
注意: 下载后可能出现的结果如下图所示:
OPENCV入门第一步——安装编译opencv(以及opencv_contrib)_第2张图片出现找不到.download文件夹的情况。这时,需要打开ubuntu文件管理系统中的
显示隐藏文件选项,如图
OPENCV入门第一步——安装编译opencv(以及opencv_contrib)_第3张图片

你可能感兴趣的:(opencv,计算机视觉,人工智能)