用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part II

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法

Part II

如何下载和安装openCV和Cmake可以看这篇文章。

用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_松下J27的博客-CSDN博客

下面我们要详细介绍的是如何在自己的项目中调用可查看底层源码的OpenCV库。


1,在解压缩后的opencv目录下,新建一个文件夹"opencv_build"

2,打开cmake,分别选择对应的源目录和保存cmake build结果的目录。

3,单机configure,选择对应的VS版本和x64平台。

单击Finish后,等待camke自己去配置。

4,配置完成。

所有配置过程中出现的错误都会保存在一个"CMakeDownloadLog"的文件中。

5,消除configure中遇到的问题

打开这个log,我们一个个的解决。

5.1,ippicv_2021.8_win_intel64_20230330_general.zip

先看第一个(看不清的点击图像放大看),复制他给的这个网址,然后下载下来一个叫"ippicv_2021.8_win_intel64_20230330_general.zip"的文件。

把这个文件放在.cache文件夹下。

然后再把这个文件改成他说的这个"71e4f......"文件名后,并放在相应目录下。

替换掉原来的同名文件

然后在重新点击configure,并查看最新生成的log。

这时,系统提示mach上了,说明第一个问题解决了。

5.2,log显示缺少这个文件"v0.1.2a.zip"

同样,去log中提供的网址下载,更名后放到他指定的目录下。

然后重新执行configure,并查看新的log,发现第二个问题也修复了。

5.3 找不到opencv_videoio_ffmpeg.dll

根据系统提供的网址下载下来后,更名,覆盖.cache\ffmpeg中的旧文件。

并把未改名的源文件放到.cache的目录下。

5.4 opencv_videoio_ffmpeg_64.dll

操作同上

成功,就剩最后一个了

5.5 ffmpeg_version.cmake

这个文件的下载跟前面的几个都不一样,在网页空白处点击鼠标右键,选择另存为。

把下载后的文件,重命名为这个文件名,并保存到指定的目录中。

同样,更换文件名,并放在这个目录下。

单击configure,log显示全部通过了。

6,单击generate。

generate成功后,在之前创建的"opencv_build"文件夹中会出现一个叫"OpenCV.sln"的文件。

7,打开OpenCV.sln,并用VS编译该项目

7.1,打开后,确认当前的运行环境为Debug+x64模式,然后依次点击生成------>生成解决方案

实际上如果你不做任何选择的话,系统默认是在生成"ALL_BUILD"的解决方案。

耐心等待VS编译,编程成功后系统会有提示。

编译成功后,这时你的lib和bin文件中应该新增出两个"Debug"文件夹。

7.2 鼠标右键单击INSTALL选择生成。

编译成功后会在我们自己创建的 "opencv_build"文件夹中,新增一个文件夹"install"。

这一步的目的是把我们未来调用opencv库时所需要的所有文件都放到这个文件夹中,方便将来用的时候好找。

7.3, 把前面的两步7.1和7.2再来一遍,之前我们都是debug+x64模式下生成的,从这里开始改成release+x64模式。

7.3.1此处选择Release

7.3.2 此处选择Release选择生成------>生成解决方案。

7.3.3 用同样的方式再次生成"INSTALL"。

这一步也完成后,我们自创的opencv480_build中的lib和bin文件中也新增出两个"Release"文件夹。

release和debug模式下所生成的文件都是相同的,唯一的区别就是在debug模式下所生成的文件的文件名会多个d。

8,在自己的工程中调用opencv库,且能够查看源代码

相关推荐
这张生成的图像能检测吗21 分钟前
(论文速读)LCT:用于RGB-D突出物体检测的轻型跨模态变压器
图像处理·目标检测·计算机视觉·深度估计·轻量化模型·跨模态融合·rgb-d
啊阿狸不会拉杆1 小时前
《数字图像处理》第7章:小波变换和其他图像变换
图像处理·人工智能·python·算法·机器学习·计算机视觉·数字图像处理
骄傲的心别枯萎1 小时前
RV1126 NO.57:ROCKX+RV1126人脸识别推流项目之读取人脸图片并把特征值保存到sqlite3数据库
数据库·opencv·计算机视觉·sqlite·音视频·rv1126
ASS-ASH2 小时前
机器人灵巧手:技术演进、市场格局与未来前景
人工智能·深度学习·神经网络·机器学习·计算机视觉·机器人·灵巧手
gloomyfish3 小时前
【最新技术】多模态零样本工业缺陷检测概述
人工智能·算法·计算机视觉
Das13 小时前
【计算机视觉】01_滤波器
人工智能·计算机视觉
Mr_WangAndy3 小时前
cmake_第二章 CMake基础语法_cmake列表命令list(),字符串string()和aux_source_directory()
cmake·cmake列表list·cmake字符串string·源文件查找
roman_日积跬步-终至千里4 小时前
【计算机视觉(17)】语义理解-训练神经网络2_优化器_正则化_超参数
人工智能·神经网络·计算机视觉
roman_日积跬步-终至千里4 小时前
【计算机视觉(18)】语义理解-CNN架构概览_VGG_Inception_ResNet
计算机视觉·架构·cnn
Mr_WangAndy4 小时前
cmake_第二章 CMake基础语法_set(),缓存变量set(CACHE)
cmake·cmake普通变量·cmake缓存变量