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 SDKWindows 通用 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就配置成功了。

相关推荐
jndingxin5 小时前
OpenCV CUDA模块设备层-----反向二值化阈值处理函数thresh_binary_inv_func()
人工智能·opencv·计算机视觉
jndingxin7 小时前
OpenCV CUDA模块设备层-----在 GPU 上执行类似于 std::copy 的操作函数warpCopy()
人工智能·opencv·计算机视觉
晓13137 小时前
OpenCV篇——项目(二)OCR文档扫描
人工智能·python·opencv·pycharm·ocr
jndingxin7 小时前
OpenCV CUDA模块设备层-----在GPU 上高效地执行两个 uint 类型值的最大值比较函数vmax2()
人工智能·opencv·计算机视觉
luofeiju13 小时前
RGB下的色彩变换:用线性代数解构色彩世界
图像处理·人工智能·opencv·线性代数
mahuifa10 天前
PySide环境配置及工具使用
python·qt·环境配置·开发经验·pyside
Echo``10 天前
12.OpenCV—基础入门
开发语言·c++·人工智能·qt·opencv·计算机视觉
jndingxin10 天前
OpenCV CUDA模块设备层-----线程块内初始化连续内存区域 的设备端工具函数blockYota()
人工智能·opencv·计算机视觉
AI technophile10 天前
OpenCV计算机视觉实战(12)——图像金字塔与特征缩放
人工智能·opencv·计算机视觉
无证驾驶梁嗖嗖10 天前
[特殊字符] OpenCV opencv_world 模块作用及编译实践完整指南
opencv