OpenCV 安装(C++)

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,包含了数百个计算机视觉算法,广泛应用于图像处理、视频分析、物体检测、人脸识别等领域。

C++ 是 OpenCV 的原始开发语言,适合高性能应用。

在 C++ 项目中使用 OpenCV 之前,首先需要安装 OpenCV 库。

下载 OpenCV

访问 OpenCV 的官方下载页面:https://opencv.org/releases/

选择适合你操作系统的版本(例如 Windows、Linux、macOS)并下载,例如OpenCV 4.x 的 Windows 预编译包。 。

Windows 安装 OpenCV

  • 解压下载的 OpenCV 文件:解压到一个目录,例如 C:\opencv。

  • 设置环境变量:将 OpenCV 的 bin 目录 C:\opencv\build\x64\vc15\bin(根据你的 Visual Studio 版本选择 vc14 或 vc15) 添加到系统的 PATH 环境变量中。

  • 配置开发环境:如果使用 Visual Studio,需要在项目中配置 OpenCV 的头文件路径和库文件路径。右键点击"此电脑" -> "属性" -> "高级系统设置" -> "环境变量" -> 编辑Path,添加上述路径。

配置 Visual Studio

1、打开 Visual Studio,创建一个 C++ 项目。

2、配置包含目录

右键项目 -> "属性" -> "VC++目录" -> "包含目录",添加:

C:\opencv\build\include

3、配置库目录

右键项目 -> "属性" -> "VC++目录" -> "库目录",添加:

C:\opencv\build\x64\vc15\lib

4、配置链接器

右键项目 -> "属性" -> "链接器" -> "输入" -> "附加依赖项",添加:

opencv_world4xx.lib

4xx 是 OpenCV 版本号,例如 opencv_world450.lib


源码编译安装

安装前的准备

在安装 OpenCV 之前,确保你的系统已经安装了以下工具:

  • CMake:用于生成构建文件。
  • C++ 编译器:如 GCC(Linux/macOS)或 MSVC(Windows)。
  • Git:用于从 GitHub 克隆 OpenCV 源码。

下载 OpenCV 源码

我们可以从 OpenCV 的 GitHub 仓库 下载源码,或者直接从 OpenCV 的 官方网站 下载预编译的版本。

使用 Git 克隆源码:

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git  # 可选,包含额外的模块

使用 CMake 配置 OpenCV

1、创建一个构建目录并进入:

mkdir build
cd build

2、使用 CMake 生成构建文件:

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 ..

3、编译并安装 OpenCV:

make -j4  # 使用 4 个线程进行编译
sudo make install

4、配置环境变量(可选)

在 Linux 或 macOS 上,你可能需要将 OpenCV 的库路径添加到环境变量中:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

在 Windows 上,你可以通过系统属性 -> 高级系统设置 -> 环境变量来添加 OpenCV 的库路径。


在 C++ 项目中使用 OpenCV

安装完成后,你可以在 C++ 项目中使用 OpenCV。

以下是一个简单的示例程序,展示如何使用 OpenCV 加载并显示一张图片。

1、创建 C++ 项目

创建一个新的 C++ 源文件,例如 main.cpp

编写以下代码:

实例

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

int main() {
    // 读取图片
    cv::Mat image = cv::imread("example.jpg");

    // 检查图片是否成功加载
    if (image.empty()) {
        std::cout << "无法加载图片!" << std::endl;
        return -1;
    }

    // 显示图片
    cv::imshow("Display Image", image);

    // 等待按键
    cv::waitKey(0);

    return 0;
}

2、编译和运行

使用以下命令编译代码:

g++ main.cpp -o main `pkg-config --cflags --libs opencv4`

3、运行

运行生成的可执行文件:

./main

如果一切正常,你应该能够看到图片在窗口中显示出来。


常见问题及解决方案

1、找不到 OpenCV 库

如果在编译时遇到找不到 OpenCV 库的错误,请确保你已经正确安装了 OpenCV,并且环境变量配置正确。

我们可以使用 pkg-config 来检查 OpenCV 的安装路径:

pkg-config --cflags --libs opencv4

2、图片无法加载

如果图片无法加载,请检查图片路径是否正确,以及图片文件是否存在。你可以使用绝对路径来确保路径正确。

3、窗口无法显示

如果窗口无法显示,请确保你的系统支持图形界面,并且 OpenCV 的 GUI 模块已正确安装。