如何查看opencv函数实现
2013-03-12 21:01
309 查看
对于刚接触opencv的新手来说,利用opencv库函数来实现了某些功能兴奋之余,对其库函数的具体实现更是好奇。仔细读懂opencv的库函数也对函数的用法和限制有了更深入的理解。
但在VS2010中,在opencv的函数上单击右键后,无论是点“转到定义”或“转到申明”结果都一样,只能跳转到函数对应的头文件中。
方法一:在opencv的安装文件夹中找到 与头文件名字对应的.C 或 .CPP 文件,然后在对函数进行查找。但不是所用函数都是这样的。例如cvSmooth函数,单击“转到定义”后,其跳转到imgproc_c.h中。通过找到imgproc.c或者imgproc.cpp都没有找到 cvSmooth函数。
方法二:在VS2010的“编辑”菜单下,点“查找与替换”,然后选“在文件中查找”。对于opencv的源代码,都放在 (安装目录).../opencv/modules 这个文件夹中。将此文件夹添加到查找目录点击查找即可在查找结果中找到函数的实现。
相比之下,方法二更加的简单,有效。
存在一个问题:调试代码时按F11无法进入OpenCV内部源码(比如cvLoadImage函数的实现)进行调试。把modules目录加入Source Directories无法解决问题,其实根本原因是运行时调用了OpenCV自带的dll文件(如opencv_core231d.dll等),要想进入OpenCV内部源码进行调试,必须用相应的编译器(比如VC2010)手动编译opencv源码,然后运行时调用编译出来的dll文件即可(在环境变量里时设置)。编译opencv源码请使用CMake,这个工具会生成所选择的编译器的项目文件,支持
Visual Studio 6/7/8/9/10/11以及Eclipse,CodeBlocks,Borland等编译器)。
但在VS2010中,在opencv的函数上单击右键后,无论是点“转到定义”或“转到申明”结果都一样,只能跳转到函数对应的头文件中。
方法一:在opencv的安装文件夹中找到 与头文件名字对应的.C 或 .CPP 文件,然后在对函数进行查找。但不是所用函数都是这样的。例如cvSmooth函数,单击“转到定义”后,其跳转到imgproc_c.h中。通过找到imgproc.c或者imgproc.cpp都没有找到 cvSmooth函数。
方法二:在VS2010的“编辑”菜单下,点“查找与替换”,然后选“在文件中查找”。对于opencv的源代码,都放在 (安装目录).../opencv/modules 这个文件夹中。将此文件夹添加到查找目录点击查找即可在查找结果中找到函数的实现。
相比之下,方法二更加的简单,有效。
存在一个问题:调试代码时按F11无法进入OpenCV内部源码(比如cvLoadImage函数的实现)进行调试。把modules目录加入Source Directories无法解决问题,其实根本原因是运行时调用了OpenCV自带的dll文件(如opencv_core231d.dll等),要想进入OpenCV内部源码进行调试,必须用相应的编译器(比如VC2010)手动编译opencv源码,然后运行时调用编译出来的dll文件即可(在环境变量里时设置)。编译opencv源码请使用CMake,这个工具会生成所选择的编译器的项目文件,支持
Visual Studio 6/7/8/9/10/11以及Eclipse,CodeBlocks,Borland等编译器)。
相关文章推荐
- 如何查看opencv函数实现
- 如何查看opencv函数实现
- 如何查看OpenCV中自带函数的源代码
- 如何查看opencv原函数内部实现
- 如何查看Opencv中自带内部函数的源代码
- 如何查看Opencv中函数的源代码--imread()的源代码
- 如何查看OpenCV函数的源代码
- opencv如何查看函数源代码?
- jquery each 函数里面如何实现break与continue?
- OpenCV中resize函数五种插值算法的实现过程
- 如何实现类的成员函数作为回调函数
- Opencv中如何实现图像截取
- uefi bios代码中如何找到函数的实现?
- opencv实现 Matlab 寻找峰值函数 findpeaks
- 如何查看 Common Lisp 的标准函数
- 从Domino公式@DBLookup Web化谈如何实现通用函数
- Linux如何查看so中函数名
- 如何在OpenCV2.3中实现CvvImage
- R如何查看各函数的源代码
- OpenCV代码提取:remap函数的实现