Ubuntu20.04 安装opencv4

简介

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了丰富的函数和工具,用于处理图像和视频数据,以及实现计算机视觉算法。OpenCV支持多种编程语言,如C ++,Python和Java,并提供了跨平台的支持,包括Windows、Linux、Mac以及移动平台等。

主要功能包括:

  1. 图像处理:OpenCV提供了丰富的图像处理功能,如图像滤波、边缘检测、图像转换、几何变换、颜色空间转换等。

  2. 物体检测与识别:OpenCV提供了多种方法用于物体检测和识别,包括Haar级联分类器、HOG特征、深度学习模型等。

  3. 特征检测与描述:OpenCV提供了常用的特征检测和描述算法,如SIFT、SURF和ORB等,用于在图像中找到关键点,并计算其描述子。

  4. 视频分析:OpenCV可以读取和处理视频数据,包括视频流和视频文件,实现视频分析和处理任务,如运动检测、目标跟踪等。

  5. 机器学习:OpenCV集成了一些常用的机器学习算法,如支持向量机(SVM)、决策树、神经网络等,用于图像分类、目标识别等任务。

  6. 相机标定与几何重建:OpenCV提供了相机标定的方法,可以估计相机的内参和外参,用于几何重建和三维计算。

  7. 图像拼接与全景图像:OpenCV可以将多张图像进行拼接,生成全景图像,用于实现全景摄影。

  8. 图像与视频的I/O:OpenCV支持图像和视频的读取、保存和显示,可以方便地处理不同格式的图像和视频数据。

主要的函数

在C++中,OpenCV提供了许多重要的函数和类,用于图像处理、计算机视觉和机器学习任务。

  1. 图像和视频的读取和显示:
  • cv::imread():读取图像文件。
  • cv::imwrite():保存图像文件。
  • cv::imshow():显示图像或视频帧。
  • cv::waitKey():等待键盘输入。
  1. 图像处理和转换:
  • cv::cvtColor():进行颜色空间转换。
  • cv::resize():调整图像尺寸。
  • cv::filter2D():进行图像滤波。
  • cv::Canny():进行边缘检测。
  • cv::findContours():找到图像中的轮廓。
  • cv::warpPerspective():透视变换。
  1. 特征检测和描述:
  • cv::SIFTcv::SURFcv::ORB:使用SIFT、SURF或ORB算法进行特征检测和描述。
  • cv::drawKeypoints():在图像上绘制特征点。
  1. 目标检测和跟踪:
  • cv::CascadeClassifier:使用Haar级联分类器进行目标检测。
  • cv::HOGDescriptor:使用HOG特征和支持向量机进行目标检测。
  1. 机器学习和模型训练:
  • cv::ml::SVM:支持向量机分类器。
  • cv::ml::KNearest:最近邻分类器。
  • cv::ml::TrainData:用于训练机器学习模型的数据集。
  1. 相机标定和几何重建:
  • cv::calibrateCamera():相机标定。
  • cv::solvePnP():估计相机的位姿。
  • cv::triangulatePoints():三角化重建3D点。

具体可以参考OpenCV的官方文档和代码示例。

安装步骤

1.更新

sudo apt-get update

2.安装依赖

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
  • build-essential: 用于构建OpenCV和相关库所需的工具和编译器。
  • cmake: 用于配置和生成构建脚本。
  • git: 用于获取OpenCV的源代码。
  • libgtk2.0-dev: 用于支持OpenCV的图形用户界面功能。
  • pkg-config: 使用库的元数据进行配置。
  • libavcodec-dev: 用于支持音视频编码/解码。
  • libavformat-dev: 用于支持音视频文件的读写。
  • libswscale-dev: 用于进行图像缩放和颜色空间转换。
  • libtbb2libtbb-dev: 用于支持并行计算。
  • libjpeg-dev, libpng-dev, libtiff-dev: 用于支持各种图像格式。
  • libdc1394-22-dev: 用于支持IEEE 1394接口的摄像头。
  • 其他可能用于特定功能的依赖项,如视频编解码器、图像编解码器等。

3.下载载OpenCV源代码

cd ~
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.5.1

这将下载OpenCV的4.5.1版本,你也可以选择其他版本。(可选)

4.构建和安装OpenCV

mkdir build
cd build
cmake ..
make -j4
sudo make install

5.配置环境变量

vim ~/.bashrc添加如下:(有可能不是这个路径,按照具体路径来)

export CPLUS_INCLUDE_PATH="/usr/include/opencv4:$CPLUS_INCLUDE_PATH"
export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH"

保存退出运行source ~/.bashrc或者简单粗暴的重启

6.验证

完成安装后,你可以使用以下命令验证OpenCV是否安装成功:

pkg-config --modversion opencv4如果成功安装,你将会看到安装的OpenCV版本号。

或者代码验证

//opencv.cpp
#include <opencv2/core/version.hpp>
#include <iostream>

int main() {
    
    
    std::cout << "OpenCV version: " << CV_VERSION << std::endl;
    return 0;
}

编译

g++ opencv.cpp -o opencv

猜你喜欢

转载自blog.csdn.net/m0_58235748/article/details/132165883