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

长期稳定使用。

相关推荐
ahccqw2 天前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
架构师伯子明2 天前
ffmpeg学习4:opencv在音视频领域常用指令
opencv·学习·ffmpeg
LongRunning4 天前
【Linux】RK3568-OpenCV+YOLO(八)
linux·opencv·yolo
会飞锦鲤6 天前
基于 SVM + HOG 的铸造缺陷检测系统
python·opencv·机器学习·计算机视觉·缺陷检测·图像分类·svm
小豆庄10 天前
本地视频打码:多模型检测、帧间追踪与18种模糊的选型
opencv·目标检测·ai·自然语言处理·音视频·视频
爱吃火鸡面呀10 天前
OpenCV 颜色识别实战:从 HSV 原理到摄像头实时检测
人工智能·opencv·计算机视觉
ahccqw10 天前
OpenCV 缩放 与 位移
人工智能·opencv·计算机视觉
AI的探索之旅11 天前
OpenCV Day40 —— K-means 聚类与 EM 高斯混合
opencv·kmeans·聚类
AI的探索之旅11 天前
OpenCV Day39 —— 无缝克隆 seamless cloning(cloning_demo / cloning_gui)
人工智能·opencv
小豆庄11 天前
会议录屏忘打码后的技术复盘:本地自动化隐私脱敏方案
运维·opencv·目标检测·自动化·视频·纹理贴图