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

长期稳定使用。

相关推荐
qq_370773092 小时前
python实现人脸识别
开发语言·python·opencv
格林威4 小时前
Baumer相机玻璃纤维布经纬密度测量:用于复合材料工艺控制的 6 个核心方法,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·视觉检测·工业相机·智能相机·堡盟相机
saoys4 小时前
Opencv 学习笔记:基于图像变换 + 分水岭的图像分割(背景去除入门)
笔记·opencv·学习
格林威4 小时前
Baumer相机汽车雨刮胶条磨损检测:实现寿命预测的 6 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·汽车·视觉检测·工业相机·堡盟相机
Cccp.1231 天前
【OpenCV】(十八)答题卡识别判卷与文档ocr扫描识别
人工智能·opencv·ocr
Cccp.1231 天前
【OpenCV】(十七)目标追踪
人工智能·opencv·计算机视觉
Cccp.1231 天前
【OpenCV】(十五)图像的分割与修复
人工智能·opencv·计算机视觉
saoys1 天前
Opencv 学习笔记:指定路径上亮暗像素交界点检测(鼠标交互版)
笔记·opencv·学习
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章23-SIFT关键点
图像处理·人工智能·opencv·算法·计算机视觉