用Cmake build OpenCV后,在VS中查看OpenCV源码的方法
Part II
用Cmake build OpenCV后,在VS中查看OpenCV源码的方法(环境VS2022+openCV4.8.0) Part I_松下J27的博客-CSDN博客
在上一篇文章中,我用cmake成功的生成了opencv.sln,后面都不会再用cmake了,直接在VS中操作。
1,用VS打开OpenCV.sln,并编译该项目
1.1,打开后,确认当前的运行环境为Debug+x64模式,然后依次点击生成——>生成解决方案
实际上在你打开opencv.sln后不做任何选择的话,系统默认是在生成“ALL_BUILD”的解决方案。
耐心等待VS编译,编程成功后系统会有提示。
编译成功后,在opencv480_build里的lib和bin这两个文件夹中会分别新增出两个“Debug”文件夹。
1.2 ALL_BUILD生成好以后,再生成下面的INSTALL,鼠标右键单击INSTALL选择生成。
编译成功后会在我们自己创建的 “opencv480_build”文件夹中,新增一个文件夹“install”。
这一步的目的是把我们未来调用opencv库时所需要的所有文件都一并放到这个文件夹中,方便将来使用。
1.3, 把前面的1.1和1.2再来一遍,之前我们都是debug+x64模式下生成的,这一步改成release+x64模式。
1.3.1此处选择Release
1.3.2 此处选择Release选择生成——>生成解决方案。
1.3.3 用同样的方式再次生成“INSTALL”。
这一步也完成后,在我们自创的opencv480_build中的lib和bin文件中,会新增出两个“Release”文件夹。
release和debug模式下所生成的文件都是同名文件,唯一的区别就是在debug模式下所生成的文件的文件名会多个d以示区别。
8,查看Opencv源码
前面的编译全都完成了,这个时候,我们就可以在VS中查看openCV的源码了。(只是到目前为止我都还没有介绍如何在自己的项目中调用Opencv库,这个后面会讲)
举个例子,在我们的打开的opencv.sln中,搜索(记得在“整个解决方案”中搜)我们想查看源码的函数名,比如说imread。
只要能找到任何一处的引用,按住control然后单击鼠标左键,不断的往底层查看,就能看到imread这个函数的源代码了。
这是上图函数的下一层,同时我们看到他被保存在“imgcodecs.hpp”中。
再下一层,我们找到了imread的具体实现函数,他在loadsave.cpp中。同时,我们还看到了imread所调用的底层子函数也是核心函数imread_()。
继续跟进到“imread_()”函数中,我们就能看到opencv的imread函数究竟是如何实现的了。
小结:opencv作为Intel公司的开源代码,编码风格非常专业,而且里面实现的底层算法也非常的易读,同时还配有opencv的官方说明文档,是学习用C语言实现的各种图像算法的绝佳资料。无奈,鄙人最近才开始接触,之前一直成迷于matlab,感觉错过了一个世纪。
问了周围的一些同事,有些人在上大学的时候就已经开始学习opencv了。。。哎。后面的文章我接着介绍如在自己的库中调用OpenCV的库,并同样能够在debug的时候,查看opencv的底层代码。
(全文完)
作者 --- 松下J27
参考文献(鸣谢):
1,Download | CMake
2,OpenCV - Open Computer Vision Library
版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27