鉴于有朋友向我请教如何查看opencv的源码,于是写了个教程提供我个人所知道的方法去查看opencv的源码。
教程使用环境:windows10+VS2022+opencv4.7.0
平时在我们使用opencv库中的某些函数的的时候,会发现你无法看到这些函数的源码,因为opencv库已经把它封装成对应lib,进入到对应的源码文件时,只有对应的函数接口以及输入输出和使用说明,如下图所示,opencv中的findChessboardCorners函数的接口如下
而有时候我们会想说能否在查看opencv的源码后,根据自己的理解重写一个类似的函数用于自己的应用场景或者锻炼自己的代码水平。
具体方法如下:
如果还没下载opencv
在github中打开opencv的仓库(注:运气好的时候能直连,大部分时候需要挂梯子),链接如下:GitHub - opencv/opencv: Open Source Computer Vision Library
如下图所示,选中Release后,出现下面第二幅截图。windows用于选中其中的Source code(zip)即可,除windows外的系统如linux可选中Source code(tar.gz)
如果已下载opencv
我这里使用的是opencv4.7.0。
1.在OpenCV的安装文件夹中,找到D:\3rdparty\opencv470\sources文件夹,里边有一个modules文件夹,opencv中的功能在里面被分成多个子文件夹,每个子文件夹中的src目录下就存放了源码cpp文件,也包括hpp文件。
2. 正确的查看opencv源码的方式:在opencv/modules文件夹内,里边就是分模块子文件夹,每种模块的源码都可以在src文件夹中找到。使用电脑上对应的文本阅读工具打开即可。