Visual Studio 2022 cmake配置opencv开发环境

1. 环境与说明

这里我用的是 widnows 10 64位,Visual Studio 用的 Visual Studio Community 2022 (社区版)

对于Android开发工程师来说,为什么要使用Visual Studio 呢 ?

因为在Visual Studio中开发调试OpenCV方便,可以开发调试好后,再移植到Android中。

2. 下载OpenCV版本

官方地址在这里 : 官方下载地址

不过官方下载地址可能会比较慢,可以下载我上传的资源 : OpenCV-4.8.0打包下载

这里我们下载widnows版本,对应着就是opencv-4.8.0-windows.exe

2.1 安装OpenCV

双击opencv-4.8.0-windows.exe ,将其安装到指定目录下,比如D:\Developer\opencv4.8.0

安装 opencv-4.8.0-windows.exe 其实本质上就是将其解压到一个目录下

3. 下载Visual Studio

这里下载 Visual Studio Community 2022 社区版就好了,免费的,下载地址 : Visual Studio下载

3.1 配置所需的环境

Visual Studio 需要安装配置所需的环境 ,具体在 工具 > 获取工具和功能 中可以看到

我们需要勾选使用 C++的桌面开发 和 使用C++的Linux开发


在 单个组件中 SDK 、库和框架 下勾选 Windows 10 SDK 和 Windows 通用 C 运行时

在 编译器、生成工具和运行时 下勾选 用于 Windows 的 C++ CMake 工具

4 新建CMake项目

配置好环境后,我们打开Visual Studio,新建CMake项目

这里我们把项目名命名为OpenCVTest

点击创建,在选择启动项这里,选择OpenCVTest.exe,然后点击运行

可以看到这样一个命令行窗口,就表示运行成功了

5. 验证OpenCV配置

5.1 复制 opencv_world480d.dll

将D:\Developer\opencv4.8.0\opencv\build\x64\vc16\bin\opencv_world480d.dll复制到E:\WorkSpace\Demo\OpenCV\OpenCVTest\out\build\x64-debug\OpenCVTest目录下,即和OpenCVTest.exe同一目录下

opencv_world480d.dll : Debug版本

opencv_world480.dll : Release版本

5.2 配置CMakeList.txt

在项目内(和cpp同级)的CMakeLists.txt中,添加OpenCV头文件的目录,替换\为/,具体代码如下

c 复制代码
# CMakeList.txt: OpenCVTest 的 CMake 项目,在此处包括源代码并定义项目特定的逻辑。

# 指定要引用的dll的头文件所在路径
include_directories("D:/Developer/opencv4.8.0/opencv/build/include")
# 指定该dll的lib所在路径
link_directories("D:/Developer/opencv4.8.0/opencv/build/x64/vc16/lib")

# 将源代码添加到此项目的可执行文件。
add_executable (OpenCVTest "OpenCVTest.cpp" "OpenCVTest.h")

# 指定链接库的名字,即dll
# 需要将opencv_world480d.dll复制到out\build\x64-Debug\OpenCVTest目录下,即和OpenCVTest.exe同一目录下
target_link_libraries(OpenCVTest opencv_world480d.lib)

if (CMAKE_VERSION VERSION_GREATER 3.12)
  set_property(TARGET OpenCVTest PROPERTY CXX_STANDARD 20)
endif()

5.3 编写cpp代码

将一张图片复制到D盘根目录,命名为ImageTest.jpg

然后在OpenCVTest.cpp中编写如下代码,将这张图片分别以原图和灰白图片的形式展示出来。

cpp 复制代码
#include "OpenCVTest.h"
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

int main()
{
	cout << "Hello CMake." << endl;
	Mat img = imread("D:/ImageTest.jpg");
	imshow("img", img); //显示原图
	cvtColor(img, img, COLOR_BGR2GRAY);
	imshow("img2", img); //显示灰色图片
	waitKey();
	return 0;
}

5.4 运行效果

点击运行,显示效果如下,两个弹框分别显示出了原图和灰白图片。

到此,Visual Studio的项目中的OpenCV就配置成功了。

相关推荐
ahccqw12 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
架构师伯子明1 天前
ffmpeg学习4:opencv在音视频领域常用指令
opencv·学习·ffmpeg
LongRunning3 天前
【Linux】RK3568-OpenCV+YOLO(八)
linux·opencv·yolo
会飞锦鲤5 天前
基于 SVM + HOG 的铸造缺陷检测系统
python·opencv·机器学习·计算机视觉·缺陷检测·图像分类·svm
码农小韩8 天前
FPGA学习(一)——LED点灯与开发流程
学习·fpga开发·入门·环境配置·仿真·点灯
行者-全栈开发8 天前
【鸿蒙心迹】三方库移植(二)——CMake 交叉编译与符号冲突排查实录(HarmonyOS 7.x)
harmonyos·cmake·交叉编译·三方库移植·ohos·符号冲突
小豆庄8 天前
本地视频打码:多模型检测、帧间追踪与18种模糊的选型
opencv·目标检测·ai·自然语言处理·音视频·视频
爱吃火鸡面呀9 天前
OpenCV 颜色识别实战:从 HSV 原理到摄像头实时检测
人工智能·opencv·计算机视觉
ahccqw9 天前
OpenCV 缩放 与 位移
人工智能·opencv·计算机视觉
AI的探索之旅10 天前
OpenCV Day40 —— K-means 聚类与 EM 高斯混合
opencv·kmeans·聚类