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

长期稳定使用。

相关推荐
我材不敲代码8 小时前
OpenCV 光流估计实战:Lucas-Kanade 算法实现运动目标跟踪
opencv·算法·目标跟踪
Sagittarius_A*1 天前
传统图像分割:阈值 / 区域生长 / 分水岭 / 图割全解析【计算机视觉】
图像处理·人工智能·python·opencv·计算机视觉·图像分割
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章44-直线卡尺
图像处理·人工智能·opencv·算法·计算机视觉
入门工作者1 天前
opencv 轮廓内点集高速获取
人工智能·opencv·计算机视觉
我材不敲代码1 天前
OpenCV实现图像拼接融合——SIFT 特征点实现全景图拼接
人工智能·opencv·计算机视觉
格林威1 天前
工业相机图像采集处理:从 RAW 数据到 AI 可读图像,堡盟相机 C#实战代码深度解析
c++·人工智能·数码相机·opencv·算法·计算机视觉·c#
sali-tec2 天前
C# 基于OpenCv的视觉工作流-章43-轮廓匹配
图像处理·人工智能·opencv·算法·计算机视觉
Fleshy数模2 天前
玩转OpenCV:从角点检测到图像拼接的实战之旅
人工智能·opencv·计算机视觉
Daydreamer .2 天前
VisionMaster使用OpenCV发现的问题
opencv·c#·visionmaster
不懒不懒2 天前
【OpenCV 计算机视觉实战:从图像分割到特征匹配,全流程实战教程】
人工智能·opencv·计算机视觉