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++目录"
-> "包含目录",添加:
3、配置库目录
右键项目 -> "属性" -> "VC++目录"
-> "库目录",添加:
C:\opencv\build\x64\vc15\lib
|
4、配置链接器
右键项目 -> "属性" -> "链接器"
-> "输入" -> "附加依赖项",添加:
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、创建一个构建目录并进入:
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、运行
运行生成的可执行文件:
如果一切正常,你应该能够看到图片在窗口中显示出来。
常见问题及解决方案
1、找不到 OpenCV 库
如果在编译时遇到找不到 OpenCV 库的错误,请确保你已经正确安装了 OpenCV,并且环境变量配置正确。
我们可以使用 pkg-config 来检查 OpenCV 的安装路径:
pkg-config
--cflags --libs opencv4 |
2、图片无法加载
如果图片无法加载,请检查图片路径是否正确,以及图片文件是否存在。你可以使用绝对路径来确保路径正确。
3、窗口无法显示
如果窗口无法显示,请确保你的系统支持图形界面,并且 OpenCV 的 GUI 模块已正确安装。
|