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 <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 模块已正确安装。
点我分享笔记