VS2022 编译 OpenCV 4.7.0

🚀 VS2022 编译 OpenCV 4.7.0 超详细教程(Windows)

适用环境:Windows 10/11 + Visual Studio 2022 + x64

适合方向:相机标定 / 鱼眼校正 / IPM / 自动驾驶视觉开发


其他 OpenCV 应该也可以参考此教程

一、环境准备

1️⃣ 安装 Visual Studio 2022

安装时勾选:

  • ✔ 使用 C++ 的桌面开发
  • ✔ MSVC v143 工具集
  • ✔ Windows 10/11 SDK

安装完成后测试:

bash 复制代码
cl

2️⃣ 安装 CMake

下载地址:

https://cmake.org/download/

验证版本:

bash 复制代码
cmake --version

建议 3.24 以上版本。


3️⃣ Git(可选)

bash 复制代码
git --version

二、下载 OpenCV 4.7.0

官网下载(按需选择:二选一):

  • opencv-4.7.0.zip
  • opencv_contrib-4.7.0.zip(可选)

解压目录示例:

复制代码
D:\opencv\opencv-4.7.0
D:\opencv\opencv_contrib-4.7.0(可选)

三、创建 build 目录

bash 复制代码
cd D:\opencv\opencv-4.7.0
mkdir build
cd build

四、CMake 生成 VS2022 工程

打开:

x64 Native Tools Command Prompt for VS 2022

执行:

bash 复制代码
cmake .. ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-DCMAKE_INSTALL_PREFIX=D:/opencv/opencv-4.7.0/install ^
-DBUILD_opencv_world=ON ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DBUILD_EXAMPLES=OFF

或简化命令:

bash 复制代码
cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=D:/opencv/opencv-4.7.0/instal

📌 参数说明

参数 说明
Visual Studio 17 2022 指定 VS2022
-A x64 指定 64 位
BUILD_opencv_world=ON 生成单一库
关闭 TEST/PERF/EXAMPLES 加快编译
INSTALL_PREFIX 指定安装目录

如果使用 contrib 模块

bash 复制代码
cmake .. ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-DOPENCV_EXTRA_MODULES_PATH=D:/opencv/opencv_contrib-4.7.0/modules ^
-DCMAKE_INSTALL_PREFIX=D:/env/opencv/opencv-4.7.0-source/opencv-4.7.0/install ^
-DBUILD_opencv_world=ON ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DBUILD_EXAMPLES=OFF

五、开始编译

bash 复制代码
cmake --build . --config Release --parallel

六、安装 OpenCV

bash 复制代码
cmake --build . --config Release --target INSTALL

安装目录:

复制代码
D:\opencv\opencv-4.7.0\install

七、添加环境变量

bash 复制代码
D:\env\opencv\opencv-4.7.0-source\opencv-4.7.0\install\bin

八、生成结果说明

目录结构:

复制代码
install
 ├── include
 ├── x64
 │   └── vc17
 │       ├── lib
 │       └── bin

关键文件:

复制代码
opencv_world470.lib
opencv_world470.dll

九、常见问题

❌ OpenCV_FOUND=FALSE

原因:

  • OpenCV_DIR 指向错误
  • 指向源码 build 目录
  • VS 版本不匹配

正确写法:

bash 复制代码
-DOpenCV_DIR=D:/opencv/opencv-4.7.0/install

❌ VS 版本不匹配

VS版本 Toolset 目录
VS2022 vc17 x64/vc17
VS2019 vc16 x64/vc16

必须一致。


十、推荐稳定参数(视觉开发推荐)

bash 复制代码
cmake .. ^
-G "Visual Studio 17 2022" ^
-A x64 ^
-DOPENCV_ENABLE_NONFREE=ON ^
-DBUILD_opencv_world=ON ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DBUILD_EXAMPLES=OFF ^
-DCMAKE_INSTALL_PREFIX=D:/opencv/opencv-4.7.0/install

适用于:

  • 相机标定
  • 鱼眼矫正
  • IPM
  • 自动驾驶视觉算法

🎯 建议目录结构

复制代码
D:\opencv\
    ├── opencv-4.7.0
    ├── build
    └── install

以后所有工程统一:

bash 复制代码
-DOpenCV_DIR=D:/opencv/install

长期稳定使用。

相关推荐
韭菜钟2 天前
利用OpenCV进行3d相机手眼标定(眼在手上/眼在手外)
opencv·3d
weigangwin3 天前
采用 mem0 之前,先决定 Agent 到底允许记住什么
人工智能·opencv·ai·llm·memory·ai agent·mem0
yqd6663 天前
OpenCV
人工智能·opencv·计算机视觉
在水一缸3 天前
OpenCV 5 深度解析:计算机视觉领域的“五年之变”与跨越式升级
人工智能·opencv·计算机视觉·开源项目·技术升级·opencv 5
Java小白笔记3 天前
Codex 桌面应用设置功能完全指南
人工智能·opencv·目标检测·机器学习·计算机视觉·数据挖掘·语音识别
sali-tec5 天前
C# 基于OpenCv的视觉工作流-章93-YOLO手部姿态
图像处理·人工智能·数码相机·opencv·yolo·计算机视觉
hhzz6 天前
基于监控视频的水位尺自动识别技术方案与实现
python·opencv·yolo·图像识别·cv
林中青木6 天前
OpenCV 5.0 使用方法及注意事项
人工智能·opencv·计算机视觉
漂亮的摩托6 天前
基于OpenCV与SVM的车牌识别系统实现:定位、分割与分类全流程解析
opencv·支持向量机·分类
江华森6 天前
OpenCV 进阶应用实战
opencv