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

长期稳定使用。

相关推荐
泡干脆面就番茄12 小时前
03_LBPH人脸识别算法原理与实战
python·opencv
大熊背17 小时前
一种用于随机值脉冲噪声的检测统计量
图像处理·opencv·计算机视觉
欧特克_Glodon18 小时前
OpenCV计算机视觉开发入门与实践<三十八>:图像添加数字水印
c++·人工智能·opencv·计算机视觉
欧特克_Glodon18 小时前
OpenCV计算机视觉开发入门与实践<四十>:自动识别物体数量
c++·人工智能·opencv·计算机视觉
泡干脆面就番茄19 小时前
02_摄像头实时人脸检测与微笑识别
python·opencv
不爱学英文的码字机器20 小时前
让 Live2D 角色真正开始对话:Open-LLM-VTuber 从本地部署到远程访问
服务器·opencv·微信·电脑
欧特克_Glodon2 天前
OpenCV计算机视觉开发入门与实践<三十七>:OpenCV中的机器学习
c++·opencv·机器学习·计算机视觉
欧特克_Glodon2 天前
OpenCV计算机视觉开发入门与实践<三十六>:机器学习概述
c++·opencv·机器学习·计算机视觉
词却2 天前
OpenCV学习:人脸识别
人工智能·opencv·学习
凌晨1682 天前
OpenCV(十一)人脸识别三大算法LBPH、EigenFace、FisherFace
人工智能·opencv·算法