OpenCV介绍及安装(linux)

📅 2026/7/10 14:06:32
OpenCV介绍及安装(linux)
目录OpenCV介绍OpenCV的主要功能包括:在Linux上安装OpenCV方法一从源代码编译安装1. 安装依赖库2. 下载OpenCV源代码3. 配置并编译4. 安装5. 配置环境变量方法二使用包管理器安装linux环境链接opencv库OpenCV介绍OpenCVOpen Source Computer Vision Library是一个开源的计算机视觉和机器学习库。其使用一系列c语言函数和少量c类实现它包含了大量的图像处理和计算机视觉算法这些算法被封装成了一系列易于使用的函数使得开发者能够快速地构建出复杂的视觉应用。OpenCV支持多种操作系统包括Linux、Windows和macOS并且提供了多种编程语言的接口如C、Python、Java等opencv可以运行在linux系统上且其轻量高效所以在嵌入式领域得到广泛的应用OpenCV的主要功能包括:图像处理提供了包括滤波、边缘检测、颜色空间转换等在内的多种图像处理方法。计算机视觉支持目标检测、跟踪、人脸识别、3D重建等高级视觉任务。机器学习提供了包括分类、聚类、回归分析等在内的一系列机器学习算法。视频处理支持视频捕获、分析、处理等功能。由于其功能强大且易于使用OpenCV在科研、工业、医疗等多个领域都有广泛的应用。在Linux上安装OpenCV在Linux上安装OpenCV通常有两种方式从源代码编译安装和使用包管理器安装。下面分别介绍这两种方法。方法一从源代码编译安装1. 安装依赖库在编译OpenCV之前需要安装一些必要的依赖库。这些库通常包括各种图像处理库、数学库、视频处理库等。具体的依赖库可能因Linux发行版的不同而有所差异。例如在Ubuntu上可以使用以下命令安装依赖库sudo apt-get update sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev sudo apt-get install libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev2. 下载OpenCV源代码从OpenCV的官方网站下载最新版本的源代码或者使用git克隆其代码仓库。3. 配置并编译在源代码目录下使用CMake配置编译选项并生成Makefile文件。然后使用make命令编译OpenCV。4. 安装编译完成后使用make install命令安装OpenCV。5. 配置环境变量为了使程序能够找到OpenCV的库文件和头文件需要将相应的路径添加到环境变量中。方法二使用包管理器安装在Ubuntu等基于Debian的Linux发行版上可以使用apt-get等包管理器直接安装OpenCV。例如sudo apt-get update sudo apt-get install libopencv-dev在Fedora等基于RPM的Linux发行版上可以使用dnf等包管理器安装OpenCV。例如sudo dnf install opencv-devel使用包管理器安装OpenCV通常更加简单快捷但可能无法安装到最新版本的OpenCV。如果需要最新版本的OpenCV或者需要自定义编译选项那么从源代码编译安装可能是一个更好的选择。查看opencv是否安装成功dpkg -s libopencv -devStatus: install ok install 代表安装成功Version: 4.6.0dfsg-13.1ubuntu1 opencv版本号在线帮助文档OpenCV - Open Computer Vision LibraryOpenCV provides a real-time optimized Computer Vision library, tools, and hardware. It also supports model execution for Machine Learning (ML) and Artificial Intelligence (AI).https://opencv.org/https://opencv.org/找到Documentation(在线帮助文档)找到自己对应的opencv版本-点击zip即可下载解压安装包-找到index.html-用浏览器打开可以看到opencv的各种API点击其中某个函数可以看到详细的参数说明函数使用方法下面是简单使用类该类提供C API用于从摄像机捕获视频或读取视频文件和图像序列。#include opencv2/core.hpp #include opencv2/videoio.hpp #include opencv2/highgui.hpp #include iostream #include stdio.h using namespace cv; using namespace std; int main(int, char**) { Mat frame; //--- INITIALIZE VIDEOCAPTURE 初始化视频捕获 VideoCapture cap; // open the default camera using default API 使用默认API打开默认相机 // cap.open(0); // OR advance usage: select any API backend 或提前使用: 选择任何API后端 int deviceID 0; // 0 open default camera 打开默认相机 int apiID cv::CAP_ANY; // 0 autodetect default API 自动检测默认API // open selected camera using selected API 使用选定的API打开选定的相机 cap.open(deviceID, apiID); // check if we succeeded 检查我们是否成功 if (!cap.isOpened()) { cerr ERROR! Unable to open camera\n; //错误 return -1; } //--- GRAB AND WRITE LOOP 抓取和写入循环 cout Start grabbing endl //开始抓取 Press any key to terminate endl; //按任意键终止 for (;;) { // wait for a new frame from camera and store it into frame // 等待来自相机的新帧并将其存储到 frame 中 cap.read(frame); // check if we succeeded 是否成功 if (frame.empty()) { cerr ERROR! blank frame grabbed\n; break; } // show live and wait for a key with timeout long enough to show images // 显示live并等待具有足够长的超时时间以显示图像的密钥 imshow(Live, frame); if (waitKey(5) 0) break; } // the camera will be deinitialized automatically in VideoCapture destructor // 摄像机将在VideoCapture析构函数中自动取消初始化 return 0; }注意比如使用videoCapture这个函数的时候要调用摄像头如果dev无法加载出video设备根目录下的 /dev是否有video0 video 1 video2如果没有按照以下设置linux环境链接opencv库-I指定OpenCV库的头文件路径-L指定OpenCV库的链接库路径-l指定需要链接的OpenCV库文件名-o指定文件输出名g opencv.cpp -o opencv -I/usr/include/opencv4 -L/usr/lib -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_videoio查看OpenCV库的头文件路径和链接库路径pkg-config命令用于管理库编译和链接参数的工具可以查询安装在系统上的库的信息包括库的名称、版本、头文件路径、链接库路径等。查询opencv版本库信息 opencv4是版本库名字根据实际情况有所不同pkg-config --modversion opencv4查询OpenCV库的头文件路径pkg-config --cflags opencv4 该命令会输出OpenCV库的头文件路径例如-I/usr/include/opencv4查询OpenCV库的链接库路径pkg-config --libs opencv4 该命令会输出OpenCV库的链接库路径例如-L/usr/lib -lopencv_core -lopencv_highgui