Windows下CMake编译安装OpenCV
Windows下CMake编译安装OpenCV
这是一个面向新手的在windows上运进opencv, helloword的教程. 在这里我们使用vs2019来编译opencv, 并运行一个helloworld来展示如何用CMake来编译运行.
0. 准备工作
需要的软件: VisualStudio 2019 社区版, CMake, 在系统变量下加入VS2019 MSBuild.exe 的路径.
1. 下载:
在 https://opencv.org/releases/ 下载source文件
2. 编译:
打开CMakeGUI 如图:在Browser Source处选择解压后的源码, 在Build处选择build结果存放的目录.

然后勾选需要build的内容, 最后点 Generate. 在这里我们选择 Visual Studio 16 2019, 设置 平台为 x64

生成过程中可能会遇到网络问题导至的下载错误(需要自行解决网络问题), 链接库错误等(可考虑去掉不需要的功能)
如:在这里我们选择了opencv_world, 并去掉了对于python3的支持.

3. 编译
生成结束后, build文件夹下内容应如下所示:

我们用vs打开OpenCV.sln, 选择ALL_BUILD后进行编译

如果成功会有如下的显示:

这时build文件夹下应该会有生成出的install文件夹(没有就选install再进行一次编译)内容如下.
能看到这个, 我们的opencv就编译好了.

最后需要在系统环境变量的PATH中加入opencv的bin路径: D:\Developments\opencv_build\install\x64\vc16\bin
4. 编译运行helloworld
我们同样使用cmake来编译运行helloworld
demo.cpp
1 #include "opencv2/opencv.hpp" 2 #include "opencv2/highgui/highgui.hpp" 3 4 using namespace cv; 5 6 int main(int argc, char** argv) { 7 //create a gui window: 8 namedWindow("Output",1); 9 //initialize a 120X350 matrix of black pixels: 10 Mat output = Mat::zeros( 120, 350, CV_8UC3 ); 11 //write text on the matrix: 12 cv::putText(output, "Hello World", cv::Point(10,output.rows-18), 13 cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(200,200,250), 1, 8); 14 //display the image: 15 imshow("Output", output); 16 //wait for the user to press any key: 17 waitKey(0); 18 return 0; 19 20 }
下面是一个基础的opencv. hello world级cmake文件. 先设置 OpenCV_DIR 到install文件夹, cmake的 find_package 会自动找到头文件和库的位置. 在编译完程序后, 需要link opencv_world这个库.
CMakeLists.txt
1 project("DEMO") 2 3 cmake_minimum_required(VERSION 3.21) 4 5 set(OpenCV_DIR "D:/Developments/opencv_build/install") # opencv安装位置 6 find_package(OpenCV REQUIRED) # 让CMake自动找OpenCV的头文件和库 7 8 include_directories(${OpenCV_INCLUDE_DIRS}) # 要包含的头文件 9 add_executable(demo demo.cpp) 10 target_link_libraries(demo "D:/Developments/opencv_build/install/x64/vc16/lib/opencv_world453d.lib" ) # 链接OpenCV库
新建build文件夹后, cmake ..

再 MSBuild.exe DEMO.sln 进行编译

最后, 生成好的文件会在 Debug 下

人工智障与神经病网络
https://www.cnblogs.com/JiangOil/
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)