OpenCV 配置方法
D:\opencv\build\x64\vc16\bin (VS2019/2022 对应 vc16/vc17) D:\opencv\build\bin
“vc16” 对应 Visual Studio 2019,vc17 对应 2022,按实际编译器版本选择。
(添加后需重启计算机或刷新环境变量)
3. **配置 Visual Studio 项目**
创建一个新 C++ 控制台项目,然后打开项目属性(右键项目 → 属性):
- **包含目录**(C/C++ → 常规 → 附加包含目录)添加:
```
D:\opencv\build\include
D:\opencv\build\include\opencv2
```
- **库目录**(链接器 → 常规 → 附加库目录)添加:
```
D:\opencv\build\x64\vc16\lib
```
- **附加依赖项**(链接器 → 输入 → 附加依赖项)添加 lib 文件名。
Debug 模式使用 `opencv_world490d.lib`,Release 使用 `opencv_world490.lib`(版本号 4.9.0 示例,需与你的版本一致)。带 `d` 的是 Debug 库。
4. **测试代码**
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
cv::Mat img = cv::imread("test.jpg");
if (img.empty()) {
std::cout << "Could not read image" << std::endl;
return -1;
}
cv::imshow("Display window", img);
cv::waitKey(0);
return 0;
}
确保项目配置的位数(x64)与库匹配,运行即可显示图片。
使用 CMake 从源码编译
当你需要定制模块(如 OpenCV Contrib)或使用非默认编译器时,推荐这种方式。
-
安装必需工具
- CMake (版本 ≥ 3.15)
- Visual Studio(含 C++ 桌面开发工作负载)
- (可选)OpenCV Contrib 源码,从 GitHub 下载与 OpenCV 主库同版本号的 contrib 仓库。
-
生成 Visual Studio 工程
解压主库源码到D:\opencv_source,Contrib 源码到D:\opencv_contrib。
打开 CMake GUI:- “Where is the source code” 选择
D:\opencv_source - “Where to build the binaries” 选择
D:\opencv_build - 点击
Configure,选择 Visual Studio 生成器(例如 Visual Studio 17 2022),平台选择 x64。 - 等待初次配置完成,会出现大量红色条目。
关键选项设置:OPENCV_EXTRA_MODULES_PATH设置为D:\opencv_contrib/modules(如需 Contrib)BUILD_opencv_world打勾,生成单一的 opencv_world 库文件,方便链接WITH_OPENMP、WITH_TBB等可根据需要启用,加速内部并行化OPENCV_ENABLE_NONFREE打勾(启用专利算法,如SIFT)
- 再次点击
Configure直至没有红色报错,然后点击Generate生成 VS 解决方案。
- “Where is the source code” 选择
-
编译与安装
用 Visual Studio 打开D:\opencv_build\OpenCV.sln,确保配置为 Release / x64,右键ALL_BUILD生成,然后右键INSTALL生成,库文件会被安装到D:\opencv_build\install中。
后续配置 Visual Studio 项目的方法与预编译库类似,include、lib、bin 分别对应 install 目录下的include、x64/vc17/lib、x64/vc17/bin。
Linux 环境配置(C++)
多数 Linux 发行版可以直接用包管理器安装,但版本可能较旧。推荐从源码构建以获得最新版。
通过包管理器安装(快速但不一定最新)
Ubuntu/Debian:
sudo apt update
sudo apt install libopencv-dev
安装后 pkg-config 可用:
pkg-config --modversion opencv4
编译命令示例:
g++ main.cpp -o main `pkg-config --cflags --libs opencv4`
注意:若安装的是 OpenCV3,包名可能是 libopencv-dev 且 pkg-config 为 opencv。
从源码编译(推荐)
-
安装依赖
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-dev -
下载源码
cd ~ git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git # 可选切换到你想要的版本标签,例如
git checkout 4.9.0。 -
配置 CMake
cd ~/opencv mkdir -p build && cd build cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D OPENCV_ENABLE_NONFREE=ON \ -D BUILD_EXAMPLES=OFF ..如果需要 Python 绑定,可加上
-D BUILD_opencv_python3=ON(默认开启)。 -
编译安装
make -j$(nproc) sudo make install sudo ldconfig -
验证安装 编写 test.cpp,使用以下命令编译:
g++ test.cpp -o test `pkg-config --cflags --libs opencv4` ./test
macOS 环境配置(C++)
macOS 通常使用 Homebrew 或从源码编译。
Homebrew 安装
brew install opencv
安装后使用 pkg-config 链接:
g++ test.cpp -o test `pkg-config --cflags --libs opencv4`
从源码编译(与 Linux 类似)
前提:安装 Xcode Command Line Tools 和 CMake。
xcode-select --install
brew install cmake
之后步骤与 Linux 基本一致,GTK 可替换为 Qt 依赖或使用原生 AVI 框架。配置时建议启用 -DWITH_QT=OFF 并保证 -DWITH_COCOA=ON 来使用 macOS 原生窗口系统。
Python 环境配置
Python 开发者配置 OpenCV 极简,推荐在虚拟环境中操作。
标准版 cv2 安装
pip install opencv-python
如果要使用 CV2 的扩展 GUI 功能(如 cv2.imshow 需要窗口系统),部分情况需要额外安装:
pip install opencv-python-headless # 无 GUI 后端,仅适合服务器
通常直接安装 opencv-python 即可包含完整功能。
带 Contrib 的安装
pip install opencv-contrib-python
此包包含 opencv 主库和 contrib 额外模块,且已编译好,可直接使用 SIFT 等算法。
注意:opencv-contrib-python 与 opencv-python 冲突,如需 contrib 只需安装前者。
验证安装
import cv2
print(cv2.__version__)
img = cv2.imread("test.jpg")
cv2.imshow("window", img)
cv2.waitKey(0)
cv2.destroyAllWindows()